LINUX.ORG.RU

Не получается заблокировать http через iptables

 , ,


1

1

ЛОР, выручи, пожалуйста.

Надо сделать чтобы в браузере не открывался url с http.

Что делаю:

iptables -A OUTPUT -p tcp --dport 80 -j DROP
iptables-save > /etc/iptables/rules.v4

Перезагружаю компьютер. Пробую зайти на lib.ru. Не срабатывает правило :-(


Ответ на: комментарий от Silerus

Мне надо заблокировать все сайты, которые работают только по HTTP.

Вот, что я пыталась сделать:

  1. Добавила правила для портов 80, 81, 8080:
iptables -A OUTPUT -p tcp --dport 80 -j DROP
iptables -A OUTPUT -p tcp --dport 81 -j DROP
iptables -A OUTPUT -p tcp --dport 8080 -j DROP
  1. Сохранила новые правила:
iptables-save > /etc/iptables.up.rules
  1. Создала новый файл, чтобы правила iptables запускались при перезагрузке:
nano /etc/network/if-pre-up.d/iptables
  1. Добавила в новый файл строки:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules
  1. Сделала файл исполняемым:
chmod +x /etc/network/if-pre-up.d/iptables

Перезагрузилась, но тестовый сайт lib.ru по‐прежнему продолжает открываться.

Joanna
() автор топика

А перед этими правилами ничего нет? Ну и netfilter-persistent можно потыкать.

tolstoevsky
()
Ответ на: комментарий от Joanna

Покажите пожалуйста вывод iptables-save. Мне команды iptables -A OUTPUT -p tcp –dport 80 -j DROP хватило чтоб блокирнуть lib.ru

Еще вопрос, работоспособность правил праверяется на машине с iptables или машина с iptables является маршрутизатором?

Silerus ★★★★
()
Последнее исправление: Silerus (всего исправлений: 1)
Ответ на: комментарий от Silerus

Правила проверяю на ПК с iptables.

Вот вывод iptables-save:

# Generated by xtables-save v1.8.2 on Tue Apr 21 17:01:55 2020
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -s 127.0.0.1/32 -i lo -m state --state NEW -j ACCEPT
-A INPUT -i lo -m state --state NEW -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 0.0.0.1/32 -i lo -j LOG --log-prefix "IPKF_IPKungFu "
-A INPUT -m recent --rcheck --seconds 120 --name badguy --mask 255.255.255.255 --rsource -j DROP
-A INPUT -p tcp -m state --state INVALID -m limit --limit 3/sec -j LOG --log-prefix "IPKF_Invalid_TCP_Flag: "
-A INPUT -m state --state INVALID -j DROP
-A INPUT -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j DROP
-A OUTPUT -p tcp -m tcp --dport 591 -j DROP
-A OUTPUT -p tcp -m tcp --dport 8008 -j DROP
-A OUTPUT -p tcp -m tcp --dport 8080 -j DROP
-A OUTPUT -p udp -m udp --dport 80 -j DROP
-A OUTPUT -p udp -m udp --dport 591 -j DROP
-A OUTPUT -p udp -m udp --dport 8008 -j DROP
-A OUTPUT -p udp -m udp --dport 8080 -j DROP
-A syn-flood -m limit --limit 10/sec --limit-burst 24 -j RETURN
-A syn-flood -m limit --limit 3/sec -j LOG --log-prefix "IPKF_SYN_flood: "
-A syn-flood -j DROP
COMMIT
# Completed on Tue Apr 21 17:01:55 2020
# Generated by xtables-save v1.8.2 on Tue Apr 21 17:01:55 2020
*mangle
:PREROUTING ACCEPT [287:390388]
:INPUT ACCEPT [285:389236]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [174:9248]
:POSTROUTING ACCEPT [174:9248]
-A OUTPUT -p icmp -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 25 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p udp -m udp --dport 53 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 63 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 110 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 113 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 123 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 143 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 443 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 993 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 995 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -p tcp -m tcp --dport 1080 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -p tcp -m tcp --dport 6000:6063 -j TOS --set-tos 0x08/0x3f
COMMIT
# Completed on Tue Apr 21 17:01:55 2020
# Generated by xtables-save v1.8.2 on Tue Apr 21 17:01:55 2020
*nat
:PREROUTING ACCEPT [2:1152]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [8:513]
:OUTPUT ACCEPT [8:513]
COMMIT
# Completed on Tue Apr 21 17:01:55 2020
Joanna
() автор топика
Ответ на: комментарий от Joanna
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j DROP

Порядок имеет значение. Чтобы узнать попадают ли пакеты под то или иное правило используйте sudo iptables -nvL OUTPUT - вы увидите что под запрещающее правило ни один пакет не попадает.

Mike_RM
()
Последнее исправление: Mike_RM (всего исправлений: 1)

а 443 порт закрыть не нужно ?

Deleted
()
Ответ на: комментарий от Mike_RM

Применила вашу рекомендацию и изменила порядок правил. Теперь всё работает.

Благодарю и желаю всяческих успехов.

Joanna
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.