Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

IPTables (Firewall) Script für euren Server

AW: IPTables (Firewall) Script für euren Server

Wozu werden die SSH BOT IP's zusätzlich gesperrt, wenn man am Anfang doch eh alles komplett aussperrt, und nur die eingetragenen Regeln durch lässt?
 
AW: IPTables (Firewall) Script für euren Server

Ich nutze dieses Script nun auch schon etwas länger. Nun wollte ich die "Ping"-Sperre ausschalten. Dabei ist mir aufgefallen, das im Script fehler sind.

Undzwar:
Code:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          custom firewall
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: firewall initscript
# Description:       Custom Firewall
### END INIT INFO

IPT=/sbin/iptables

case "$1" in
start)

# bestehende Verbindungen
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Über Loopback alles erlauben
$IPT -I INPUT -i lo -j ACCEPT
$IPT -I OUTPUT -o lo -j ACCEPT
# SSH
$IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# OSCAM WEB
$IPT -A INPUT -i eth0 -p tcp --dport 16002 -j ACCEPT
# CCCAM
$IPT -A INPUT -i eth0 -p tcp --dport 12000 -j ACCEPT
# CCCAM WEB
$IPT -A INPUT -i eth0 -p tcp --dport 16001 -j ACCEPT
# CS378X
$IPT -A INPUT -i eth0 -p tcp --dport 12345-j ACCEPT
# CAMD35
$IPT -A INPUT -i eth0 -p udp --dport 12345-j ACCEPT
# PING SPERRE AKTIV
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
# SICHERHEIT
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-reply -m limit --limit 1/s
$IPT -A INPUT -i eth0 -j REJECT
echo "Firewall wurde aktiviert, der Server ist geschützt"
exit 0
;;

stop)
$IPT -F INPUT
echo "Achtung, Firewall wurde gestoppt, der Server ist ungeschützt"
exit 0
;;

restart|reload|force-reload)
$0 stop
sleep 1
$0 start
exit 0
;;

*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
;;
esac

So ist das Script richtig.
$IPT -A INPUT -i eth0 -j REJECT
muss als letztes stehen, sonst werden alle Regeln, die danach eingetragen sind ignoriert.

Will man nun das anpingen zulassen, muss man
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP

ändern in
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
 
AW: IPTables (Firewall) Script für euren Server

Hi,
richtig.
Wurde in #44 auch schon einmal festgestellt.

Gruß
janni1
 
AW: IPTables (Firewall) Script für euren Server

festgestellt ja, aber wirklich geändert wurde es ja nicht.
und das
$IPT -A INPUT -i eth0 -j REJECT
ans Ende muss, wurde auch nicht geschrieben.

So kann das Script von mir komplett übernommen werden, und es funktioniert auch alles.
Wäre schön, wenn dies im Startpost evtl. so übernommen wird.
 
AW: IPTables (Firewall) Script für euren Server

Wie lösche ich die Firewall wieder ?
 
AW: IPTables (Firewall) Script für euren Server

f stop
cd /etc/init.d/
rm firewall
 
AW: IPTables (Firewall) Script für euren Server

Ich nutze eine andere Firewall, und bekomme diese Fehlermeldung:
/etc/init.d/firewall: Zeile 22: test: which: Zweistelliger (binärer) Operator erwartet.

Zeile 21 sieht so aus:
test -f $iptables || exit 0

Kann damit jemand was anfangen?
 
AW: IPTables (Firewall) Script für euren Server

Hi,

Ich bin jetzt nicht der Firewallexperte, denke aber es wäre hilfreich das komplette Skript zu Posten.

Mit "which" bekommst Du normal Ort der Datei (und Version(?)) heraus.

which apache2 z.B.

Gruss

Gesendet über 38 Ecken ☝
 
AW: IPTables (Firewall) Script für euren Server

Die Firewall befindet sich standardmäßig unter /etc/init.d/

So sieht das Ganze dann aus:
#!/bin/sh
### BEGIN INIT INFO
# Provides: Firewall
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Firewall startscript.
# Description: Starts Firewall
### END INIT INFO
# 1. chmod 777 firewall
# 2. update-rc.d firewall defaults
# 3. service firewall start
# 4. erst neustarten wenn ... bescheid sagt
# iptables suchen
sleep 10
iptables="which iptables"


# wenn iptables nicht installiert abbrechen
test -f $iptables || exit 0


case "$1" in
start)
echo "Starte Firewall..."
# alle Regeln löschen
$iptables -t nat -F
$iptables -t filter -F
$iptables -X
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#####################################################
# Ausgehende Verbindungen


#Ungenutzte Regeln
#$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED --dest homeserver.dyndns.org -p tcp --dport 0:65500 -j ACCEPT
#$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED --dest homeserver.dyndns.org -p tcp --dport 0:65500 -j ACCEPT


#Standard Freigaben
$iptables -A OUTPUT -m state --state NEW -p udp --dport 53 -j ACCEPT #Absolut notwendig ist der DNS auf Port 53, da der Server sonst keine Hostnamen auflösen kann!
$iptables -A OUTPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT #Absolut notwendig ist der DNS auf Port 53, da der Server sonst keine Hostnamen auflösen kann!
$iptables -A OUTPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 20 -j ACCEPT
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 21 -j ACCEPT
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 80 -j ACCEPT
#$iptables -A OUTPUT -m state --state NEW -p tcp --dport 1234 -j ACCEPT
#$iptables -A OUTPUT -p icmp --icmp-type 0 -s xxx.xxx.xxx.xxx -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT


#Ausgehender Share.
#
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 11111 -j ACCEPT #
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 22222 -j ACCEPT #
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 33333 -j ACCEPT #


#####################################################
# Eingehende Verbindungen

#Ungenutzte Regeln
#$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver -p tcp --dport 0:65500 -j ACCEPT
#$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver.dyndns.org -p tcp --dport 0:65500 -j ACCEPT

#ICMP Allowed
#$iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d xxx.xxx.xxx.xxx -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#SSH Zugriff
#Nur über eigene Dyn Adresse SSH Port erreichbar!
$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver.dyndns.org -p tcp --dport 21 -j ACCEPT

#Webif Zugriff
# Port 1234
$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver.dyndns.org -p tcp --dport 1234 -j ACCEPT #ggf. Anpassen!

#Webif Zugriff
# Port 1234
$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver.dyndns.org -p tcp --dport 1234 -j ACCEPT #ggf. Anpassen!

#Webif Zugriff
# Port 1234
$iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED --source homeserver.dyndns.org -p tcp --dport 1234 ACCEPT #ggf. Anpassen!


$iptables -A INPUT -i eth0 -j REJECT
;;
stop)
echo "Stoppe Firewall..."
$iptables -t nat -F
$iptables -t filter -F
$iptables -X
$iptables -P INPUT ACCEPT
$iptables -P OUTPUT ACCEPT
$iptables -P FORWARD ACCEPT
;;
restart|reload|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/firewall (start|stop)"
exit 1
;;
esac
exit 0
 
AW: IPTables (Firewall) Script für euren Server

In wie fern genau sollte es dann angepasst werden? Haste mal ein Bsp parat?
 
AW: IPTables (Firewall) Script für euren Server

Hab ich. Dann kommt mein altes Problem:
Code:
root@...:~# f start
Starte Firewall...
Bad argument `ACCEPT'
Try `iptables -h' or 'iptables --help' for more information.

Und der Witz ist, dass ich kein `ACCEPT' drin habe.
 
Zuletzt bearbeitet:
AW: IPTables (Firewall) Script für euren Server

Hi,

Ich sitze gerade nicht vorm PC, evtl. kommst Du der Geschichte näher mit einer Verbose Ausgabe oder einem Blick ins Syslog.

Sowas wie:

f Start -V

(Wie gesagt kanns gerade nicht testen).

Sind denn nur die gewünschten Ports nach aussen offen?

Testen kannste das mit "nmap".

Gruss

Gesendet über 38 Ecken ☝
 
AW: IPTables (Firewall) Script für euren Server

Bei f Start -V kommt der gleiche Fehler raus.
Das ist ein Testserver auf dem ich die Firewall ausprobieren möchte. Da ist nur ein Programm drauf installiert was ich dafür testen möchte.
Sobald die Firewall mal funktionieren würde, weiß ich ob die Ports dicht sind oder nicht, und auch ob der Server noch anpingbar ist oder nicht.

Das ist verrückt, ich hab diese Firewall früher immer genommen, angepasst und es hat auf anhieb funktioniert. Nur dieses mal will es einfach nicht.

nmap (nmap -sT IP) sagt 999 closed ports, 88/tcp open kerberos-sec.
 
Zurück
Oben