Fork me on GitHub

Настройка брэндмауэра ufw в Ubuntu

Полезные ссылки

Политика по умолчанию

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

social