Простая настройка фаервола в ufw в ubuntu

ubuntu ufw firewall

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 не активен, то можно прописать в

sudo nano /etc/ufw/ufw.conf

ENABLED=yes,  вместо no

Так же можно посмотреть файл с дефолтными настройками 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

Источник: http://ubuntulyb.blogspot.ru/2010/02/ufw-ubuntu.html