PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables + firewall



rogen
06.07.02, 19:32
habe auf meinen server einen router

iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -j ACCEPT

iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 110 -j ACCEPT

laufen , funktioniert gut jetzt will ich mir eine firewall bauen - klar sonst wäre es ja zu unsicher -

habe howtos gelesen und das script

# sperrt alles ab

iptables -P INPUT DROP
iptables -P OUTPUT DROP

# interne bereich

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# für den ausgehenden verkehr

iptables -A OUTPUT -p tcp --sport 1024: --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 --dport 1024: ! --syn -j ACCEPT

# für das netzwerk

iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT

# für www server

iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

# dns server

iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# icmp

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

iptables -A INPUT -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT

# aufzeichnung

iptables -A INPUT -p udp --dport netbios-ns -j DROP
iptables -A INPUT -p udp --dport netbios-dgm -j DROP
iptables -A INPUT -p tcp --dport netbios-ssn -j DROP
iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG


iptables -A INPUT -p tcp --dport auth -j REJECT --reject-with tcp-reset
iptables -A INPUT -j DROP

iptables -A OUTPUT -p tcp -j REJECT --reject-with tcp-reset
iptables -A OUTPUT -p udp -j REJECT
iptables -A OUTPUT -j DROP


geschrieben wenn ich das script starte geht nichts mehr
ja ok das problem ist wenn ich den router starten möchten funktioniert der auch nichts mehr.

iptables -F
sollte doch alles löschen, damit man wieder von ei

gibt es ein befehl wo man iptables neu starten könnte und die firewall auszuprobieren

oder hat jemand eine gute firewall für mich
p.s ich habe adsl , apache , postfix .. und 2 rechner im netz hängen.

mfg

gerhard rogen

p.p.s gibt es ein wirklich gutes howto ? (deutsch)

msi
06.07.02, 19:37
iptables -F
iptables -t nat -F

deaktiviert die Firewall (in deinem Fall)

rogen
08.07.02, 09:00
wenn ich das 2 script starte kann ich mit iptables -f .. iptables -t nat -F
..
geht das erste script nicht mehr.

rogen
08.07.02, 10:52
mein ziel: computer sicher machen.
: router , webserver , dns server , postfix

das ist mein router :

iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -j ACCEPT

iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 110 -j ACCEPT

für die firewall:

# alles absperren
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# interne bereich freigeben
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


so jetzt bräuchte ich noch die regeln für den webserver, dns server , postfix . .. mm könnte mir jemand helfen.

danke

rogen
09.07.02, 20:48
habe ein script gefunden --
nur noch ein problem
wenn ich per ftp etwas auf dem server uploaden möchte
fragt er immer ports zw. 10000 und 65000 an.
die kann ich doch nich alle freischalten.

kann mir da jemand helfen danke.

mfg


#! /bin/sh
#
# ----- IP TABLES / FIREWALL ----
#
echo "Starting Firewall!"
#
#
iptables=/usr/sbin/iptables
#
# Benoetigte Module hinzufuegen
/sbin/modprobe ip_conntrack
#
# Zuruecksetzen aller Regeln
$iptables -F
$iptables -X
$iptables -Z
$iptables -P INPUT DROP
$iptables -P FORWARD DROP
$iptables -P OUTPUT DROP
#

# für das netzwerk

iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -j ACCEPT

iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.0.3 -p tcp --dport 110 -j ACCEPT


# Alle bereits bestehenden Verbindungen erlauben
$iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -I OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# Erlauben von PING
$iptables -A INPUT -m limit -p ICMP --limit 1 --limit-burst 2 -j ACCEPT
$iptables -A OUTPUT -m limit -p ICMP --limit 1 --limit-burst 2 -j ACCEPT
#
# Erlauben von Loopback-Verbindungen
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT
#
#Erlauben von FTP (Client)
$iptables -A INPUT -p tcp --dport 21 -j ACCEPT
$iptables -A INPUT -p tcp --sport 21 -j ACCEPT

$iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -j ACCEPT
#
#Erlauben von SSH (Server und Client)
$iptables -A INPUT -p tcp --dport 22 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
#
#Erlauben von pop3 (Server und Client)
$iptables -A INPUT -p tcp --dport 110 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 110 -j ACCEPT


#Erlauben von SMTP (Server und Client)
$iptables -A INPUT -p tcp --dport 25 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT
#
# Erlauben von DNS
$iptables -A INPUT -p udp --sport 53 --dport 7531 -j ACCEPT
$iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
#
#Erlauben von HTTP (Server und Client)
$iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 1024: --dport 80 -j ACCEPT
#
#Erlauben von ident
$iptables -A INPUT -p tcp --dport 113 -j ACCEPT -m limit --limit 2 --limit-burst 4
$iptables -A OUTPUT -p tcp --sport 113 -j ACCEPT -m limit --limit 2 --limit-burst 4
#
#Erlauben von IMAP (Server und Client)
$iptables -A INPUT -p tcp --dport 143 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 143 -j ACCEPT
#
#Erlauben von HTTPS (Server und Client)
$iptables -A INPUT -p tcp --dport 443 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
#
#Erlauben von Webmin (auf port 10000)
$iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 10000 -j ACCEPT
#
# Schluss und Logging
$iptables -A INPUT -j LOG
$iptables -A OUTPUT -j LOG
$iptables -A INPUT -p tcp --dport auth -j REJECT --reject-with tcp-reset
$iptables -A INPUT -j DROP
$iptables -A OUTPUT -p tcp -j REJECT --reject-with tcp-reset
$iptables -A INPUT -p udp -j REJECT
$iptables -A INPUT -j DROP
#
$iptables -L

Jinto
09.07.02, 22:32
Versuch es doch folgendermaßen:

1. Mache uns klar, welche Dienste bei dir laufen
2. Mache uns klar was du vor wem warum schützen willst
3. Fange an die von dir verwendeten Dienste zu konfigurieren (ist in der Regeln sinnvoller als ein unkontrollierter Einsatz eines Paketfilters)

HTH

Thomas Mitzkat
09.07.02, 22:40
schau dir erst mal das hier an:

http://www.pl-berichte.de/t_netzwerk/firewall-eigenbau.html

Bauchi
09.07.02, 23:59
hi,

packetfilter ist nicht firewall ...

falls dir das wort bastion host was sagt, dann bau dir sowas .. eine nicht routende instanz ... also kein nat, kein /proc/sys/net/ipv4/ip_forward das eine 1 enthält ...

schütz mit dem paketfilter deine firewall an sich ... nicht mehr ... nicht weniger ...
und dann installiere proxy's ... squid kann z.b. vieles abwickeln, und alles was du erstmal nicht gebacken bekommst, schickst du über socks5 raus ...

und wie jinto schon geschrieben hat ... -> erklär uns wovor du dich schützen willst

n8

rogen
10.07.02, 07:16
habe einen router, squid, apache, postfix , und bind9 am laufen.

hatte nur
/usr/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -j MASQUERADE
gehabt.
das ist anscheinend viel zu unsicher.
so dann habe ich mich auf die suche nach einer firewall gemacht und das war das ergebniss.
p.s. ich habe suse 8.0 als ich die firewall von suse ausprobiert habe ging nicht mehr. (routen usw).

mfg