🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.os.linux.debian
Article #21630

Problem z FORWARD (firewall)

#21630
From: Bolek
Date: Thu, 29 Apr 2004 05:37
417 lines
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-mail

Show 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