Article View: alt.pl.comp.os.linux.debian
Article #21630Problem z FORWARD (firewall)
From: Bolek
Date: Thu, 29 Apr 2004 05:37
Date: Thu, 29 Apr 2004 05:37
417 lines
8761 bytes
8761 bytes
Mam nastepujacy problem :
chcialbym w sieci lokalnej udostepnic tylko potrzebne serwisy (bez
emula,kazzy itp p2p) tzn www,poczte,dnsy
robie na razie to w ten sposob ze ustawiam polityke FORWARD NA DROP potem
iptables -A FORWARD -p tcp -s ${LAN}/24 -d 0/0 --dport 4662 -j REJECT
iptables -A FORWARD -p tcp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
iptables -A FORWARD -p udp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
iptables -A FORWARD -p icmp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
#iptables -A FORWARD -p udp -s ${LAN}/24 -d 0/0 --dport 53 -m state --state
NEW -j ACCEPT
okazuje sie ze po tej operacji juz nic nie chodzi (a wydaje mi sie ze
powinno ) prosze o pomoc w znalezieniu bledu ............
################################# moj caly skrypt firewall
###############################33333
#!/bin/bash
RULE_COUNT=`iptables -L | wc -l`
# zmien ta nazwe na interfejs, jaki laczy Ciebie z Internetem UPLINK
UPLINK="eth0"
# Czy maszyna jest Ruterem "yes" lub "no"
ROUTER="yes"
# Jesli masz stale IP wpisz je ponizej jesli dynamiczne wpisz "dynamic"
jesli nie potrzebujesz nata wpisz ""
NAT="80.55.23.146"
# Zmien nastepna linie tak, zeby ujaz wszystkie interfejsy sieciowe
wlaczajac lo
INTERFACES="lo eth0 eth1"
# podaj adres sieci lokalnej
LAN="192.168.0.0"
BROAD="192.168.0.255"
# udostepnianie serwisow dla wszystkich tcp
SERVICES="smtp pop3"
# udostepnianie serwisow dla wszystkich udp
SERVICESUDP=""
# udostepnianie serwisow tylko dla twojej sieci lokalnej tcp
SERVICESLAN="netbios-ssn http"
# udostepnianie specjalnych serwisow specjalnym hostom
SERVICESPEC="1241 ssh 5900 http ftp"
HOSTSSPEC="217.99.0.0/16 62.121.228.127"
# komputery sieci lokalnej dostep tylko do okreslonych uslug
SERVICELANOUT="80 21 22 25 110 "
# wyrzucanie podejrzanych hostow
HOSTDROP="213.56.76.241"
function begin {
echo "Startowanie Firewall... "
iptables -F
iptables -F -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i ! ${UPLINK} -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#dopuszcza internautow do wybranych serwisow dla tcp
for x in ${SERVICES}
do
iptables -A INPUT -p tcp --dport ${x} -m state --state NEW -j ACCEPT
done
#dopuszcza tylko siec lokalna do wybranych serwisow
for x in ${SERVICESLAN}
do
iptables -A INPUT -p tcp -s ${LAN}/24 -d 0/0 --dport ${x} -m state --state
NEW -j ACCEPT
done
# wybrane serwisy tylko dla wybranych hostow
for x in ${HOSTSSPEC}
do
for y in ${SERVICESPEC}
do
iptables -A INPUT -p tcp -s ${x} -d 0/0 --dport ${y} -m state --state NEW -j
ACCEPT
done
done
# komputery sieci lokalnej dostep tylko do okreslonych uslug
####iptables -A FORWARD -p tcp -s ${LAN}/24 -d 0/0 --dport 1024:65535 -m
state --state NEW -j LOG --log-prefix LOG_P2P --log-level warn
##wyrzucenie emula
iptables -A FORWARD -p tcp -s ${LAN}/24 -d 0/0 --dport 4662 -j REJECT
iptables -A FORWARD -p tcp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -s 0/0 -d ${LAN}/24 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
iptables -A FORWARD -p udp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
iptables -A FORWARD -p icmp -s ${LAN}/24 -d 0/0 -m state --state NEW -j
ACCEPT
#iptables -A FORWARD -p udp -s ${LAN}/24 -d 0/0 --dport 53 -m state --state
NEW -j ACCEPT
# wyrzucane podejrzanych hostów
for x in ${HOSTDROP}
do
iptables -A INPUT -s ${HOSTDROP} -j DROP
done
#a teraz dla tcp i udp
for x in ${SERVICESUDP}
do
iptables -A INPUT -p udp --dport ${x} -m state --state NEW -j ACCEPT
done
iptables -A INPUT -p tcp -i ${UPLINK} -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp -i ${UPLINK} -j REJECT --reject-with
icmp-port-unreachable
#wylaczenie ECN
if [ -e /proc/sys/net/ipv4/tcp_ecn ]; then
echo 0 > /proc/sys/net/ipv4/tcp_ecn
fi
#wylaczenie spoofowania na wszystkich interfejsach
for x in ${INTERFACES}
do
echo 1 > /proc/sys/net/ipv4/conf/${x}/rp_filter
done
if [ "$ROUTER" = "yes" ]; then
#jezeli jestesmy ruterem, wlacz IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
if [ "$NAT" = "dynamic" ]; then
#Dynamiczny IP, uzycie maskarady
echo "Wlaczenie maskarady (dynamiczny ip)..."
iptables -t nat -A POSTROUTING -o ${UPLINK} -j MASQUERADE
elif [ "$NAT" != "" ]; then
#statyczny IP uzywa SNAT
echo "Wlaczenie SNAT (statyczny IP)..."
iptables -t nat -A POSTROUTING -o ${UPLINK} -j SNAT --to ${NAT}
fi
fi
#### ochrona przed atakami ######
## falszowanie adresu
iptables -A FORWARD -s ${LAN}/24 -i eth0 -j DROP
## Atak typu smurf
iptables -A FORWARD -p icmp -d ${BROAD} -j DROP
## Atak typu syn-flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
## Atak za pomocą skanera portów
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit
1/s -j ACCEPT
## Atak typu ping-of-death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j
ACCEPT
########### TU dopisuj przetestowane reguly #################
###iptables -A INPUT -p tcp -s 192.168.0.12 --sport 1433 -m state --state
NEW -j LOG --log-prefix INPUT_MYSQL --log-level warn
###iptables -A FORWARD -p tcp -s 192.168.0.12 --sport 1433 -m state --state
NEW -j LOG --log-prefix FRW_MYSQL --log-level warn } function end {
echo "Zatrzymanie Firewalla..."
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
#wylaczenie NAT/maskarady jezeli jest
iptables -t nat -F POSTROUTING
}
function test {
echo "Testowanie Firewalla..."
##iptables -A FORWARD -p tcp -s 192.168.0.7 -d ! 192.168.0.1 -i
eth1 --destination-port smtp -j LOG --log-prefix
FRW_BANNED_SMTP_MYDOOM: --log-level warn ##iptables -A FORWARD -p tcp -s
192.168.0.7 -d ! 192.168.0.1 -i eth1 --destination-port smtp -j REJECT
}
case "$1" in
########################### START
########################################################
start)
if [ $RULE_COUNT != 8 ]; then
echo "UWAGA!! Skasowano poprzednie reguly.."
end
fi
begin
if [ "$2" = "list" ]; then
iptables -L
fi
;;
####################### STOP
##############################################################
stop)
end
;;
####################### TEST
###############################################################
test)
TEST=30 ### czas trwania testu
if [ "$2" ]; then
TEST=$2
fi
if [ $RULE_COUNT != 8 ]; then
echo "UWAGA!! Skasowano poprzednie reguly.."
end
fi
echo "UWAGA Firewall TEST bedzie trwal $TEST sekund !! Mozliwe zerwanie
polaczenia!!"
sleep 5
echo "Dopisanie regul testowych..."
#### jesli chcesz dolaczyc nowe reguly do istniejacych zostaw ponizsza linie
bez zmian
begin
test
(sleep $TEST ; ./fw stop) &
;;
###################### RESTART
#############################################################
restart)
end
begin
;;
############################################################################
################
*)
echo $RULE_COUNT
echo "Uzyj: /etc/init.d/fw {start|stop|test|restart}"
exit 1
esac
Technical Details
Message-ID:
<c6q4cu$pmt$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Bolek" <bkamzelski@pzl-wola.pl> Newsgroups: alt.pl.comp.os.linux.debian Subject: Problem z FORWARD (firewall) Date: Thu, 29 Apr 2004 07:37:37 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 419 Message-ID: <c6q4cu$pmt$1@nemesis.news.tpi.pl> NNTP-Posting-Host: host137.pzl-wola.pl X-Trace: nemesis.news.tpi.pl 1083217118 26333 62.111.218.137 (29 Apr 2004 05:38:38 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Thu, 29 Apr 2004 05:38:38 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit