Конфигурации.
Все программное обеспечение, описанное в книге, имеет определенный каталог и подкаталог в архиве “floppy.tgz”, включающей все конфигурационные файлы для всех программ. Если вы скачаете этот файл, то вам не нужно будет вручную воспроизводить файлы из книги, чтобы создать свои файлы конфигурации. Скопируйте файл из архива и измените его под свои требования. Затем поместите его в соответствующее место на сервере, так как это показано ниже. Файл с конфигурациями вы можете скачать с адреса:
Для запуска OpenSSH клиента/сервера следующие файлы должны быть созданы или скопированы в нужный каталог:
Копируйте ssh_config в каталог “/etc/ssh/”.
Копируйте sshd_config в каталог “/etc/ssh/”.
Копируйте sshd в каталог “/etc/pam.d/”.
Вы можете взять эти файлы из нашего архива floppy.tgz.
Настройка файла “/etc/ssh/ssh_config”.
Файл “/etc/ssh/ssh_config” это конфигурационный файл для OpenSSH, действующий в масштабах системы, который определяет опции изменяющие действия клиентских программ. Он содержит пары ключ-значение, одну на строку, не зависящие от регистра. Здесь описаны наиболее важные ключи влияющие на безопасность; полный список вы можете найти на стрнице руководства (man) для ssh (1).
Редактируйте файл ssh_config (vi /etc/ssh/ssh_config) и добавьте/или измените следующие параметры:
# Site-wide defaults for various options Host * ForwardAgent no ForwardX11 no RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes FallBackToRsh no UseRsh no BatchMode no CheckHostIP yes StrictHostKeyChecking no IdentityFile ~/.ssh/identity Port 22 Cipher blowfish EscapeChar ~
Host *
Опция “Host” ограничивает влияние всех нижестоящих объявлений и опций только на компьютеры соответствующих шаблону приведенному после ключевого слова. “*” подразумевает все компьютеры. При помощи этой опции вы сможете в одном файле определить параметры для разных удаленных машин.
ForwardAgent no
Опция “StrictHostKeyChecking” определяет будет или нет ssh автоматически добавлять новые ключи компьютера в файл $HOME/.ssh/known_host. Эта опция, когда установлена в “yes”, предоставляет максимальную защиту от атак Trojan horse. С этой опцией должна быть проведена одна процедура. Вначале она устанавливается в “no”, чтобы ключи с обычно используемых компьютеров были собраны в файле, а затем нужно установить ее в “yes”, чтобы воспользоваться ее дополнительными возможностями.
IdentityFile ~/.ssh/identity
Опция “IdentityFile” определяет альтернативный идентичный файл RSA идентификации для чтения. Много идентичных файлов может быть определено с помощью этой опции.
Port 22
Опция “Port” опередляет какой порт используется для ssh соединений на удаленном компьютере. По умолчанию он равен 22.
Cipher blowfish
Опция “Cipher” определяет какой шифр должен быть использован для шифрования сессии. blowfish использует 64-битные блоки и ключи до 448 бит.
EscapeChar ~
Опция “EscapeChar” определяет сессионный знак перехода в приостановленное состояние.
Настройка файла “/etc/ssh/sshd_config”.
Файл “/etc/ssh/sshd_config” - это конфигурационный файл для OpenSSH, действующий в масштабах системы, который определяет опции изменяющие действия демона. Он содержит пары ключ-значение, одну на строку, не зависящие от регистра. Здесь описаны наиболее важные ключи влияющие на безопасность sshd; полный список вы можете найти на странице руководства к sshd (8).
Редактируйте файл sshd_config (vi /etc/ssh/sshd_config) и добавьте/или измените следующие параметры: # This is ssh server systemwide configuration file. Port 22 ListenAddress 192.168.1.1 HostKey /etc/ssh/ssh_host_key ServerKeyBits 1024 LoginGraceTime 600 KeyRegenerationInterval 3600 PermitRootLogin no IgnoreRhosts yes IgnoreUserKnownHosts yes StrictModes yes X11Forwarding no PrintMotd yes SyslogFacility AUTH LogLevel INFO RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes PermitEmptyPasswords no AllowUsers admin
Port 22
Опция “Port” определяет какой порт слушает ssh демон для входящих соединений. По умолчанию - 22.
ListenAddress 192.168.1.1
Опция “ListenAddress” определяет IP адрес интерфейса к которому подключен сокет ssh демона. По умолчанию это “0.0.0.0”; для улучшения безопасности вы можете ограничиться только одним адресом.
HostKey /etc/ssh/ssh_host_key
Опция “HostKey” определяет место содержащее приватный ключ сервера.
ServerKeyBits 1024
Опция “ServerKeyBits” определяет как много бит используется в ключе сервера. Эти биты используются когда демон стартует для генерации RSA ключа.
LoginGraceTime 600
Опция “LoginGraceTime” определяет как долго в секундах после соединения сервер ждет правильной регистрации до его разрыва.
KeyRegenerationInterval 3600
Опция “KeyRegenerationInterval” определяет как долго в секундах сервер должен ждать перед автоматической регенерацией своего ключа. Эта опция защиты предназначена для предотвращения расшифровки захваченного сеанса связи.
PermitRootLogin no
Опция “PermitRootLogin” определяет может ли root подключаться, используя ssh. Никогда не говорите “yes” в этой опции.
IgnoreRhosts yes
Опция “IgnoreRhosts” определяет должны ли файлы rhosts или shosts использоваться при аутентификации. Из соображений безопасности рекомендуется не использовать эти файлы.
IgnoreUserKnownHosts yes
Опция “IgnoreUserKnownHosts” определяет должен ли ssh демон игнорировать пользователей “$HOME/.ssh/known_hosts” во время RhostsRSAAuthentication.
StrictModes yes
Опция “StrictModes” определяет должен ли ssh проверять права пользователей в их домашних каталогах и файлы rhosts перед тем, как пустить на сервер. Эта опция должна всегда быть установлена в “yes”, потому что иногда пользователи могут случайно оставить свои каталоги и файлы открытыми всем для записи.
X11Forwarding no
Опция “X11Forwarding” определяет должен ли сервер перенаправлять X11 пакеты или нет. Так как мы установили сервер без GUI, то эту опцию устанавливаем в no.
PrintMotd yes
Опция “PrintMotd” определяет должен ли ssh демон печатать содержимое файла “/etc/motd”, когда пользователь входит на сервер. Файл “/etc/motd” также известен как “сообщение дня”.
SyslogFacility AUTH
Опция “SyslogFacility” определяет с какого средства (facility) поступают сообщения в syslog от sshd. facility представляет подсистему, которая создает сообщение, в нашем случае AUTH.
LogLevel INFO
Опция “LogLevel” определяет уровень важности сообщения поступающего системе syslog от sshd. INFO – хороший выбор. Смотрите страницу man для sshd для получения большей информации о других возможностях.
RhostsAuthentication no
Опция “RhostsAuthentication” определяет может ли sshd использовать rhosts аутентификацию. Так как rhosts аутентификация небезопасна, то мы не используем эту опцию.
RhostsRSAAuthentication no
Опция “RhostsRSAAuthentication” определяет можно ли использовать rhosts аутентификацию вместе с RSA аутентификацией.
RSAAuthentication yes
Опция “RSAAuthentication” определяет можно ли использовать RSA аутентификацию. Эта опция должна быть установлена в “yes” для лучшей безопасности. RSA использует пару из общедоступного и личного ключей, созданных с помощью утилиты ssh-keygen1.
PasswordAuthentication yes
Опция “PasswordAuthentication” определяет можно ли использовать аутентификацию по паролю. Для лучшей защищенности эта опция должна быть установлена в “yes”.
PermitEmptyPasswords no
Опция “PermitEmptyPasswords” определяет позволяет ли сервер входить на сервер с бюджетов с пустыми паролями. Если вы используете утилиту “scp” для автоматического создания резервных копий через сеть, то нужно установить эту опцию в “yes”.
AllowUsers admin
Опция “AllowUsers” определяет и контролирует какие пользователи могут использовать ssh сервис. Для разделения нескольких имен используйте пробелы.