Запрещаем использование root в SSH
Сегодня, сидя на работе, я забрел через SSH на один удаленный сервер, проблема в том, что при вводе рутового пароля он отказался пускать меня. В старые времена такое положение вещей меня бы озадачило, но тут я сразу смекнул в чем дело, root’y доступ на сервер просто запрещен. Мне такая штука очень понравилась, и так как часто с рабочего компьютера захожу на свой ноутбук по SSH я решил примутить такую же и у себя, для пущей безопасности. Зайдя на сервер я немного поковырялся в конфигах SSH и нашел то что искал.
Для чего необходимо закрывать доступ root’y? Ответ довольно простой, кто-нибудь может перехватить или украсть пароль, после чего получить права суперпользователя на сервере где у вас крутиться Web-шоп, правда неприятно?
Так вот, чтобы решить эту проблему необходимо отредактировать файл sshd_config , который является основным конфигурационным файлом для службы sshd . В разных системах он может находиться по разному, но зачастую это /etc/ssh/
Напомню, чтобы иметь возможность присоединяться по SSH к компьютеру, нужно установить пакет OpenSSH-server как один из вариантов:
#sudo apt-get install openssh-server
Открываем конфиг любым текстовым редактором:
Найдите в нем секцию, содержащую строку «PermitRootLogin»
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
Отредактируйте строку как показано ниже для отключения возможности подключаться через ssh рутом, изменив «yes» на «no».
После этого перезапустите sshd:
Немного о свойствах файла sshd_config и простейших параметрах которые стоит сразу изменить.
Port 22 — номер порта можно и поменять, в особенности если SSH пользуетесь вы один, а не целая группа админов. Именно 22-ой порт стоит первый в списке для сканирования и атак.
- PermitRootLogin no — об этой строчке собственно и вся статья. Повторяться не стоит.
- AllowUsers sasha — этого параметра нет в sshd_config, допишите его обязательно. sasha — имя вашего юзера с ограниченными правами.
- PermitEmptyPasswords no — Запрет на установку пустого пароля.
И напоследок, всем кто часто юзает SSH советую детально изучить тему безопасности, прочитать маны, дабы предостеречь себя от несчастных случаев…
Disable or Enable SSH Root Login and Limit SSH Access in Linux
Everyone knows that Linux systems come with root user access and by default, root access is enabled for the outside world.
For security reasons, it’s not a good idea to have ssh root access enabled for unauthorized users. Because any hacker can try to brute force your password and gain access to your system.
So, it’s better to have another account that you regularly use and then switch to the root user by using the ‘su –‘ command when necessary. Before we start, make sure you have a regular user account and with that, you su or sudo to gain root access.
In Linux, it’s very easy to create a separate account, log in as a root user and simply run the adduser command to create a separate user. Once the user is created, just follow the below steps to disable root login via SSH.
We use sshd master configuration file to disable root login and this will may decrease and prevent the hacker from gaining root access to your Linux box. We also see how to enable root access again as well as how to limit ssh access based on users’ list.
Disable SSH Root Login
To disable root login, open the main ssh configuration file /etc/ssh/sshd_config with your choice of editor.
Search for the following line in the file.
Remove the ‘#‘ from the beginning of the line. Make the line look similar to this.
Next, we need to restart the SSH daemon service.
# systemctl restart sshd OR # /etc/init.d/sshd restart
Now try to log in with the root user, you will get a “Permission denied” error.
$ ssh [email protected] [email protected]'s password: Permission denied, please try again.
So, from now onwards login as a normal user and then use the ‘su’ command to switch to root user.
$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:04:58 2021 from 192.168.0.161 $ su - Password: Last login: Mon Dec 27 15:05:07 IST 2021 on pts/1
Enable SSH Root Login
To enable ssh root logging, open the file /etc/ssh/sshd_config.
Search for the following line and remove the ‘#‘ at the beginning and save the file.
Restart the sshd service.
# systemctl restart sshd OR # /etc/init.d/sshd restart
Now try to log in with the root user.
$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161
Limit SSH User Logins
If you have a large number of user accounts on the systems, then it makes sense that we limit remote SSH access to those users who really need it. Open the /etc/ssh/sshd_config file.
Add an AllowUsers line at the bottom of the file with a space separated by a list of usernames. For example, user tecmint and sheena both have access to remote ssh.
AllowUsers tecmint sheena
Now restart ssh service.
Отключение или ограничение входа root’a в систему через SSH на Linux
Мануал
Разрешение входа рута в систему по SSH обычно считают плохой практикой безопасности.
Вместо этого вы можете выполнить задачи администрирования, осуществив вход по учетной записью пользователя и выполнять команды, используя sudo.
Отключить доступ root
Просмотрим содержание конфигурационного файла SSH, используя следующую команду:
В этом файле мы найдем следующую строчку:
Раскомментируем эту строчку с помощью любого текстового редактора и перезапустим сервис, чтобы изменения встпупили в силу:
Ограничим доступ root по IP-адресу
Как ранее упомянуто, хорошая практика безопасности не должна предоставлять доступ руту через SSH вообще.
Однако, если доступ root абсолютно необходим, мы можем ограничить его IP-адресом.
Чтобы ограничить корневой доступ к определенному IP-адресу добавляем следующую строку к sshd_config файлу(заменим xxx.xxx.xxx.xxx на IP-адрес).
AllowUsers root@xxx.xxx.xxx.xxx
Перезапустим службу SSH, чтобы изменения вступили в силу.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 305)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (819)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]
Является ли запуск сервера NFS в кластере Kubernetes хорошей идеей или это ворота для хакеров Одним из многочисленных преимуществ сетевой файловой системы является ее способность выполнять многократное чтение-запись. И как и все в наши дни, NFS – это просто еще одна служба, которую можно запустить в своем кластере Kubernetes. Однако является ли сервер NFS подходящей […]
Репозитории Git хранят ценный исходный код и используются для создания приложений, работающих с конфиденциальными данными. Если злоумышленнику удастся скомпрометировать учетную запись GitHub с уязвимым репозиторием, он сможет перенести вредоносные коммиты прямо на производство. Подписанные коммиты помогают избежать этого. Что такое подписанные коммиты? Подписанные коммиты подразумевают добавление цифровой подписи к вашим коммитам с использованием закрытого криптографического […]