Безопасность и оптимизация Linux.Редакция для Red Hat

       

Конфигурации.


Все программное обеспечение, описанное в книге, имеет определенный каталог и подкаталог в архиве “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 сервис. Для разделения нескольких имен используйте пробелы.


Содержание раздела