Linux глазами хакера
Шрифт:
□
Protocol
— поддерживаемые протоколы. Обратите внимание, что первым идет число 2, а затем 1. Это значит, что сервер будет сначала пытаться подключиться по протоколу второй версии, и только потом по первому. Я рекомендую убрать комментарии с этой строки и удалить число 1, чтобы использовалась только последняя версия. Уже давно пора обновить клиентское программное обеспечение и перейти на более безопасные технологии. Зацикливание на старых программах приносит только убытки; □
ListenAddress
— определяет адреса для прослушивания подключения. У вашего сервера может быть несколько сетевых карт. По умолчанию идет прослушивание
адрес:порт
). Разрешается описывать несколько таких записей, чтобы указать требуемые интерфейсы; □
HostKey
— указывается путь к файлам, содержащим ключи шифрования. Нужно прописывать только закрытые ключи, которые использует сервер для расшифровки пакетов; □
KeyRegenerationInterval
— в версии 1 во время сессии могут регенерироваться ключи. Это позволяет сделать невозможным раскрытие пакетов за счет смены ключей, которые по умолчанию меняются каждые 3600 секунд. Если установить 0, то регенерации не будет. Так как мы отказались от 1 версии протокола (см. параметр protocol
), то этот атрибут не влияет на работу; □
ServerKeyBits
— длина серверного ключа. По умолчанию установлено 768, минимальное значение — 512; □
SyslogFacility
— задает тип сообщений, которые будут сохраняться в журнале; □
LogLevel
— уровень событий, которые будут попадать в журнал. Возможные уровни соответствуют системным, которые мы будем рассматривать в разд. 12.5; □
LoginGraceTime
— интервал времени, в течение которого пользователь должен ввести правильный пароль, иначе соединение будет разорвано; □
РеrmitRootLogin
— определяет, разрешено (yes
) или запрещено (no
) входить в систему по SSH-протоколу под пользователем root. Мы уже говорили, что root — это бог в системе, и его возможности нужно использовать аккуратно. Если в систему нельзя входить с такими правами, то и по SSH тем более. Срочно меняйте этот параметр на no
; □
StrictModes
— указывает, должен ли sshd проверять состояние файлов и их владельцев, пользовательских файлов и домашней директории до ввода пароля. Желательно установить yes
, потому что многие начинающие пользователи делают свои файлы все доступными для записи; □
RSAAuthentication
— разрешена ли аутентификация по алгоритму RSA. Параметр действует для 1 версии протокола; □
PubkeyAuthentication
— дозволена ли аутентификация по публичному ключу. Параметр действует для 2-й версии протокола; □
AuthorizedKeysFile
— файл с публичным ключом, который может использоваться для аутентификации; □
RhostsAuthentication
— разрешение аутентификации по файлам $HOME/.rhosts и /etc/hosts.equiv. По умолчанию стоит no
, и без особой надобности менять этот параметр не стоит, потому что это небезопасно; □
IgnoreRhosts
—
если параметр равен yes, то запрещается читать файлы ~/.rhosts и ~/.shosts. Без необходимости значение лучше не изменять, потому что это может повлиять на безопасность; □
AuthorizedKeysFile
— файл для хранения списка авторизованных ключей. Если пользователь входит в систему с имеющимся в этом файле ключом, то его пустят автоматически без ввода дополнительных паролей; □
RhostsRSAAuthentication
— если этот параметр yes
, то при аутентификации будет требоваться ключ хоста из директории /etc/ssh/ssh_known_hosts. Параметр используется в 1 версии SSH; □
IgnoreUserKnownHosts
— если параметр равен no, то необходимо доверять компьютерам из списка ~/.ssh/known_hosts при RhostsRSAAuthentication-аутентификации. Не верьте никому, поэтому параметр лучше всего изменить на yes
; □
PasswordAuthentication
— если значение равно yes
, то будет требоваться пароль. При использовании авторизации через ключи параметр можно отключить; □
PermitEmptyPasswords
— по умолчанию установлено no
, что запрещает использование пустых паролей, и изменять это значение не стоит; □
KerberosAuthentication
— использовать проверку подлинности по протоколу Kerberos. В последнее время именно эта аутентификация набирает большую популярность благодаря своей безопасности; □
KerberosOrLocalPasswd
— если пароль Kerberos не был принят, то включается проверка локального файла паролей из файла /etc/shadow; □
KerberosTicketCleanup
— очищать билет Kerberos из кэша при выходе из системы; □
Banner
— позволяет указать файл, в котором находится текст приветствия, отображаемый пользователями. 5.3.3. Параметры доступа к серверу sshd
Кроме приведенных в листинге 5.1 можно использовать следующие директивы:
□
AllowGroups
— позволить вход в систему только пользователям указанных групп (перечисляются через пробел в одной строке); □
AllowUsers
— разрешить вход в систему пользователям, имена которых перечислены через пробел; □
DenyGroups
— запретить вход в систему пользователям указанных через пробел групп; □
DenyUsers
— запретить вход в систему пользователям, имена которых перечислены через пробел. Этот параметр бывает удобен, когда дано разрешение на вход группе, но нужно отказать в подключении к SSH-серверу одному из ее пользователей. Я рекомендую вам явно прописать группы или имена пользователей, которые могут входить в систему по SSH.
5.3.4. Конфигурирование клиента SSH
Настройки SSH-клиента содержат еще меньше параметров. В файле /etc/ssh/ssh_config находятся глобальные настройки для всех пользователей в системе. Но вы можете для любого из них переопределить произвольный параметр в файле .ssh_config из директории пользователя. В листинге 5.2 приведено содержимое глобального файла настроек без некоторых комментариев.
Поделиться с друзьями: