google
Окт 29 2008

Запрещаем использование 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)

  • By Казанская группа пользователей Linux, 29 Октябрь 2008 @ 18:27

    Как же злоумышленник может перехватить пароль root, если процесс соединения зашифрован тем же самым SSH?!! ;)))))
    да и не припомню я относительно свежих дистрибутивов Linux, в которых по умолчанию разрешен логин root в SSH.

  • By vkontakte.ru admin, 30 Октябрь 2008 @ 23:35

    Смотрите, ошибка в том, что можно логиниться по SSH под root’ом или нет не зависит от дистрибутива, это зависит от установленного вами пакета SSH-server, когда я ставил свой openssh-server у меня по дефолту было разрешено.
    Ну а на счет зашифрованного соединения вы абсолютно правы, я лично работаю еще и через OpenVPN, и с фаирволом, это так для пущей безопасности)))

  • By Will, 14 Апрель 2010 @ 23:56

    Еще лучше можно защититься, применив sshguard. А также есть способ авторизации только по ключу.

  • By vkontakte.ru admin, 15 Апрель 2010 @ 9:34

    SSHguard не спорю, метод аутентификации по ключу описан тут http://www.linuxspace.org/archives/2078

Other Links to this Post

RSS-лента комментариев к этой записи. TrackBack URI

Оставить комментарий

CAPTCHA image