Существует две версии протокола – SSH1 и SSH2. По своей реализации – совершенно разные протоколы. Протокол SSH2 был разработан с учетом найденных в первом варианте уязвимостей.
OpenSSH
Некоммерческая реализация протокола SSH с открытым кодом. Программный пакет способен работать с протоколами SSH1 и SSH2. Имеется также поддержка r-команд.
Для дистрибутива Red Hat установка пакета OpenSSH включена в стандартную инсталляцию и никаких проблем не вызывает.
Конфигурирование OpenSSH
Конфигурирование OpenSSH очень сильно зависит от вашей концепции обеспечения безопасности и необходимости поддержки старого типа протокола. Поскольку использование протокола SSH1 из-за найденных уязвимостей не рекомендуется – при конфигурировании необходимо запретить его использование. Также рекомендуется запретить использование r-команд и всего, что с ними связано. При конфигурировании OpenSSH необходимо произвести настройку сервера и клиента. Конфигурационный файл сервера называется sshd_config, а клиента – ssh_config.
Файл sshd_config
Файл sshd_config задает параметры SSH-серверу и может содержать внушительный список различных параметров. Ниже приведены его основные конфигурационные параметры:
• AllowGroups список-имен-групп-через-пробел – вход разрешен только пользователям, чья группа входит в этот список;
• AllowTcpForwarding yes/no – разрешает или запрещает TCP Forwarding:
• AllowUsers список-имен-через-пробел – вход разрешен только перечисленным пользователям;
• AuthorizedKeysFile имя-файла-с-публичным ключом – задает имя файла, содержащее публичный ключ;
• Banner сообщение-перед-аутентификацией – текст сообщения, выводимого сервером перед аутентификацией клиента;
• ciphers – список алгоритмов симметричного шифрования для SSH2: aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour;
• clientAllveinterval секунд – определяет интервал в секундах, через который сервер будет производить проверку, произошло или нет отключение клиента;
• GiientAllveCountMax число – данный параметр определяет число неудачных проверок существования связи с пользователем до разрыва сессии;
• DenyGroups список-имен-групп-через-пробел – определяет список групп пользователей, которым запрещено устанавливать соединение с сервером;
• DenyUsers список-имен-через-пробел – определяет список пользователей, которым запрещено устанавливать соединение с сервером;
• GatewayPorts no/yes – данный параметр определяет, разрешать или нет удаленным хостам доступ к перенаправленным портам;
• HostbasedAuthentication no/yes – разрешить или запретить аутентификацию, используя имя хоста (только для SSH2);
• HostKey имя-файла-содержащего-приватный-ключ – с помощью данного параметра можно указать серверу, где расположен файл, содержащий секретный ключ шифрования;
• IgnoreRhosts yes/no – этот параметр позволяет определить, использовать или нет файлы. rhosts и. shosts для аутентификации. Для увеличения безопасности системы рекомендуется запретить использование этих файлов;
• IgnoreUserKnownHosts no/yes – параметр позволяет запретить использование файла ~/.ssh/known_hosts во время аутентификации rhosts+RSA;
• KeepAllve yes/по – параметр позволяет использовать механизм регулярных сообщений для проверки разрыва связи;
• KerberosAuthentication yes/no – параметр позволяет запретить использование kerberos при аутентификации;
• KerberosOrLocaiPasswd yes/no – в том случае, если аутентификация через kerberos не прошла, данный параметр позволяет использовать /etc/passwd для аутентификации;
• KeyRegenerationintervai 3600 – параметр задает интервал регенерации ключа сервера;
• ListenAddress о.о.о. о – параметр определяет, к каким адресам прислушиваться; при использовании необходимо также определить параметр Port;
• LoginGraceTime секунд – данный параметр определяет, через сколько секунд произойдет разрыв соединения, если при аутентификации пользователь за это время не введет пароль;
• LogLevel info – параметр определяет, какой уровень использовать при создании сообщений в журнал системы. Можно использовать следующие уровни – quiet, fatal, error, info, verbose, debug;
• MACs алгоритмы-проверки-целостности-данных – этот параметр определяет, какой алгоритм будет использоваться для проверки целостности данных – hmac-md5, hmac-shal, hmac-ripemdl60, hmac-shal-96, hmac-md5-96;
• MaxStartups 10 – данный параметр задает максимально возможное количество соединений, ожидающих аутентификации;
• PasswordAuthentication yes/no – параметр разрешает аутентификацию по паролю;
Читать дальше
Конец ознакомительного отрывка
Купить книгу