Полезные ссылки
Политика по умолчанию
ufw default deny incoming # Все входящие пакеты будем отклонять
ufw default allow outgoing # все исходящие разрешим
Добавление правил
ufw allow имя_службы ufw allow порт ufw allow порт/протокол
- чтобы открыть порт ufw для SSH
ufw allow OpenSSH
ufw allow 22
ufw allow 22/tcp
- чтобы посмотреть имена приложений
ufw app list
- Можно также указать направление следования трафика с помощью слов out для исходящего и in для входящего.
ufw allow направление порт
- разрешим только исходящий трафик на порт 80, а входящий запретим:
ufw allow out 80/tcp
ufw deny in 80/tcp
- открыть порт DNS 53
ufw allow 53/tcp
ufw allow 53/udp
- можно использовать более полный синтаксис добавления правил:
ufw allow proto протокол from ip_источника to ip_назначения port порт_назначения
В качестве ip_источника может использоваться также и адрес подсети. Например, разрешим доступ со всех IP-адресов для интерфейса eth0 по протоколу tcp к нашему IP-адресу и порту 3318:
ufw allow proto tcp from 0.0.0.0/24 to 192.168.1.5 port 3318
Включение UFW
ufw enable
Правила limit ufw
С помощью правил limit можно ограничить количество подключений к определённому порту с одного IP-адреса, это может быть полезно для защиты от атак перебора паролей.
ufw limit ssh/tcp
Блокировка активности с определенным адресом
- Для блокировки или закрытия всех пакетов с 192.168.1.5, вводим:
ufw deny from 192.168.1.5 to any
- Блокировка определенных IP и номера порта через ufw
ufw deny from {ip-address-here} to any port {port-number-here}
ufw deny from 202.54.1.5 to any port 80
Запрет icmp пинга
sudo cp /etc/ufw/before.rules /etc/ufw/before.rules_backup
Найти в файле /etc/ufw/before.rules строки
# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
поменять ACCEPT на DROP, чтобы получилось следующее
# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type source-quench -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Проверка правил
ufw status numbered