Firewall auf vserver?

effect-energy

Registered User
HAllo - versuche seit Tagen ne Firewall auf meinem vserver zum laufen zu bringen - egal was ich versucht habe - nur ein reboot hat mir wieder zugriff verschafft.
folgende Fehlermeldung:

# /etc/init.d/firewall.sh start
Starte IP-Paketfilter
/etc/init.d/firewall.sh: line 25: modprobe: command not found
/etc/init.d/firewall.sh: line 27: modprobe: command not found
/etc/init.d/firewall.sh: line 29: modprobe: command not found
/etc/init.d/firewall.sh: line 30: modprobe: command not found
iptables v1.2.7a: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.2.7a: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.2.7a: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.2.7a: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.



Hier das script:

cat firewall.sh
#!/bin/bash
# ---------------------------------------------------------------------
# Linux-iptables-Firewallskript, Copyright (c) 2004 under the GPL
# Autogenerated by iptables Generator v1.16 (c) 2002 by Harald Bertram*
# Please visit http://www.harry.homelinux.org for new versions of
# the iptables Generator (c).
#
# This Script was generated by request from:
# [email protected] on: 2004-4-15 20:34.27 MET.
#
# If you have questions about the iptables Generator or about
# your Firewall-Skript feel free to take a look at out website or
# send me an E-Mail to [email protected].
#
# My special thanks are going to Lutz Heinrich ([email protected]) who
# made lots of Beta-Testing and gave me lots of well qualified
# Feedback that made me able to improve the iptables Generator.
# --------------------------------------------------------------------

case "$1" in
start)
echo "Starte IP-Paketfilter"

# iptables-Modul
# modprobe ip_tables
# Connection-Tracking-Module
# modprobe ip_conntrack
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
# modprobe ip_conntrack_irc
# modprobe ip_conntrack_ftp

# Tabelle flushen
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 DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# MY_REJECT-Chain
iptables -N MY_REJECT

# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "RE
JECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "RE
JECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "D
ROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OT
HER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DR
OP "
iptables -A MY_DROP -j DROP

# Alle verworfenen Pakete protokollieren
iptables -A INPUT -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 INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

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

# SYN und FIN gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP

# SYN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP

# FIN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP

# FIN ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP

# PSH ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP

# URG ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP

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

# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# HTTP
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 80 -j ACCE
PT

# HTTPS
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 443 -j ACC
EPT

# SMTP
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 25 -j ACCE
PT

# POP3
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 110 -j ACC
EPT

# POP3S
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 995 -j ACC
EPT

# DNS
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 53 -j ACCE
PT
iptables -A INPUT -i venet0:0 -m state --state NEW -p udp --dport 53 -j ACCE
PT

# FTP
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 21 -j ACCE
PT

# SSH
iptables -A INPUT -i venet0:0 -m state --state NEW -p tcp --dport 22 -j ACCE
PT

# MYSQL
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

# TELNET
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 23 -j ACCEPT

# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT

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

# Speicherallozierung und -timing für 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

;;

stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward

# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;

status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;

*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;

esac
 
Last edited by a moderator:
Hi,

lese mal diesen Thread .
Der Kern der Sache ist, daß Du bei einem vServer keinen Kernelmodule nachladen kannst. modprobe und modins werden immer Fehler ausspucken.

Und die Kernfrage bleibt natürlich: Was versprichst Du Dir von einer Firewall auf einem vServer?

huschi.
 
...es ist so : der support von s4f hat mir geschrieben das ich meinen server mit einer Firewall absichern sollte - ich solle mich doch mal mit dem Thema iptables beschäftigen.....
Alles umsonst - oder wie soll ich Deine Frage deuten?
 
effect-energy said:
der support von s4f hat mir geschrieben das ich meinen server mit einer Firewall absichern sollte
Interessant. Und wie war Deine Frage, auf die dies die Antwort war?
Ich ziehe meine Frage dann natürlich zurück. ;)

Zur Info:
Die User mbroemme und Hotte, die sich im o.g. Thread zu Wort gemeldet haben arbeiten bei S4Y und kennen sich mit den vServer-System recht gut aus.

huschi.
 
....ich habe gefragt wie das mit dem Thema Sicherheit aussieht - ob ich da aktiv werden muß - oder ob da von deren Seite schon ausreichend gemacht wurde....(....hab doch keine Ahnung als Neuling....)
 
Dann les Dich besser hier durchs Forum. Benutz die Suche-Funktion um zu bestimmten Wörtern / Diensten mehr zu erfahren.
Folgende Links könnten schon mal interessant sein:
- 1&1 Server-FAQ
- Ein Thread zu Buchtipps
- Ein Thread zur Absicherung des Systems (ab dem gelinkten Posting)

*zumirselbstspech*
Vieleicht sollte ich doch mal einen kompakten Bericht für den FAQ-Bereich schreiben.

Ansonsten, wenn Du ein angegierter Server-Admin werden willst, dann brauchst Du nur hier ständig mitlesen und Deine Fragen stellen... ;)

huschi.
 
....ich hab in den letzten 2 Wochen soviele Buchstaben abfolgen in Wörter umgesetzt - ich glaube soviel hab ich die letzten 2 Jahre zusammen nicht gelesen....
 
also das mit dem root sperren und als Benutzer einloggen klingt erstmal gut (Rechte-technisch) - aber wer jetzt als root reinkommt - der kommt auch als benutzer rein (dauert nur länger - oder???
 
Hä? Hast Du in der Frage etwas verdreht?
Der Sinn des Sperrens für root ist, daß kein Bruteforce auf den einzigen bekannten User des Systems stattfinden kann. Und sobald Du per User drin bist, kannst Du mit 'su -' und dem root-Passwort zum root werden.
Ich hab (aus Faulheit und gegen jeden Sicherheitsaspekt) mir meinen User so mit Rechten versehen, daß ich auch schon ohne 'su -' viele (wichtige) Dinge machen kann.

huschi.
 
.....genauso hab ich mir das gedacht....
...wenn ich den ssh zugang etwas sicherer mache den ftp zugang (den ich zum Dateien hochladen eigentlich brauche)abschalte - wo sind dann noch Möglichkeiten insd System zu gelangen???
 
"Viele Wege führen nach Rom." sagte irgend ein Philosoph, der vom Servern noch keine Ahnung hatte. Und dennoch hat er auch heute noch recht.

Aber gegen einfache Versuche bist Du schon mal ganz gut dran.

PS: Statt FTP kannst Du auch WinSCP nutzen. Das setzt auf dem ssh-Protokoll auf.

huschi.
 
Code:
/root/confixx/confixx_adduser.pl <user>
oder, wenn nicht vorhanden (z.B. bei Confixx-Premium-2003) dann kannst Du das normale 'adduser' nutzen. Achte nur darauf mit der UID zwischen 500 und 999 zu bleiben.

huschi.
 
Offiziell heißt der Befehl 'useradd'. adduser ist meißt ein alias darauf.
Wenn der sich per ssh einloggen darf, dann mußt Du noch ein paar Parameter mitgeben:
-m : Make home directory
-s : für shell
-u : die UID (>=500 < 1000)
-g : Gruppe
-p : Passwort

Ein User mit erweiterten Rechten könnte man dann so anlegen:
Code:
useradd -u 501 -g root -p PASSWORT -s /bin/bash -m USER
Wenn Du das -p PASSWORT weglässt (was sicherer ist) fragt er evtl. nicht nach dem Passwort. Dann mußt Du mit 'passwd USER' ein Passwort setzten.

huschi.
 
Nein, root steht für die Gruppe. Bei USER mußt Du den Benutzernamen angeben.
Wenn das Dein alternatives Login wird, kannst Du als Mitglied der Gruppe root bereits einiges machen, die Du sonst nicht machen könntest. (Z.B. /etc oder /var/log lesen.)

huschi.
 
Also:
habe Benutzer angelegt, und möcht nun in di /etc/ssh/sshd_config PermitRootLogin auf No stellen.
dabei ist mir auf gefallen, das die Zeile ja auskommentiert ist - ist das normal??

# Authentication:

#LoginGraceTime 120
#PermitRootLogin yes
#StrictModes yes

Die nächste einkommentierte Zeile ist 78:

X11Forwarding no




....mal kurz was anderes : habe gerade eine email erhalten :

Sehr geehrter Kunde,

der angeforderte Reboot Ihres vSERVER wurde ausgefuehrt.
Ihr Server sollte unter der bekannten Adresse wieder erreichbar sein.
Ist dies nicht der Fall, setzen Sie sich bitte mit unserem Support
in Verbindung.

Mit freundlichen Gruessen

Ihr vSERVER Team


....ich habe gar keinen reboot ausgeführt!
Kann da jemand was zu sagen??
 
Last edited by a moderator:
Angenommen ich will in einigen Monaten von vserver Basic auf vserver Max upgraden, muß ich dann diese ganzen Sicherheitseinstellungen neu bearbeiten, oder bleibt das alles wie ich es konfiguriert habe?
 
Back
Top