Простая настройка фаервола в ufw в ubuntu
UFW
Чтобы настроить простой межсетевой экран, не обязательно разбираться с тонкостями работы netfilter или изучать синтаксис iptables.
Можно воспользоваться более простой в использовании конфигурационной утилитой ufw.
sudo apt install ufw
Для включения межсетевого экрана достаточно отдать команду, выполняется единожды при установке в дальнейшем стартует вместе с системой.
sudo ufw enable
Для его отключения:
sudo ufw disable
Далее запретить входящие соединения при помощи команд:
sudo ufw default deny
Запретить порт 25:
sudo ufw deny 25
Разрешить ssh:
sudo ufw allow ssh
Просмотр состояния:
sudo ufw status
Просмотр дополнительных сведений:
sudo ufw status verbose
Отключение лога:
sudo ufw logging off
Включение логов:
sudo ufw logging on
Если перезагрузившись status не активен, то можно прописать в файле /etc/ufw/ufw.conf:
ENABLED=yes
Так же можно посмотреть файл с дефолтными настройками ufw /etc/default/ufw.
Статус всегда активен, если добавить программой rcconf или любой подобной утилитой ufw в автостарт.
В общем порядок самой простой настройки таков: включение, запрет на входящие.
Обратите внимание, что речь здесь идёт именно о соединениях, а не о входящих пакетах вообще — после команды sudo ufw default deny
инициировать входящее соединение с вашей машиной станет невозможно, при этом входящие пакеты для соединений, инициированных вами, приниматься будут.
Например, будет работать ICQ или торрент-клиент, но на машину нельзя будет зайти по telnet или http.
Кроме того, ufw позволяет добавлять собственные правила фильтрации трафика, например команда:
sudo ufw allow from 192.168.0.0/24
Открывает полный доступ к вашей машине из сети 192.168.0.0/24
Запретить доступ, скажем, к 80-му tcp-порту можно следующим образом:
sudo ufw deny 80
или с помощью iptables:
iptables -I INPUT 1 -p tcp --dport 80 -j DROP
Разрешить порт:
sudo ufw allow 8080
Разрешить один порт с определенного хоста:
ufw allow proto tcp from 195.218.237.130 to any port 5901
Разрешить диапазон портов с определенного хоста:
ufw allow proto tcp from 194.48.218.4 to any port 2210:2218
Можно разрешать или запрещать доступ к портам для конкретного диапазона ip-адресов, работать с группой портов, удалять созданные правила и так далее.
Притом все изменения применяются немедленно и сохраняются после перезагрузки компьютера.
Для получения подробной информации по синтаксису ufw наберите команду: man ufw
Подробный вывод правил:
ufw status verbose
О профилях приложений
Ufw позволяет создавать профили приложений. в которых можно указать все порты которые используются и удобно добавлять их в правила. Так к примеру можно создать профиль для веб-сервера Apache, указав что слушает он 80 и 443 порты по протоколу tcp. Профили приложений являются текстовыми файлами и могут быть отредактированы любым текстовым редактором. все файлы хранятся в директории /etc/ufw/applications.d
Вывести список профилей можно с помощью команды:
sudo ufw app list
Доступные приложения: OpenSSH
Детальную информацию по профилю можно просмотреть с помощью команды
sudo ufw app info OpenSSH
Профиль: OpenSSH
Название: Secure shell server, an rshd replacement
Описание: OpenSSH is a free implementation of the Secure Shell protocol.
Порт: 22/tcp
Добавление правил для приложения, команда:
sudo ufw app default allow|deny OpenSSH
После добавления или изменения профиля приложения (в файле) необходимо дать знать файрволу о новом профиле:
sudo ufw app update OpenSSH
Можно в файле hosts.deny (/etc/hosts.deny) раскомментировать строку #ALL: PARANOID
Предохранение вашей системы от ответов на ping запросы, отключение широковещательных сообщений и включение предупреждений обо всех неправильных сообщениях.
sudo nano /etc/ufw/sysctl.conf
и исправить 0 на 1
# Ignore bogus ICMP errors
net.ipv4.icmp._echo_ignore_broadcasts=1
net.ipv4.icmp._ignore_bogus_error_responses=1
net.ipv4.icmp._echo._ignore_all=1
Затем перезагрузить сеть:
sudo /etc/init.d/networking restart
Просканировать порты на открытые можно на онлайн сервисах или с помощью программы nmap:
sudo nmap -sT 192.168.1.100
или просканировать все порты системы:
sudo nmap -p1-65535 192.168.1.100
ip ставится на который настроен интернет или
sudo nmap localhost