Discussion:
[eisfair-64] Paket sshguard 0.9.1
(zu alt für eine Antwort)
Ansgar Püster
2020-07-26 12:35:22 UTC
Permalink
Hallo Sebastian,

die neue Paketversion habe ich auf einem Testsystem installiert.

Zwei Dinge sind mir aufgefallen:

1.) Im Menü
2 SSHGuard Service
2 Edit configuration

kommt es (fast) regelmäßig zu folgender Fehlersituation:

Activate configuration now (y/n) [yes]?
SSHGuard: Write '/etc/sshguard.conf' ...
[ OK ]
SSHGuard: Write '/var/lib/sshguard/whitelist.conf' ...
[ OK ]
* Stopping SSHGuard ...

Session terminated, killing shell... ...killed.
Terminated

Ich kann nicht wirklich sagen, woran das liegt. Ggf. versucht
killproc da die Prozessgruppe von sshguard abzuräumen, die aber
bereits in /usr/sbin/sshguard selbst via trap über kill 0 abgeräumt
wurde.
Kannst du das nachvollziehen?

2.) iptables / ipset

Ich finde es gut, dass du jetzt einen eigenen Chain benutzt.

3.) Doku
Man sollte ggf. in der Doku noch erwähnen, dass die geblockten
IPs beim Neustart des sshguard wieder freigegeben werden.
Ditto natürlich auch bei einem Reboot des Systems.
Ein ipset save / restore Mechanismus wäre meines Erachtens ein
wenig übertrieben.

So weit erst mal.
Gruß,
Ansgar
Sebastian Ertz
2020-07-28 04:35:48 UTC
Permalink
Hallo Ansgar,

zu 1) Kann leider dein Problem nicht nachstellen. Werde aber weiter
forschen. Funktioniert den das starten/stoppen von sshguard?
zu 2) Danke. Finde ich so besser.
zu 3) Die Doku wird in der nÀchsten Version ergÀnzt.

Gruß
Sebastian
Ansgar Püster
2020-07-28 12:17:59 UTC
Permalink
Hallo Sebastian,
Post by Sebastian Ertz
Hallo Ansgar,
zu 1) Kann leider dein Problem nicht nachstellen. Werde aber weiter
forschen. Funktioniert den das starten/stoppen von sshguard?
Über Direktaufruf von /etc/init.d/sshguard funktioniert das
zuverlässig!

Ich kann das gemeldete Problem (fast) immer reproduzieren und
zwar noch etwas einfacher:

1. Variante

/etc/init.d/sshguard stop

su - eis

4 Service administration
x SSHGuard Service

Dann im Menue bleiben und
6 Start service
5 Stop service

...killed.
Terminated

2. Variante

/etc/init.d/sshguard stop

su - eis

4 Service administration
x SSHGuard Service

Dann im Menue bleiben und
6 Start service
weiter im Menue bleiben.

Auf zweiter Console
pidof -x /usr/sbin/sshguard
Es werden zwei PIDs augegeben.
kill pid1 pid2

.... das Menue auf der ersten Konsole "stirbt"
Terminated

Der trap
trap "kill 0" EXIT
in
/usr/sbin/sshguard
ist meines Erachtens der Verursacher.

Ich habe allerdings derzeit keine Idee warum und wie man das
vermeiden kann.

Und noch was:
sshguard erkennt Attacken über IPv6
Jul 27 17:25:17 isotest sshguard[2806]: Blocking
"fe80::a00:27ff:fe6c:866c/128" for 21600 secs (3 attacks in 13 secs,
after 1 abuses over 13 secs.)
... aber es findet kein Blocking statt.

Sollte man ggf. dokumentieren ... aber IPv6 ist bei Eisfair
ja allgemein ein "weites Feld".

Gruß,
Ansgar
Ansgar Püster
2020-07-29 11:30:30 UTC
Permalink
Hallo,
Post by Ansgar Püster
Hallo Sebastian,
...
Post by Ansgar Püster
Der trap
 trap "kill 0" EXIT
in
 /usr/sbin/sshguard
ist meines Erachtens der Verursacher.
Mein Vorschlag:
Änderung an /usr/sbin/sshguard.

killpids() {
for pid in ${pids[*]}
do
kill $pid
done
}

....

#trap "kill 0" EXIT
trap "killpids" EXIT

eval $tailcmd | $libexec/sshg-parser | \
$libexec/sshg-blocker $flags | $BACKEND &

pids=(`jobs -l % | egrep -o '^(\[[0-9]+\]\+| ) [ 0-9]{5} ' | sed -e
's/^[^ ]* \+//' -e 's! $!!'`)

Nach der Änderung wird nicht mehr die process group gekillt,
sondern die Hintergrund-Prozesse aus der Pipe Konstruktion
nacheinander gekillt.

So weit erst mal.
Gruß,
Ansgar

Holger Bruenjes
2020-07-28 06:17:58 UTC
Permalink
Hallo
Post by Ansgar Püster
1.) Im Menü
2 SSHGuard Service
2 Edit configuration
Activate configuration now (y/n) [yes]?
SSHGuard: Write '/etc/sshguard.conf' ...
[ OK ]
SSHGuard: Write '/var/lib/sshguard/whitelist.conf' ...
[ OK ]
* Stopping SSHGuard ...
Session terminated, killing shell... ...killed.
Terminated
Ich kann nicht wirklich sagen, woran das liegt. Ggf. versucht
killproc da die Prozessgruppe von sshguard abzuräumen, die aber
bereits in /usr/sbin/sshguard selbst via trap über kill 0 abgeräumt
wurde.
Kannst du das nachvollziehen?
Vielleicht hilft da ja ein 'stopstart'

<edit stopstart>Stop process, edit configuration, start process</edit>


siehe auch:

http://www.eisfair.org/fileadmin/eisfair/devdoc/userinterfaces.html#edit-tag

Holger
Loading...