Запрещаем использование root в SSH
Сегодня, сидя на работе, я забрел через SSH на один удаленный сервер, проблема в том, что при вводе рутового пароля он отказался пускать меня. В старые времена такое положение вещей меня бы озадачило, но тут я сразу смекнул в чем дело, root’y доступ на сервер просто запрещен. Мне такая штука очень понравилась, и так как часто с рабочего компьютера захожу на свой ноутбук по SSH я решил примутить такую же и у себя, для пущей безопасности. Зайдя на сервер я немного поковырялся в конфигах SSH и нашел то что искал.
Для чего необходимо закрывать доступ root’y? Ответ довольно простой, кто нибудь может перехватить или украсть пароль, после чего получить права суперпользователя на сервере где у вас крутиться Web-шоп, правда неприятно?
Так вот, чтобы решить эту проблему необходимо отредактировать файл файл sshd_config, который является основным конфигурационным файлом для службы sshd. В разных системах он может находиться по разному, но зачастую это /etc/ssh/
Напомню, чтобы иметь возможность присоединяться по SSH к компьютеру, нужно установить пакет OpenSSH-server как один из вариантов:
#sudo apt-get install openssh-server
Открываем конфиг любым текстовым редактором:
#gedit /etc/ssh/sshd_config/
Найдите в нем секцию, содержащую строку «PermitRootLogin»
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
Отредактируйте строку как показано ниже для отключения возможности подключаться через ssh рутом, изменив «yes» на «no».
PermitRootLogin no
После этого перезапустите sshd:
#/etc/init.d/sshd restart
Теперь вы в безопасности.
Немного о свойствах файла sshd_config и простейших параметрах которые стоит сразу изменить.
Port 22 – номер порта можно и поменять, в особенности если SSH пользуетесь вы один, а не целая группа админов. Именно 22-ой порт стоит первый в списке для сканирования и атак.
PermitRootLogin no – об этой строчке собственно и вся статья. Повторяться не стоит.
AllowUsers sasha – этого параметра нет в sshd_config, допишите его обязательно.
sasha – имя вашего юзера с ограниченными правами.
К имени sasha можно прикрутить IP-адрес – sasha@192.168.1.132 – если на клиентской машине именно этот статический IP. Такой параметр разрешит логинится только пользователю sasha и только при условии, что его хост совпадает с заданным в файле.
PermitEmptyPasswords no – Запрет на установку пустого пароля.
И напоследок, всем кто часто юзает SSH советую детально изучить тему безопасности, прочитать маны, дабы предостеречь себя от несчастных случаев…
Viewed 2763 times by 1120 viewers
Комментарии (4)
Other Links to this Post
RSS-лента комментариев к этой записи. TrackBack URI



By Казанская группа пользователей Linux, 29 Октябрь 2008 @ 18:27
Как же злоумышленник может перехватить пароль root, если процесс соединения зашифрован тем же самым SSH?!! ;)))))
да и не припомню я относительно свежих дистрибутивов Linux, в которых по умолчанию разрешен логин root в SSH.
By
admin, 30 Октябрь 2008 @ 23:35
Смотрите, ошибка в том, что можно логиниться по SSH под root’ом или нет не зависит от дистрибутива, это зависит от установленного вами пакета SSH-server, когда я ставил свой openssh-server у меня по дефолту было разрешено.
Ну а на счет зашифрованного соединения вы абсолютно правы, я лично работаю еще и через OpenVPN, и с фаирволом, это так для пущей безопасности)))
By Will, 14 Апрель 2010 @ 23:56
Еще лучше можно защититься, применив sshguard. А также есть способ авторизации только по ключу.
By
admin, 15 Апрель 2010 @ 9:34
SSHguard не спорю, метод аутентификации по ключу описан тут http://www.linuxspace.org/archives/2078