Одной из самых больших проблем безопасности на вашем сервер будет являться то, что вы откроете root возможность непосредственно коннектиться через ssh. Любой может перехватить ваш root пароль и потенциально получить доступ к системе.
ораздо надежней иметь разные аккаунты для повседневного использования и просто использовать sudo когда это необходимо. Прежде чем мы начнем, убедитесь, что вы имеете отличный от root аккаунт и можете выполнять на нем su или sudo.
По умолчанию нам предлагается сидеть под root-ом, что не очень хорошо по соображениям безопасности.
1. создаем пользователя под которым будем работать(самый простой способ):
# adduser user
где user — имя пользователя
Далее мы увидим диалог что-то вроде:
Добавляется пользователь «user» ... Добавляется новая группа «user» (1001) ... Добавляется новый пользователь «user» (1001) в группу «user» ... Создаётся домашний каталог «/home/user» ... Копирование файлов из «/etc/skel» ... Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён Изменение информации о пользователе user Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя []: Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Данная информация корректна? [Y/n] Y
Пишем сложный пароль(который вы не забудете!) и заполняем данные которые считаем нужными, или просто нажимаем enter.
2. Разрешаем user выполнение sudo
Добавляем user в специальную группу sudo:
# usermod -a -G sudo user
где собственно user — имя пользователя.
Всё, можем выходить и логинится под user
$ ssh user@93.189.xx.xx -p 22
и в дальнейшем уже использовать sudo если нужны привилегии root-а
Немного обезопасим SSH
Практически сразу после запуска сервера заметил подозрительную активность в ану.. на порту 22. По всей видимости китайские порно-сканеры разнюхали и начали брутить пароли.
Самый простой выход — сменить порт ssh с 22 на любой другой.
1. Для этого откроем файл конфигурации ssh сервера:
$ sudo nano /etc/ssh/sshd_config
Ищем строку «Port 22» и заменяем её на «Port 354» где 354 любое число в пределах от 1 до 65535
На всякий случай посмотрим открытые порты:
netstat -tupln | grep LISTEN
и выберем любой не из этого списка.
Скажу сразу, порты 80, 443, 3306, 22, 21, 8080 — советую не использовать.
2. Дальше, ограничим тип адресов для подключения(IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем файл /etc/ssh/sshd_config:
AddressFamily inet
3. Запретим авторизацию под root, ищем в файле PermitRootLogin и выставляем no. Если данного параметра нет, дописываем:
PermitRootLogin no
4. Разрешаем подключение только по определенным логинам, дописываем файл /etc/ssh/sshd_config:
AllowUsers user
где список пользователей пишется через пробел.
5. Запрещаем попытку входа с пустым паролем. Ищем PermitEmptyPasswords и выставляем no
PermitEmptyPasswords no
6. Сохраняем и перезапускаем ssh демон:
$ sudo /etc/init.d/ssh restart
Для начала всё, можем перелогиниваться с новыми параметрами($ ssh user@93.189.xx.xx -p 354)
comments powered by HyperComments