Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Linux als Firewall...

Hallo zusammen,
ich möchte einen Linuxrechner als Firewall benutzen. Gibt es
da irgendwo ein tutorial oder Hilfen wie man sowas einrichtet?
Dankr Euch für jeden Tip...
Gruß


Antworten zu Linux als Firewall...:

Hallo,


welche Linux-Distribution soll denn das machen?

Suse9.2

Hallo,

Hmm, na dann, was soll ausser Firewall noch machen?

Hallo,
dank Dir für Deine Postings!
also sonst eigentlich nix. Ich möchte einen Linux
Rechner zwischen Router und Server als Firewall
schalten einfach zur Sicherheit...
Gruß

Hallo,

Ein Router ist normalerweise in der Grundkonfiguration von aussen(I-Net) nach innen(LAN) dicht.

Ein sehr großer Teil der Viren etc kommen über die Webseiten als "freundliches" Anhängsel mit.

Spy- Malware und die anderen Konsorten die also von deinem Rechner nach "Haus" telefonieren kommen wie gesagt meist über die aufgerufenden Webseiten.

Welche Aufgaben hat den dein Server und welches BS.

Wenn du Suse als Firewall beschäftigen willst mache dich vorher unbedingt mit der Problematik-Linux(Suse)-Firewall vertaut.

denn du müßtest und "darfst" nur die dazu nötigen Pakete installieren.

Hast du in deinen Firewall-PC zwei Netzkarten vorgesehen,

Hast du schon mal was vin "iptables" und "sellinux" gehört?
Hast du schon mal was von Proxy-Server(squid) gehört?

Hi,
also am Server ist 2000Server installiert.
Im Linux System sollen dann 2 Lankarten rein.
1 * zum Win-Server, einmal zum Linux.
Ich komme aus der Windows-Welt. Da sagen mir
IPs usw. sicher was. Auch Proxy usw.
Aber auf Linux bin ich halt absoluter Neuling.
Vielleicht gibts da ein Tutorial oder Du kannst
mir ein gutes Buch empfehlen...
Dank Dir für Deine Hilfe!!!
Gruß

Hallo,

Vllt. schaust du dir mal den "IP-COP" an. da gibt es auch eine gute Anleitung dazu ;)

SuSe ist da meiner Meinung nach nicht so das ware ;)
Viel zu viel drum rum.

Willst du nur surfen und oder willst du auch Dienste bereitstllen?

Hi,
also das Ganze soll nur zum Schutz des Netzes dienen.
Es wird darüber nur gesurft und gemailt. Was meinst Du
mit Diensten?
Wenns ne andere gute Alternative gibt, erzähls mir...
Ich nehm gern was einfacheres, aber es sollte ein
guter Schutz sein.
Dank Dir...
gruß

Hallo,

Mit Diensten meinte ich das du sowas wie'n Mailserver Webserver, MySQL-Server FTP etc drauf machen willst

Schau dir mal das Linux IP-COP an das ist eigentlich für sowas gemacht worden ;)

Hallo nochmal, letzte Frage:

IP-COP - was is das? Buch Software v. Linux???
Danke für Deine Mühe...
Gruß :)

 .

Alles abschalten oder entfernen !

* Alles Compilerwerkzeuge
Auf einem Server sollten keine Compiler oder ähnliches zu finden sein. Ein
Eingreifer der bereits eingedrungen ist könnte das sonst nutzen um weitere Exploits zu compilieren. Braucht man ein Paket auf dem Server dass nicht im Paketverwaltungssystem enthalten ist sollte man man es auf einer zweiten Maschine compilieren und mittels "checkinstall" in ein Paket umwandeln welches man dann auf dem Server installieren kann.

* Dienste abschalten
Alle Dienste die nicht benötigt werden sollten abgeschaltet werden. Inetd ist z.B. ein Dienst den man nicht unbedingt braucht. Auch die ganzen r - Dienste wie rsh, sowie Telnet sollte man abschlaten da es mit ssh und scp bessere alternativen dafür gibt.

* Dienste nur an das loopback device binden
Dienste die nicht von außen erreichbar sein müssen (wie z.B. mysql) sollten nur an das Loopbackdevice gebunden sein (also nur auf die Adresse 127.0.0.1 hören). Lassen sich Dienste nicht an bestimmte Adressen binden sollten sie mit einer Firewall daran gehindert werden an anderen Adressen zu lauschen.

* Nur Distributionen verwenden die regelmäßige Updates erhalten.
Man sollte für einen Server z.B. kein Debian testing oder unstable einsetzen, da diese nicht über die automatischen Sicherheitsupdates wie die Stablevariante haben.

* ssh nur per Publickey und nicht für root.
Man sollte den Zugang mittels Username & Passwort für SSH abschalten,da sonst eine Brootforce Attacke Erfolg haben könnte. Außerdem sollte man Root das anmelden per SSH generel verbieten. Stattdessen sollt eman sich einen normalen User erstellen über welchen man sich einloggt und dann mittels "su" rootrechte erlangt falls benötigt.

Desweiteren sollte man dem SSH Daemon eine Liste der Benutzer mitgeben die sich überhaupt einloggen dürfen. (Das geht in der sshd_config über die Einstellung "allowUsers <benutzername1> <benutzername2>"

so, ich denke mal folgende config dürfte für ein Routersystem mit 2 Netzwerkkarten recht sinnvoll sein.
Es gilt in diesem Beispiel:
192.168.0.0/24 hat direkten Internetzugang über 192.168.0.1 als Gateway (Hardware-Router)

DNS Server REAL = 192.168.0.1 bei Subnet 255.255.255.0
Server WAN = 192.168.0.5 bei Subnet 255.255.255.0
Server LAN = 176.13.180.1 bei Subnet 255.255.0.0
Client LAN = 176.13.180.2 bei Subnet 255.255.0.0
DNS Server am Client = 176.13.180.1 bei Subnet 255.255.0.0
Gateway am Client = 176.13.180.1 bei Subnet 255.255.0.0


## Diese Firewall kann im Moment:
#1) Routen (192.168.0.0/24 > 176.13.180.0/24)
#2) zum Client hin filtern (CLIENT <--> INTERNET)
#3) Client maskieren (176.13.180.0/24 = 192.168.0.5)
#4) Groessere Sicherheitsluecken abdecken (--state-invalid zb.)
#5) Namen uebersetzen (bind9 muss installiert und gestartet sein!)

#es wird noch dazu kommen:
#1) Schutz des SERVER <--> INTERNET Netzes
#2) Content Filtering (Domainsperren etc...)
#3) erweitertes Content Filtering (Headeranalyse und -filterung)
#4) sichere Shell, sicheres FTP (strict chRoot)

## Basis-Config laden, alle Regeln loeschen
########################################################
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
#########################################################

##Default-Policies setzen
########################################################
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP #Und hier is Schluss mit lustig Smile)
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING DROP
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
##########################################################

##Client darf folgendes
#########################################################
#########################################################
iptables -A FORWARD -p tcp --dport 53 -s 176.13.180.1 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -s 176.13.180.1 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
#########################################################
#########################################################

##Dem Client die eigene IP geben
####################################################
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
####################################################

##Routing zwischen 2 Netzen erlauben
##################################################
iptables -A FORWARD -d 176.13.180.0/24 -j ACCEPT
##################################################

##kopierte, leicht geaenderte Sicherheitseinstellungen
#([email protected])
####################################################################
# FORWARD fuellen
iptables -A FORWARD -p tcp -m limit --limit 7200/h -j LOG --log-prefix "TCP "

iptables -A FORWARD -p udp -m limit --limit 7200/h -j LOG --log-prefix "UDP "
iptables -A FORWARD -p icmp -m limit --limit 7200/h -j LOG --log-prefix "ICMP "
iptables -A FORWARD -s 192.168.0.0/24 -j DROP
iptables -A FORWARD -m limit --limit 7200/h -j LOG --log-prefix "OTHER "


#Alle verworfenen Pakete protokollieren

iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "

# Korrupte Pakete zurueckweisen
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

# Stealth Scans etc. DROPpen
# Keine Flags gesetzt
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP

# SYN und FIN gesetzt
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# SYN und RST gleichzeitig gesetzt
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# FIN und RST gleichzeitig gesetzt
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

# FIN ohne ACK
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP

# PSH ohne ACK
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j DROP

# URG ohne ACK
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP

# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


# Max. 500/Sekunde (5/Jiffie) senden
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit

# Speicherallozierung und -timing fr IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time

# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

# Maximal 3 Antworten auf ein TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1

# TCP-Pakete maximal 15x wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2


In eine Datei auf dem SuSe-Rechner packen, diese mit "chmod +x DATEI" ausführbar machen, und dann einfach mal starten.

Um die Firewall/Router wieder zu deaktivieren, hilft folgendes:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X


« 9.2: Startet nicht richtigNächstes Problem, Tastatur! »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Firewall
Die Firewall agiert als Barriere oder Schutzschild zwischen einem internen Netzwerk (z.B. einem Heim- oder Unternehmensnetzwerk - LAN) und externen Netzwerken (wie dem In...

Directory
Ordner im Dateisystem eines Computers. Siehe auch Ordner ...

Linux
Linux bezeichnet ein kostenloses Betriebssystem, das als Open Source verfügbar ist. Die erste Version entstand 1991 und wurde von dem Finnen Linus Torvalds aus dem S...