Strona 2 z 3
: 19 maja 2011, 19:42
autor: piter8989
Teraz wygląda to tak. Mam nadzieje że jest mniejszy śmietnik.
Kod: Zaznacz cały
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -m iprange --src-range 192.168.0.2-192.168.0.50 -j MASQUERADE
#akceptacja połączeń zainicjowanych przez serwer i powiązanych
iptables -I INPUT -p ALL -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
#odblokowane porty
iptables -A INPUT -p tcp -m multiport --dport 80,443,3128 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 53,80,443,3128 -j ACCEPT
#przekierowanie na squida
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#ping - odpowiedź i wysyłanie
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
Ale nadal nie działa mi ping po nazwach z serwera.
Nie rozumiem twojego pytania. Jesli nie chcesz przedziału to podaj kolejne wybrane porty. Pamietaj ze w regułce mozesz zawrzeć max 15.
No właśnie chodzi mi o numery tych portów, które mam dopuścić aby zadziałało.
Na chwile obecną mam bind9, squid.
: 19 maja 2011, 19:51
autor: Yampress
Po co bind9, masz swoją domenę? Co masz w pliku /etc/resolv.conf?
: 20 maja 2011, 08:59
autor: adasiek_j
Kolego piter8989,
Resolver Twojego komputera, aby sprawdzić, jaki IP ma
http://www.abix.info.pl, łączy się z serwerem DNS, który jest wymieniony w Twoim
/etc/resolv.conf, wykonując połączenie protokołem UDP z losowego portu Twojego komputera na port 53/UDP serwera DNS. Nie masz wpływu na to, z jakiego portu zostanie to połączenie wykonane. Tak więc
nie jest dobre blokowanie ruchu, który wychodzi z Twojego komputera w świat.
Adam
http://debian.linux.pl/members/13100-piter8989
: 20 maja 2011, 09:53
autor: Bastian
" pisze:Tak więc nie jest dobre blokowanie ruchu, który wychodzi z Twojego komputera w świat.
A przynajmniej tego, który wychodzi na połączenia do DNS-ów.
Nadal nie stosujesz dyrektywy ,,NEW'' więc:
Kod: Zaznacz cały
#akceptacja połączeń zainicjowanych przez serwer i powiązanych
iptables -I INPUT -p ALL -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Jest bezużyteczne.
: 20 maja 2011, 14:51
autor: Yampress
Bastian, a co Ty to wypisujesz. Politykę
więc, wszystko co wychodzi jest akceptowalne.
Kod: Zaznacz cały
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
A to wpuszcza wszystkie połączenia nawiązane, które wyszły z komputera i chcą wrócić z powrotem. Więc wyjaśnij mi po co opcja ,,new''. Jest dla tych, które chcą nawiązać połączenie nowe z jakimiś portami nasłuchującymi.
piter8989, co masz w tym pliku /etc/resolv.conf. Jakie masz usługi dodatkowo zainstalowane?
: 21 maja 2011, 07:07
autor: Bastian
Więc wyjaśnij mi po co opcja ,,new''. Jest dla tych, które chcą nawiązać połączenie nowe z jakimiś portami nasłuchującymi.
I właśnie dlatego opcja ,,new'' powinna tam być. Teraz według mnie nie ma kontroli nad nowymi połączeniami. Te regułki bez opcji ,,NEW'' wpuszczają wszystkie połączenia, niezależnie, czy są powiązane z już ustanowionymi opcjami ,,RELATED, ESTABLISHED'', czy też nie.
: 21 maja 2011, 18:44
autor: adasiek_j
" pisze:Te regułki bez opcji ,,NEW'' wpuszczają wszystkie połączenia, niezależnie, czy są powiązane z już ustanowionymi opcjami ,,RELATED, ESTABLISHED'', czy też nie.
Nieprawda, a oto dlaczego.
- Polecenie:
Kod: Zaznacz cały
iptables -I INPUT -p ALL -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
powoduje, że ze świata NIE można wejść nagle przez SSH, a jeśli wybiorę polecenie:
Kod: Zaznacz cały
iptables -I INPUT -p ALL -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
to będę mógł wejść przez SSH, tak jakby policy DROP w ogóle nie obowiązywało.
- Natomiast:
Kod: Zaznacz cały
axactive0103:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT icmp -- anywhere anywhere icmp echo-reply
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
axactive0103:~# ping www.abix.info.pl -c3 -w3
PING www.abix.info.pl (195.162.24.38) 56(84) bytes of data.
64 bytes from cutty-sark.abix.info.pl (195.162.24.38): icmp_seq=1 ttl=64 time=0.527 ms
64 bytes from cutty-sark.abix.info.pl (195.162.24.38): icmp_seq=2 ttl=64 time=0.308 ms
64 bytes from cutty-sark.abix.info.pl (195.162.24.38): icmp_seq=3 ttl=64 time=0.268 ms
--- www.abix.info.pl ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.268/0.367/0.527/0.115 ms
jak widać działa w 100%. Przetestowałem właśnie, bo widzę, że nikomu się nie chciało.
Konkluzja zatem jest następująca - kolego piter8989, pokaż wyniki poleceń:
Kod: Zaznacz cały
iptables -L
cat /etc/resolv.conf
ping -c3 -w3 www.abix.info.pl
Adam
: 21 maja 2011, 21:16
autor: Yampress
Kod: Zaznacz cały
iptables -I INPUT -p ALL -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Tylko się takich rzeczy nie stosuje bo to jest dziura w firewalu. Równie dobrze może firewalla nie być. Ta reguła wpuszcza wszystkie połączenia i nowe, i nawiązane już na wszystkie porty! Co równorzędne jest z brakiem firewalla.
Stosuje się politykę DROP na INPUT + iptables -A INPUT -p tcp - --dport 80 -j ACCEPT dla określonego portu, lub
Kod: Zaznacz cały
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Jeśli nie udostępnia się żadnej usługi na serwerze na świat.
: 21 maja 2011, 21:34
autor: adasiek_j
Yampress - to wiem, po prostu chciałem to uświadomić Bastianowi dokładnie, że niezbyt dokładne informacje podaje.
p.s.
Nadal czekam na informacje od pitera8989.
Adam
: 22 maja 2011, 14:55
autor: Bastian
Dobrze, ale podajecie przykłady dla połączeń od serwera (SSH), które mają być nawiązywane przez serwer. A mnie chodzi o poniższe reguły w firewallu:
Kod: Zaznacz cały
#odblokowane porty
iptables -A INPUT -p tcp -m multiport --dport 80,443,3128 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 53,80,443,3128 -j ACCEPT
Przecież one mają mieć zastosowanie tylko dla nowonawiązywanych połączeń do serwera, bo wszystkie inne będą wchodziły na RELATED, ESTABLISHED.