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/.

 DUG
	

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 ACCEPTPowyż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

 Członek DUG
	

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

 DUG
	

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

 Członek DUG
	

za maskarada, przed otwarciem portow.
layer nie testowałem jeszcze u siebie :)
Offline

 DUG
	

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

 Użytkownik
	

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

 DUG
	

próbowałem tez samego ip bez maski i jest tak samo:/
BTW. zapis IP/MASKA jest prawidłowy
Offline

 Użytkownik
	

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

 Użytkownik
	

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
 Użytkownik
	
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