ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 1 марта, 2025

Как проверить и обезопасить открытые порты в Linux

Как проверить и обезопасить открытые порты в Linux

Понимание того, что такое открытые порты, важно для управления приложениями и обеспечения безопасности вашей системы. Открытые порты могут обеспечивать связь между службами, но они также могут подвергать вашу систему угрозам. В этом руководстве мы объясним, как проверить открытые порты и защитить их в Linux с помощью правил брандмауэра и рекомендаций.

 

Как проверить открытые порты в Linux

Существует несколько способов проверить, какие порты открыты и прослушиваются в вашей системе.

1. Использование netstat

netstat может отображать активные порты и связанные с ними службы.

sudo netstat -tulnp

 

Здесь,

 

Пример вывода:

tcp6 0 0 :::8006 :::* LISTEN 1826/pveproxy 
tcp6 0 0 :::8080 :::* LISTEN 4744/Syncthing 
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1022/cupsd 
[...]

 

Регулярно проверяйте наличие неожиданно открытых портов для обнаружения несанкционированного доступа:

sudo netstat -tulnp | grep LISTEN

 

2. Использование ss (Рекомендуется)

ss является более быстрой и современной альтернативой netstat.

sudo ss -tulnp

 

Эта команда обеспечивает аналогичный вывод, но с улучшенной производительностью.

 

3. Использование lsof

lsof выводит список открытых файлов, включая сетевые сокеты.

lsof -i -P -n

 

4. Использование nmap (Для удаленного сканирования)

Для проверки открытых портов в удаленной системе:

nmap -p- <IP-АДРЕС>

 

Как обезопасить открытые порты в Linux

1. Закройте ненужные порты

Если услуга не нужна, отключите ее.

sudo systemctl stop <service>
sudo systemctl disable <service>

 

2. Используйте брандмауэр

Брандмауэр контролирует трафик, блокируя или разрешая работу портов.

 

Использование ufw (для Ubuntu / Debian)

Разрешить определенные порты:

sudo ufw allow 22/tcp

 

Запретить определенные порты:

sudo ufw deny 23/tcp

 

Включить брандмауэр:

sudo ufw enable

 

Использование firewalld (для систем на основе RHEL)

Разрешить использование порта:

sudo firewall-cmd --add-port=22/tcp --permanent
sudo firewall-cmd --reload

 

Заблокировать порт:

sudo firewall-cmd --remove-port=23/tcp --permanent
sudo firewall-cmd --reload

 

Используя iptables

Разрешить SSH с определенного IP-адреса:

sudo iptables -A INPUT -p tcp --dport 22 -s <ALLOWED-IP> -j ACCEPT

 

Блокируйте весь входящий трафик, кроме SSH:

sudo iptables -P INPUT DROP
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

 

Сохранение правил брандмауэра:

sudo iptables-save > /etc/iptables.rules

 

3. Реализовать Блокировку порта

Проверка порта добавляет дополнительный уровень безопасности, требуя последовательности попыток подключения перед открытием порта.

Скоро мы рассмотрим эту тему в отдельной статье.

 

Заключение

Проверка и защита открытых портов — основополагающая практика в системном администрировании Linux и DevOps. Регулярный мониторинг и правильная настройка брандмауэра помогут защитить вашу систему от угроз.

Exit mobile version