Библиотека сайта rus-linux.net
Beyond Linux From Scratch. Version 2011-12-30 | ||
Назад | 4. Безопасность | Вперед |
Пакет OpenSSH-5.9p1
Знакомимся с пакетом OpenSSH
В пакете OpenSSH находятся клиентские программы ssh и демон sshd. Используются для аутентификации и последующей передачи по сети шифрованного трафика.
Известно, что пакет правильно собирается и работает на платформе LFS-7.0.
Информация о пакете
- Загрузка (HTTP): http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
- Загрузка (FTP): ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
- Контрольная сумма MD5: afe17eee7e98d3b8550cc349834a85d0
- Размер загружаемого пакета: 1,1 MB
- Оценочный размер требуемого дискового пространства: 44 MB
- Оценочное время сборки: 0,5 SBU (дополнительно 3,5 SBU для запуска тестового набора)
Зависимости пакета OpenSSH
Обязательные
Необязательные
Linux-PAM-1.1.5, TCP Wrapper-7.6, X Window System, MIT Kerberos V5-1.6 или Heimdal-1.4, libedit (предоставляет для sftp средство работы с историей использования команд), OpenSC и libsectok
Необязательные времени исполнения
IcedTea6-1.9.7 или JDK-6 Update 18, Net-tools-1.60 и Sysstat-10.0.2.
Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH
Установка пакета OpenSSH
Когда происходит подключение к другим компьютерам, OpenSSH запускает два процесса. Первый процесс является привилегированным и управляет выдачей прав доступа по мере возникновения в них необходимости. Второй процесс взаимодействует с сетью. Для того, чтобы иметь правильно настроенную среду, необходима дополнительная настройка, которую можно выполнить в роли пользователя root
с помощью следующих команд:
install -v -m700 -d /var/lib/sshd && chown -v root:sys /var/lib/sshd && groupadd -g 50 sshd && useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \ -s /bin/false -u 50 sshd
Пакет OpenSSH очень чувствителен к изменениям в прикомпонованных библиотеках OpenSSL. После повторной компиляции пакет OpenSSH может не запуститься. В качестве альтернативы используйте ссылку на статическую библиотеку OpenSSL. Чтобы сделать ссылку на статическую библиотеку, выполните следующую команду:
sed -i 's@-lcrypto@/usr/lib/libcrypto.a -ldl@' configure
Установите пакет OpenSSH с помощью следующих команд:
sed -i.bak 's/ -ldes//' configure && ./configure --prefix=/usr \ --sysconfdir=/etc/ssh \ --datadir=/usr/share/sshd \ --libexecdir=/usr/lib/openssh \ --with-md5-passwords \ --with-privsep-path=/var/lib/sshd && make
Если вы скомпоновали tcp_wrappers с использованием параметра --with-tcp-wrappers
и если у вас есть файл с ограничениями /etc/hosts.deny
, то убедитесь, что вы в строку sshd файла /etc/hosts.allow
добавили адрес 127.0.0.1. В противном случае набор тестов не пройдет. Кроме того, тестовый набор требует установить копию scp для того, чтобы можно было завершить выполнение тестов, использующих мультиплексирование. Чтобы запустить набор тестов, сначала в директорий /usr/bin
скопируйте программу scp, предварительно убедившись, что вы перед этим сделали резервные копии всех имеющихся там файлов.
Чтобы запустить тестовый набор, выполните следующие команды:
make tests 2>&1 | tee check.log grep FATAL check.log
Если указанная выше команда не выдаст фатальной ошибки ("FATAL"), то в роли пользователя root
приступите к установке:
make install && install -v -m755 -d /usr/share/doc/openssh-5.6p1 && install -v -m644 INSTALL LICENCE OVERVIEW README* WARNING.RNG \ /usr/share/doc/openssh-5.6p1
Пояснение команд
sed -i.bak 's/ -ldes//' configure: Данная команда помогает справиться с невозможностью сборки пакета в случае, если вы используете параметр --with-kerberos5
и собираете пакет Heimdal в соответствие с инструкциями. Во всех других случаях команда влияния не оказывает.
--sysconfdir=/etc/ssh
: Этот параметр предотвращает установку конфигурационных файлов в директорий /usr/etc.
--datadir=/usr/share/sshd
: Этот переключатель указывает поместить файл Ssh.bin (используется для аутентификации смарт-карт) в директорий /usr/share/sshd
.
--with-md5-passwords
: Этот параметр необходим в случае, если в LFS для теневых паролей Shadow использовалось конфигурация, предлагаемая по умолчанию.
--libexecdir=/usr/lib/openssh
: Этот параметр изменяет путь, используемых при установке некоторых программ, и указывает использовать /usr/lib/openssh
вместо /usr/libexec
.
--with-pam
: Этот параметр позволяется в сборку добавлять поддержку Linux-PAM.
--with-xauth=/usr/bin/xauth
: Указывает место, где по умолчанию должен находиться модуль xauth,
используемый для аутентификации в X. Измените этот параметр, если пакет xauth будет устанавлен в другом месте. Эту настройку можно также сделать в файле sshd_config
, использовав для этого ключевое слова XAuthLocation. Вы можете опустить этот параметр, если пакет Xorg уже установлен.
--with-kerberos5=/usr
: Этот параметр позволяется в сборку добавлять поддержку Heimdal.
Конфигурирование пакета OpenSSH
Конфигурационные файлы
~/.ssh/*
, /etc/ssh/ssh_config
и /etc/ssh/sshd_config
В эти файлы вносить изменения не нужно. Тем не менее, вы можете изучить файлы /etc/ssh/
и внести в них некоторые изменения, соответствующие требованиям безопасности вашей системы. Одним из рекомендуемых изменений является запрет пользователю root
входить в систему через ssh. Чтобы отключить возможность пользователя root
входить в систему через ssh, выполните в роли пользователя root
следующую команду:
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
Если вы добавили поддержку LinuxPAM, то вам нужно для sshd добавить конфигурационный файл и разрешить использование LinuxPAM. В роли пользователя root
выполните следующие команды:
sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd && chmod 644 /etc/pam.d/sshd && echo "USEPAM yes" >> /etc/ssh/sshd_config
Дополнительную информацию о конфигурировании можно найти на страницах man команд sshd, ssh и ssh-agent.
Загрузочный скрипт
Чтобы запускать сервер SSH во время загрузки системы, установите загрузочный скрипт /etc/rc.d/init.d/sshd
, который находится в пакете blfs-bootscripts-20111216.
make install-sshd
Описание пакета
Установленные программы: scp, sftp, sftp-server, slogin, ssh, sshd, ssh-add, ssh-agent, ssh-keygen, ssh-keyscan и ssh-keysign
Установленные библиотеки: Нет
Установленные директории: /etc/ssh, /var/lib/sshd, /usr/lib/openssh и /usr/share/doc/openssh-5.6p1
Краткое описание
scp | программа копирования файлов, который действует как программа rcp, за исключением лишь того, что она использует защищенный протокол |
sftp | является программой, похожей на FTP, которая работает поверх протоколов SSH1 и SSH2 |
sftp-server | является подсистемой сервера SFTP. Эта программа обычно не вызывается непосредственно пользователем |
slogin | символическая ссылка на ssh |
ssh | клиентская программа, похожая на rlogin/rsh, за исключением лишь того, что она использует защищенный протокол |
sshd | демон, который через ssh принимает запросы на вход в систему |
ssh-add | инструментальное средство, с помощью которого в ssh-agent добавляются ключи |
ssh-agent | является агентом аутентификации, которая может хранить закрытые ключи |
ssh-keygen | является инструментальным средством генерации ключей |
ssh-keyscan | утилита сбора открытых ключей с ряда хостов |
ssh-keysign | используется программой ssh для доступа к ключам локальных хостов и генерации цифровой подписи, необходимой для аутентификации по протоколу SSH версии 2 и при использовании отдельного хоста. Эта программа обычно не вызывается непосредственно пользователем |
Перевод сделан с варианта оригинала, датированного 2011-10-20 01:45:13 +0000
Предыдущий раздел: | Оглавление | Следующий раздел: |
Пакет NSS-3.13.1 | Пакет OpenSSL-1.0.0e |