Dropbear — авторизация по ключам (на примере Asus wl-500gp-v1)
Основная причина по которой я решил настроить доступ к консоли ssh сервера dropbear - это постоянный брут моего сервера
(боты не дают покоя). Как только в логах прочно закрепился один IP из германии, который тщетно пытался подобрать пароль
к моему роутеру в течении двух суток, терпению пришел конец и я решил выделить время и прекратить этот беспредел.
На ум пришло два выхода:
1. Хитро настроить Iptables, с безжалостным баном всех надоедливых «китайцев».
2. Доступ по ключам. Я выбрал второе — удобство купе с безопасностью.
Итак начнем. Нам понадобится роутер Asus wl 500gp с альтернативной прошивкой на борту (я использую прошивку «Олега»), сам dropbear,
клиент putty, утилита для генерации ключей Puttygen, клиент winscp, пожалуй все, да и забыл — прямые руки и холодный рассудок
Подключаемся через Putty и создаем каталог с файлом публичного ключа для авторизации.
Code:
# mkdir /tmp/local/root/.ssh
# touch /tmp/local/root/.ssh/authorized_keys
# mcedit /tmp/local/root/.ssh/authorized_keys
С помощью Puttygen генерируем публичный и приватный ключи, публичный с помощью copy-paste вставляем
в файл авторизованных ключей authorized_keys. Применяем настройки и перезагружаем роутер.
Code:
# flashfs save && flashfs commit && flashfs enable && reboot
Теперь пробуем залогиниться с помощью приватного ключа. Настройки производим в клиенте Putty.
-Session:
Открывем Putty, во вкладке sessions указываем адрес сервера — IP или DNS имя.
-Connection → Data:
В поле «Login details» «Auto-login username» указываем наш логин под которым мы будем соединятся (admin,root, etc)
-Connection → SSH → Auth
Открываем файл с нашим приватным ключом для авторизации.
-Session
Вписываем имя нашей сессии и сохраняем (save).
Пробуем соединиться, если все прошло успешно, вводим парольную фразу, если указывали при генерации
приватного ключа (рекомендую задать) либо автоматически подключаемся, если парольную фразу не задавали.
Теперь нужно изменить права доступа к файлу с публичным ключом и запретить
серверу dropbear принимать соединения по логину и паролю.
Code:
# mcedit /usr/local/sbin/post-boot
Задаем параметр -s для отключения регистрации по логину и паролю:
Изменяем права к файлу и папке:
Code:
# chmod 0700 /tmp/local/root/.ssh
# chmod 0600 /tmp/local/root/.ssh/authorized_keys
Применяем настройки и перезагружаемся:
Code:
# flashfs save && flashfs commit && flashfs enable && reboot
http://bruteforcer.ru/index.php/2009...s-wl-500gp-v1/