Mailinglist Archive: opensuse-de (2118 mails)
| < Previous | Next > |
RE: Suse 9.1: Suse-Firewall verhindert SSH-Zugriff
- From: "Markus Heidinger" <suselist@xxxxxxxxxxxxxx>
- Date: Thu, 1 Sep 2005 00:49:00 +0200
- Message-id: <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAA/1CQpDgB7EOfwTQkl4xuqcKAAAAQAAAAkNKKZmpov0iTS05ZYi6vpwEAAAAA@xxxxxxxxxxxxxx>
Stefan Kleeschulte wrote at Thursday, September 01, 2005 12:11 AM
> Tja, was dabei rausgekommen ist...
> Eine Datei 'firewall' gibt's dann im Root-Verzeichnis
> immernoch nicht.
> Das Script funktioniert aber, ich hatte zusätzlich noch ein 'cp
> /var/log/warn /root/warn' eingefügt, 'warn' ist nun im
> Root-Verzeichnis
> vorhanden. Und auch eine Datei namens 'fwrules' ist da, mit folgendem
> Inhalt (das "> " vor jeder Zeile habe ich eingefügt, damit mein
> Mailprogramm die Zeilen nicht umbricht):
Naja da haben wir ja schon was ...
> > ACCEPT all -- anywhere anywhere
Das kann nicht ganz der Anfang sein ... M.E. ist das die "Chain INPUT" ...
Hast Du evtl am Anfang ein oder zwei Zeilen beim kopieren verloren?
Die ersten vier Zeilen bei mir sind:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state
RELATED,ESTABLISHED
> [...]
> Chain input_ext (1 references)
So bis hierher kommen wir jedenfalls, wenn das oben die Input Chain ist ...
> target prot opt source destination
> DROP tcp -- anywhere anywhere tcp dpt:ssh
flags:SYN,RST,ACK/SYN
[...]
Nun ja, das da oben schaut mir komisch aus, hier werden ssh Pakete explizit
geDROPped statt durchgelassen. Kann es sein, dass Du ssh in verbotenen und
nicht in _erlaubten_ Diensten eingetragen hast? Ansonsten macht vielleicht
Dein yast was falsch. Hier sollte stehen:
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Aber ich hab eine Idee, noch dazu mit einem Sicherheitplus. Wo auch immer Du
ssh erlaubt hast, dort nimmst Du es wieder weg.
Stattdessen setzt Du den Parameter 25.) (wahrscheinlich), auf jeden Fall
FW_CUSTOMRULES="" auf "/etc/sysconfig/SuSEfirewall2-custom".
In ebendiesem Skript fügst Du folgende drei Zeilen in den Abschnitt
fw_custom_after_antispoofing() {
iptables -A input_ext -p tcp --dport 22 -m recent --update --seconds 300
--hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A input_ext -p tcp --dport 22 -m recent --update --seconds 300
--hitcount 4 --rttl --name SSH -j DROP
iptables -A input_ext -p tcp --dport 22 -m state --state NEW -m recent
--set --name SSH -j ACCEPT
true
}
ein, wie oben gezeigt. Das Mailprogramm wird das umbrechen, jede Zeile
beginnt mit "iptables".
Hier hast Du gleich einen Schutz gegen ssh-brute-Force attacken dabei: der
5. Verbindungsversuch von derselben IP wird geblockt, der nächste Versuch
ist erst nach 5 Minuten Pause (von diesem Host) möglich.
Das funktioniert so bei mir einwandfrei. Was an der anderen Konfig nicht
stimmt, sieht man zwar, aber ich weiss nicht wie es dazu kommt.-
Regards,
Markus
> Tja, was dabei rausgekommen ist...
> Eine Datei 'firewall' gibt's dann im Root-Verzeichnis
> immernoch nicht.
> Das Script funktioniert aber, ich hatte zusätzlich noch ein 'cp
> /var/log/warn /root/warn' eingefügt, 'warn' ist nun im
> Root-Verzeichnis
> vorhanden. Und auch eine Datei namens 'fwrules' ist da, mit folgendem
> Inhalt (das "> " vor jeder Zeile habe ich eingefügt, damit mein
> Mailprogramm die Zeilen nicht umbricht):
Naja da haben wir ja schon was ...
> > ACCEPT all -- anywhere anywhere
Das kann nicht ganz der Anfang sein ... M.E. ist das die "Chain INPUT" ...
Hast Du evtl am Anfang ein oder zwei Zeilen beim kopieren verloren?
Die ersten vier Zeilen bei mir sind:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state
RELATED,ESTABLISHED
> [...]
> Chain input_ext (1 references)
So bis hierher kommen wir jedenfalls, wenn das oben die Input Chain ist ...
> target prot opt source destination
> DROP tcp -- anywhere anywhere tcp dpt:ssh
flags:SYN,RST,ACK/SYN
[...]
Nun ja, das da oben schaut mir komisch aus, hier werden ssh Pakete explizit
geDROPped statt durchgelassen. Kann es sein, dass Du ssh in verbotenen und
nicht in _erlaubten_ Diensten eingetragen hast? Ansonsten macht vielleicht
Dein yast was falsch. Hier sollte stehen:
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Aber ich hab eine Idee, noch dazu mit einem Sicherheitplus. Wo auch immer Du
ssh erlaubt hast, dort nimmst Du es wieder weg.
Stattdessen setzt Du den Parameter 25.) (wahrscheinlich), auf jeden Fall
FW_CUSTOMRULES="" auf "/etc/sysconfig/SuSEfirewall2-custom".
In ebendiesem Skript fügst Du folgende drei Zeilen in den Abschnitt
fw_custom_after_antispoofing() {
iptables -A input_ext -p tcp --dport 22 -m recent --update --seconds 300
--hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A input_ext -p tcp --dport 22 -m recent --update --seconds 300
--hitcount 4 --rttl --name SSH -j DROP
iptables -A input_ext -p tcp --dport 22 -m state --state NEW -m recent
--set --name SSH -j ACCEPT
true
}
ein, wie oben gezeigt. Das Mailprogramm wird das umbrechen, jede Zeile
beginnt mit "iptables".
Hier hast Du gleich einen Schutz gegen ssh-brute-Force attacken dabei: der
5. Verbindungsversuch von derselben IP wird geblockt, der nächste Versuch
ist erst nach 5 Minuten Pause (von diesem Host) möglich.
Das funktioniert so bei mir einwandfrei. Was an der anderen Konfig nicht
stimmt, sieht man zwar, aber ich weiss nicht wie es dazu kommt.-
Regards,
Markus
| < Previous | Next > |