PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : firewall lässt nix fallen



darktr00per
19.09.02, 20:01
nochmal!

ich hab erst alles erlauben lassen in den Regeln und dann die wichtigen ports für das inet gesperrt aber irgendwie is http (apache benutzt doch port 80 zumindest standardmäßig) immer noch erreichbar!



#!/bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

# module laden
/sbin/insmod iptable_nat &> /dev/null
/sbin/insmod ip_conntrack &> /dev/null
/sbin/insmod ip_conntrack_ftp &> /dev/null
/sbin/insmod ip_nat_ftp &> /dev/null

iptables --flush
iptables -t nat --flush

iptables -F
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT

# routing
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -i ! ppp0 -m state --state NEW -j ACCEPT
#iptables -A FORWARD -o ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# SMB nach aussen sperren
iptables -A FORWARD -o ppp0 -p tcp --dport 137:139 -j REJECT
iptables -A FORWARD -o ppp0 -p udp --dport 137:139 -j REJECT

# ftp nach aussen sperren
iptables -A FORWARD -o ppp0 -p tcp --dport 40000 -j REJECT
iptables -A FORWARD -o ppp0 -p udp --dport 40000 -j REJECT

# webserver von ausen erreichbar
iptables -A FORWARD -p tcp -i ppp0 --dport 80 -j REJECT
iptables -A FORWARD -p udp -i ppp0 --dport 80 -j REJECT

# kaZaa verbieten
iptables -A FORWARD -i ppp0 -p tcp --dport 1214 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 1214 -j REJECT

# telnet fallen lassen
iptables -A FORWARD -i ppp0 -p tcp --dport 23 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 23 -j REJECT

# ftp auf port 21 fallen lassen
iptables -A FORWARD -i ppp0 -p tcp --dport 21 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 21 -j REJECT

# http auf port 80 fallen lassen
iptables -A FORWARD -i ppp0 -p tcp --dport 80 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 80 -j REJECT

# mldonkey auf port 4001,4080,4000 fallen lassen
iptables -A FORWARD -i ppp0 -p tcp --dport 4001 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 4001 -j REJECT
iptables -A FORWARD -i ppp0 -p tcp --dport 4080 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 4080 -j REJECT
iptables -A FORWARD -i ppp0 -p tcp --dport 4000 -j REJECT
iptables -A FORWARD -i ppp0 -p udp --dport 4000 -j REJECT


##################
# portforwarding #
##################
# forward
#iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1412: -j TCPMSS --set-mss 1452

# icq
iptables -t nat -A PREROUTING -p tcp --dport 5010:5030 -i ppp0 -j DNAT --to-destination 192.168.2.2:5010-5030

# ftp server + dcc
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000:2400 -j DNAT --to 192.168.2.2:2000-2400

# quake + halflife
#iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 27005 -j DNAT --to 192.168.2.2:27005

# battlecom
iptables -t nat -A POSTROUTING -o ppp0 -p tcp --dport 2300:2400 -j SNAT --to 192.168.2.2:2300-2400
iptables -t nat -A POSTROUTING -o ppp0 -p udp --dport 2300:2400 -j SNAT --to 192.168.2.2:2300-2400
iptables -t nat -A POSTROUTING -o ppp0 -p tcp --dport 47624 -j SNAT --to 192.168.2.2:47624
iptables -t nat -A POSTROUTING -o ppp0 -p udp --dport 700 -j SNAT --to 192.168.2.2:700
iptables -t nat -A POSTROUTING -o ppp0 -p tcp --dport 5000:5011 -j SNAT --to 192.168.2.2:5000-5011
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2300:2400 -j DNAT --to 192.168.2.2:2300-2400
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 2300:2400 -j DNAT --to 192.168.2.2:2300-2400
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 47624 -j DNAT --to 192.168.2.2:47624
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 47624 -j DNAT --to 192.168.2.2:47624
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 28800:28900 -j DNAT --to 192.168.2.2:28800-28900
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 700 -j DNAT --to 192.168.2.2:700
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5000:5011 -j DNAT --to 192.168.2.2:5000-5011

####################
# regeln auflisten #
####################

iptables -L
echo ""
echo "#############"
echo "# Alles ok! #"
echo "#############"
echo ""

DerLipper[TuX]
20.09.02, 09:24
Du hast da ein Reihenfolgeproblem.

Erst alles sperren und dann Ports freigeben wäre die richtige Vorgehensweise weil die Chains sequentiell abgearbeitet werden.

Gruß,
Marko

Tommy_20
20.09.02, 12:59
Also ich würd die default-policies auf DENY / DROP / REJECT setzen (was du möchtest) und dann eher selectiv erlauben, was durchgehen darf.

darktr00per
20.09.02, 13:35
hmm ich wollte eher alles auf ACCEPT stellen und dann die sachen die man nicht erreichen soll
sperren!

Wenn ich alles Drope vor oder hinten irgendwas funktioniert nie das hab ich schon so oft probiert hat bisher noch nie funktioniert!

Falls ihr mir helfen wollt es sollen eigentlich nur die Ports erlaubt werden die ich in meinem script verwende!

sry aber ich habs das schon echt so oft durchgekaut und nie hats funktioniert deshalb will ich erst alles freischalten und dann der reihe nach alles kappen was gekappt werden soll!

namina
20.09.02, 14:14
Einfach die Reihenfolge umdrehen: Erst einzelne Sachen verbieten, dann alles erlauben.

Es ist dir doch klar, daß somit die Firewall fast keinen Sinn hat ?

darktr00per
20.09.02, 14:37
1.Jo eigentlich ists mir schon klar! Aber es funktioniert nie wenn ich alles verbiete geht das internet nicht mehr und welchen port soll ich reischalten port 80 ises ja nicht da das der apache ist und masquerading ist auch! Vielleicht könnt ihr mir paar Tips geben was ich erst freischalten soll wenn ich alles verbieten das zumindest inet funktioniert!

2.Was benutzt tcp/udp?

http, proftpd, samba, telnet, ssh, kaZaa, mail, smtp???

Bzw. was benötige ich alles zum freischalten wenn ich email funktionen vom client verwende oder hat smtp und pop3 port nichts mit andren clients am hut??

3.könnte ich vielleicht den speed der über einen bestimmten port geht drosseln oder nur eine max. anzahl an connections erlauben?

namina
20.09.02, 14:49
schau dir mal die /etc/services an, da stehen viele schöne sachen drin. :-)

darktr00per
21.09.02, 09:40
ja thx aber kann ich auch die connections auf einen bestimmten port einschränken auf bsp. 10connections oder auf ne ganze ip legen???

Da mein Bruder den ganzen Tag den KaZaa am laufen hat will ich ihm etwas einhalt verwehren da er immer mit fullspeed zieht ich somit aufegschmissen bin will ich irgendwie sein kaZaa download dezimieren! kaZaa Port is 1214

Weis wer wie ich das anstellen kann?

Harry
21.09.02, 09:50
Original geschrieben von darktr00per
2.Was benutzt tcp/udp?

http, proftpd, samba, telnet, ssh, kaZaa, mail, smtp???

HTTP: 80/tcp
FTP: 21/tcp + >1023/tcp
Samba: 137/udp, 138/udp, 139/tcp
Telnet: 23/tcp
ssh: 22/tcp
kaZaa: weiß net
SMTP: 25/tcp
POP3: 110/tcp

Harry

namina
21.09.02, 13:19
man iptables

suche nach limit, bzw. limit-burst. Ich habs selbst nocht nicht gemacht. Vielleicht hilft dir ja diese Art der einschränkung.

Jinto
21.09.02, 14:00
Warum fängst du nicht erstmal an deinen Apache zu konfigurieren (ich werd nicht Müde, dass zu "presdigen"). Du musst deinen Apache nicht unbedingt so einrichten, dass er auf Anfragen von aussen Antwortet.

Sobald alle deine Dienste korrekt konfiguriert sind, kannst du dir ja nochmals Gedanken über das Filtern machen (dann vielleicht mit default-Policy verwerfen).

Zum Thema Einhalt gebieten:
Such mal hier im Forum nach:
trafficshaping / lart / wonder shaper

IMHO wird Paketfiltern oft als Korrektur für schlampige konfigurierte Daemons verwendet.