Strona 1 z 1

iptables blokowanie gg i tlenu

: 04 grudnia 2009, 21:45
autor: arturwlodarek
Witam!
Mam zainstalowanego Debiana na serwerze. Jest on bramą dla sieci. Użytkownicy mogą mieć dostęp tylko do wybranych stron i nic więcej. Jako filtr stron używam SQUID-a. Ale mam problem z zablokowaniem na firewallu gg i innych komunikatorów.
Załączam konfiguracje iptables. Może Wy znajdziecie gdzieś błąd bo ja już nie mogę.

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A INPUT -s 0/0 -d 192.168.2.240 -p tcp --dport 23 -j ACCEPT
iptables -A OUTPUT -s 192.168.2.240 -d 0\0 -p tcp --dport 23 -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.2.240 -p udp --dport 23 -j ACCEPT
iptables -A OUTPUT -s 192.168.2.240 -d 0\0 -p udp --dport 23 -j ACCEPT

iptables -A INPUT -p udp -s 0/0 -d 192.168.8.0\24 --dport 443 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 0/0 --dport 443 -j DROP
iptables -A INPUT -p tcp -s 0/0 -d 192.168.8.0\24 --dport 443 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 0\0 --dport 443 -j DROP

iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 91.197.12.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 91.197.13.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 91.197.14.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 91.197.15.0\24 -j DROP

iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 91.197.12.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 91.197.13.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 91.197.14.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 91.197.15.0\24 -j DROP

iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 217.17.41.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 217.17.45.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 217.17.46.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 121.126.20.0\24 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 80.239.140.0\24 -j DROP

iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 217.17.41.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 217.17.45.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 217.17.46.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 121.126.20.0\24 -j DROP
iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 80.239.140.0\24 -j DROP


iptables -A OUTPUT -p udp -s 192.168.8.0\24 -d 0\0 --dport 8074 -j DROP
iptables -A INPUT -p udp -s 0\0 -d 192.168.8.0\24 --dport 8074 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.8.0\24 -d 0\0 --dport 8074 -j DROP
iptables -A INPUT -p tcp -s 0\0 -d 192.168.8.0\24 --dport 8074 -j DROP

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

iptables -t nat -A POSTROUTING -s 192.168.8.0\24 -j MASQUARADE
iptables -A FORWARD -a 192.168.8.0\24 -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.8.1:8080
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 8080
W razie czego squid spełnia swoje zadanie wiec z nim problemów nie ma. Na komputerze podłączonym do sieci gg działa, a po wyświetleniu netstatu mam wiadomość, że gg jest podłączone z numerem ip z sieci 91.197.13.0 i przez port 8074. A iptables powinien to blokować.
Aha squid blokuje połączenia na porcie 80 z domenami gadu-gadu.pl.

Z góry dziękuję za odpowiedzi.

: 04 grudnia 2009, 21:57
autor: meciarz
Jeśli chcesz większość blokować, to zacznij od domyślnej polityki, czyli:

Kod: Zaznacz cały

iptabes -P INPUT -j DROP
iptabes -P OUTPUT -j DROP
iptabes -P FORWARD -j DROP
Natomiast w sprawie gg blokujesz wyjście na port 8074:

Kod: Zaznacz cały

iptables -A OUTPUT -p tcp --dport 8074 -j DROP
Edycja:
Zobacz, czy czasem po zablokowaniu portu 8074 nie łączy się na innym porcie, gdyż u mnie właśnie kadu połączył się na 443 :-P

: 04 grudnia 2009, 22:27
autor: arturwlodarek
Właśnie problem z tym że łączy się na porcie 8074. A port 443 jest tez blokowany. I ta blokada działa bo przez https nigdzie nie mogę się łączyć.

: 16 grudnia 2009, 09:08
autor: laserpl
spróbuj

Kod: Zaznacz cały

iptables -A FORWARD -s 91.197.0.0/16 -d 192.168.0.0/16 -j DROP 
zablokuje dostęp do gg dla calej sieci

: 28 grudnia 2009, 22:18
autor: arturwlodarek
Mam złą wiadomość. Nawet przy wpisie który podał laserpl gadu-gadu nadal działa. Już naprawdę nie wiem dlaczego. Netstat nadal podaje, że gg jest podłączone z zablokowanego zakresu adresów IP.
Macie może jakieś inne pomysły?

: 29 grudnia 2009, 02:46
autor: ShinnRa
Czy ja dobrze widzę, że zamiast slash (/) masz backslash (\) w zapisie adresów IP/CIDR ? Może spróbuj to poprawić i sprawdź czy działają te regułki.

: 30 grudnia 2009, 11:13
autor: grzesiek
Nowe GG blokujesz

Kod: Zaznacz cały

iptables -A FORWARD -s LAN -p tcp --dport 8074 --syn -m state --state NEW -j DROP
Blokujesz tylko próby nawiązania sesji TCP z Twojej sieci.
Dla starego GG (nowe tak też powinno być blokowane)

Kod: Zaznacz cały

iptables -A FORWARD -s LAN -d 91.197.12.0/24 -p tcp --syn -m state --state NEW -j DROP
iptables -A FORWARD -s LAN -d 91.197.13.0/24 -p tcp --syn -m state --state NEW -j DROP
Zasada jest taka, nowe GG chyba zawsze używa portu 8074 (lub bez niego nie działa), stare GG potrafi użyć HTTPS alternatywnie, więc blokujemy serwer, ale ten może się zmienić albo powstać nowy.