Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Przykład mojego firewall:
#!/bin/bash # interfejsy LO_IFACE="lo" WAN_IFACE="eth0" LAN_IFACE="eth1" WAN_IP=`ifconfig $WAN_IFACE | grep inet | cut -d : -f 2 | cut -d ' ' -f 1` LAN_IP=`ifconfig $LAN_IFACE | grep inet | cut -d : -f 2 | cut -d ' ' -f 1` #adresy IP LO_IP="127.0.0.1" # ścieżka do iptables IPTABLES="/usr/sbin/iptables" # Wlaczenie mechanizmu wykrywania oczywistych falszerstw echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter # Ochrona przed atakiem typu Smurf echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Nie aktceptujemy pakietow "source route" echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route # Nie przyjmujemy pakietow ICMP rediect, ktore moga zmienic tablice routingu echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects # Wlaczamy ochrone przed blednymi komunikatami ICMP error echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses # Wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow echo "1" > /proc/sys/net/ipv4/conf/all/log_martians # Limitowanie sesji tcp echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout echo "2400" > /proc/sys/net/ipv4/tcp_keepalive_time echo "0" > /proc/sys/net/ipv4/tcp_window_scaling echo "0" > /proc/sys/net/ipv4/tcp_sack echo "20" > /proc/sys/net/ipv4/ipfrag_time echo "1280" > /proc/sys/net/ipv4/tcp_max_syn_backlog # TCP timestamps protection echo "1" > /proc/sys/net/ipv4/tcp_timestamps # Ignore redirected packets echo "0" > /proc/sys/net/ipv4/conf/all/send_redirects # uruchomienie przekazywania pakietow IP miedzy interfejsami echo "1" > /proc/sys/net/ipv4/ip_forward # uniemożliwia udostepnianie netu dalej echo "1" > /proc/sys/net/ipv4/ip_default_ttl #$IPTABLES -t mangle -A PREROUTING -i ${LAN_IFACE} -j TTL --ttl-set 1 # czyszczenie regul $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X # ustawienie polityk na DROP $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -A INPUT -i ${LO_IFACE} -j ACCEPT $IPTABLES -A FORWARD -o ${LO_IFACE} -j ACCEPT # Polaczenia nawiazane $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 #TTL Ukrycie naszej maskarady $IPTABLES -t mangle -A POSTROUTING -j TTL --ttl-set 64 $IPTABLES -t mangle -A FORWARD -j TTL --ttl-set 64 $IPTABLES -t mangle -A PREROUTING -j TTL --ttl-set 64 # Squid przekierowanie #$IPTABLES -t nat -I PREROUTING -s ${LAN_IP_RANGE} -p tcp --dport 80 -j REDIRECT --to-port 8080 # zezwolenie na pingowanie $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 6/minute -j ACCEPT #Zabezpieczenie skanowania routera $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-level debug --log-prefix 'SCAN: ' $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # otwarcie portow $IPTABLES -A INPUT -s 0/0 -d $WAN_IP -p tcp --dport 22 -j ACCEPT $IPTABLES -A OUTPUT -s 0/0 -d $WAN_IP -p tcp --dport 22 -j ACCEPT # przekierowanie portow $IPTABLES -A INPUT -p tcp --dport 9000 -j ACCEPT $IPTABLES -t nat -A PREROUTING -i $WAN_IFACE -p tcp --dport 9000 -j DNAT --to 10.0.1.2:9000 $IPTABLES -I FORWARD -i $WAN_IFACE -p tcp --dport 9000 -j ACCEPT # maskarada $IPTABLES -t nat -A POSTROUTING -s 10.0.1.2/255.255.255.0 -j MASQUERADE $IPTABLES -A FORWARD -m mac --mac-source 00:00:00:.... -j ACCEPT
Powyższa część działa dobrze, ale postanowiłem zablokować jednemu userowi p2p w dzień
wiec dodałem takie regułki do firewall(na samym koncu)
# p2p block $IPTABLES -t mangle -A PREROUTING -s 10.0.1.2/255.255.255.0 -m layer7 --l7proto edonkey -m time --timestart 09:00 --timestop 01:00 -j DROP $IPTABLES -t mangle -A PREROUTING -d 10.0.1.2/255.255.255.0 -m layer7 --l7proto edonkey -m time --timestart 09:00 --timestop 01:00 -j DROP $IPTABLES -t mangle -A PREROUTING -s 10.0.1.2/255.255.255.0 -m ipp2p --ipp2p -m time --timestart 09:00 --timestop 01:00 -j DROP
Po dodaniu ich nikt w sieci nie ma netu :/ co jest? W złym miejscu dodałem te regułki? albo zle je napisałem? Proszę o rady
Offline
ja blokuje p2p na FORWARD
#iptables -A FORWARD -d 192.168.1.6 -m ipp2p --ipp2p -j DROP
#iptables -A FORWARD -s 192.168.1.6 -m ipp2p --ipp2p -j DROP
Ostatnio edytowany przez stepien86 (2007-12-10 17:45:41)
Offline
no dobra ale masz te regułki przed maskarada czy po?, przed otwarciem portów, czy za? w którym miejscu powinny one być?
A co ze layer7?
Offline
za maskarada, przed otwarciem portow.
layer nie testowałem jeszcze u siebie :)
Offline
Dobra z ipp2p poradziłem sobie dodałem regułki jakie podał stepien86 (dzięki) ale na samym początku zaraz po czyszczeniu tablic i ustawieniu domyślnej polityki na drop, ale z layerem już nie jest tak prostu :/ ciągle jak dodaje regułki (na forward) w sieci nie ma netu :/
Juz kombinuje od jakiego czasu nie mam pomyślą:(
Jakieś inne sugestie co powinienem zrobić albo co robie zle ?
Offline
HunteR napisał(-a):
Kod:
# p2p block $IPTABLES -t mangle -A PREROUTING -s 10.0.1.2/255.255.255.0 -m layer7 --l7proto edonkey -m time --timestart 09:00 --timestop 01:00 -j DROP $IPTABLES -t mangle -A PREROUTING -d 10.0.1.2/255.255.255.0 -m layer7 --l7proto edonkey -m time --timestart 09:00 --timestop 01:00 -j DROP $IPTABLES -t mangle -A PREROUTING -s 10.0.1.2/255.255.255.0 -m ipp2p --ipp2p -m time --timestart 09:00 --timestop 01:00 -j DROPPo dodaniu ich nikt w sieci nie ma netu :/ co jest? W złym miejscu dodałem te regułki? albo zle je napisałem? Proszę o rady
Zamierzasz blokowac jedna maszyne z sieci czy cala siec?
Przyjrzyj sie dokladnie temu:
10.0.1.2/255.255.255.0
Powodzenia!
Offline
próbowałem tez samego ip bez maski i jest tak samo:/
BTW. zapis IP/MASKA jest prawidłowy
Offline
HunteR napisał(-a):
próbowałem tez samego ip bez maski i jest tak samo:/
BTW. zapis IP/MASKA jest prawidłowy
zapis ip/maska jest oczywiście jak najbardziej prawidłowy ale na moj gust taki zapis jaki podales (chodzi o maske) oznacza blokowanie calej sieci a nie jednego ip
Offline
zauwaz ze zapis 10.0.1.2/255.255.255.0 oznacza zakres od 10.0.1.1 do 10.0.1.254 co oznacza ze blokujesz cala siec a nie pojedynczego hosta
tak w ogole dla operacji na pojedynczych kompach nie podajemy maski bo i po co??
a u mnie z powodzeniem dziala -m ipp2p --ipp2p -j DROP wrzucone do crontaba w godzinach jakich mi sie zechce, mysz sie sie przesliznie - to po co kombinowac?
Offline
usun (wywal) maske czyli 255.255.255.0
w pre i postrouting przypadkiem nie powinno byc?
Ostatnio edytowany przez bolos_11 (2007-12-20 23:11:55)
Offline
Z layer7 trzeba sobie wyłapywać połączenia w tablicy MANGLE a potem je dropowac w FORWARD.
Wtedy działa jak należy i lepiej niż ipp2p.
Pozdrawiam.
Offline