LINUX.ORG.RU
ФорумAdmin

iptables + dhcp


0

2

Имею фаервол со след настройками

#!/bin/bash

modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe iptable_nat
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe ip_nat_ftp
modprobe ip_nat_irc
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F
#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP




#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT

#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Правила повышающие безопасность
#Блочим входящие tcp соединения не syn пакетом (либо ошибка либо атака)

iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT

#Фильтруем ICMP

#iptables -A INPUT -p icmp -j ACCEPT
#iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT

#Запрещаем ping из локалки на нетовские сайты

iptables -A FORWARD -s 192.168.4.0/24 -p icmp -j DROP

#Разрешаем принимать от 2003 сервера dns запросы 

iptables -A INPUT -i eth0 -s 192.168.4.1 -p udp --dport 53  -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.4.1 -p tcp --dport 53  -j ACCEPT

#разрешаем доступ из локальной сети на порты 
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 80,3128 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 123 -j ACCEPT
#Разрешаем хождение через цепочку форвард пакетов идущих в ответ на пакеты с eth0
iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Пробрасывем ip внет на всех портах 192.168.4.50 - тот кого надо прокинуть
#iptables -A FORWARD -s 192.168.4.66-o ppp0 -j ACCEPT
#Пробрасывем ip внет на 25,110  портах 192.168.3.90 - тот кого надо прокинуть
#iptables -A FORWARD -s 192.168.3.90 -o ppp0 -p tcp -m multiport --dport 25,110 -j ACCEPT



#Маскарадим то что прошло через цепочку forward
iptables -t nat -I POSTROUTING -s 192.168.4.0/24 -o ppp0 -j MASQUERADE
поднял и настроил dhcp сервер, без изменения настроек фаервола попробовал получить с dhcp адрес , получил без проблем. Как такое может быть ведь порты для DHCP я не открывал ?

Ты его на удалённой тачке получил или локально?

true_admin ★★★★★ ()
Ответ на: комментарий от drac753

dhcp клиент-сервер же, DROP порта в правиле нет, значит ESTABLISHED,RELATED

anonymous ()
Ответ на: комментарий от true_admin

О как век живи век учись , гмм есть ли смысл пересматривать правило iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ? И или оставить так (смущает возможность запроса адреса из нета через dhcp)

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

смущает возможность запроса адреса из нета через dhcp

dhcp твой? Тогда пусть слушает только на внутреннем интерфейсе.

Что касается политики на фаерволе то это оочень долгий разговор. Всё зависит от целей и вероисповедания. Я вот за отсутствие ограничений на фаерволе, например. Ну, почти, спам, флуд и скан портов должны быть запрещены. Но я это это я, у тебя другое мнение на этот счёт.

true_admin ★★★★★ ()
Ответ на: комментарий от DALDON

ммм?

DHCP uses the same two ports assigned by IANA for BOOTP: destination UDP port 67 for sending data to the server, and UDP port 68 for data to the client. DHCP communications are connectionless in nature.

(c) wikipedia

true_admin ★★★★★ ()
Ответ на: комментарий от DALDON

оно использует raw sockets. Возможно, в этом проблема. В гугле пишут что, по крайней мере раньше, raw sockets не фильтровались iptables.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Пардон, конечно raw sockets, а не уровень. Iptables прекрасно работает с L2.

Спасибо за замечание.

Но суть в общем такая.

DALDON ★★★★★ ()
Ответ на: комментарий от true_admin

Да неее, не убегу, куда-ж мне бежать? - Болт у меня очень, очень длинный, так что крутить мне можно на него гайки сколь угодно долго, да и вообще, когда болтик в гаечку вкручивается очень даже приятно. :)

DALDON ★★★★★ ()
Ответ на: комментарий от true_admin

есть ли смысл как то фильтровать или блочить raw sokets? DHCP просто указал в настройках интерфейс смотрящий в локалку для работы, но как то не спокойно чтоли дырка то есть

drac753 ★★ ()
Ответ на: комментарий от drac753

raw sockets доступны только с этой машины, это интерфейс сети в обход некоторых подсистем ядра. Удалённые машины не пролезут. С учётом того что ты на этой тачке админ я не вижу смысла блокировать свой же трафик.

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