Discussion:
[E64] Problem mit brute_force_blocking 1.0.21
(zu alt für eine Antwort)
Sascha Pohl
2021-01-21 22:03:18 UTC
Permalink
Hallo zusammen,

ich habe auf meinem Eisfair64 als VM auf Proxmox unter anderem das Paket
brute_force_blocking, momentan in der Version 1.0.21, installiert.
Beim Speichern der Konfiguration und bei Erhalt einer Mail von bfb
finden sich in /var/log/messages folgende Fehlermeldungen:

sudo: wwwrun : command not allowed ; PWD=/nfs/data/data/www/cgi-bin ;
USER=root ; COMMAND=/usr/sbin/iptables -nL BFBBLOCK
sudo: pam_unix(sudo:auth): auth could not identify password for [wwwrun]
sudo: pam_unix(sudo:auth): conversation failed

Hier Ausschnitte aus meiner Konfiguration:

START_BRUTE_FORCE_BLOCKING='yes'
BFB_WAITTIME='10'
BFB_BLOCK_USE_IPV6='yes'
BFB_BLOCK_REMOTE_SERVER='no'

BFB_REQUEST_BLOCKS_VIA_WEBSERVER='yes'
BFB_USE_APACHE_VERSION='2'
BFB_APACHE_DOCUMENTROOT='/var/www/htdocs'
BFB_HTML_INDEX_FOLDER='brute_force_blocking'
BFB_CGI_BIN_DOCUMENTROOT='/var/www/cgi-bin/'
BFB_HTML_REFRESH_PATH='./cgi-bin/brute_force_blocking.cgi'
BFB_OWN_WEBDOMAIN_NAME='https://www.pohl-bo.de'
BFB_SHOW_ATTACK_DETAILS_ON_WEB='yes
BFB_WEBSERVER_LOGFILE_CLEAR='1 0 * * *'

BFB_SEND_MAIL='yes'
BFB_MAIL_TO_ADDRESS='***@pohl-bo.de'
BFB_MAIL_FROM_ADDRESS='***@pohl-bo.de'

Außerdem sollte ich zur Konfiguration meines Webservers wohl noch
erwähnen, dass /var/www per Symlink auf /nfs/data/data/www verlagert ist.

Mir ist aufgefallen, dass in der Datei
/etc/sudoers.d/brute_force_blocking folgende Zeile steht:

wwwrun ALL = NOPASSWD: /usr/local/brute_force_blocking/blocked
/usr/sbin/iptables ,/usr/sbin/ip6tables

Meine Vermutung ist, dass es sich bei dem Komma um einen Tippfehler
handelt, der den Fehler verursacht.

Außerdem ist mir noch ein weiterer Fehler aufgefallen, von dem ich
denke, dass es eine Folge des obigen Fehlers sein könnte:

Wenn ich im Webbrowser die Adresse
https://www.pohl-bo.de/cgi-bin/brute_force_blocking.cgi
aufrufe, dann erhalte ich den Logreport.
Wenn ich dort auf den Link einer IP-Adresse klicke, so soll z.B.
folgende Seite aufgerufen werden:

https://www.pohl-bo.de//198.46.186.105.html

Dort fehlt mittendrin das brute_force_blocking und so gelingt das
natürlich nicht.

Ich hoffe, ich habe mich verständlich ausgedrückt.


Grüße
Sascha
Olaf Jaehrling
2021-01-25 16:31:24 UTC
Permalink
Hallo Sascha,
Post by Sascha Pohl
Hallo zusammen,
ich habe auf meinem Eisfair64 als VM auf Proxmox unter anderem das Paket
brute_force_blocking, momentan in der Version 1.0.21, installiert.
Beim Speichern der Konfiguration und bei Erhalt einer Mail von bfb
sudo:   wwwrun : command not allowed ; PWD=/nfs/data/data/www/cgi-bin ;
USER=root ; COMMAND=/usr/sbin/iptables -nL BFBBLOCK
sudo: pam_unix(sudo:auth): auth could not identify password for [wwwrun]
sudo: pam_unix(sudo:auth): conversation failed
siehe Anmerkungen unten.
Post by Sascha Pohl
START_BRUTE_FORCE_BLOCKING='yes'
BFB_WAITTIME='10'
BFB_BLOCK_USE_IPV6='yes'
BFB_BLOCK_REMOTE_SERVER='no'
BFB_REQUEST_BLOCKS_VIA_WEBSERVER='yes'
BFB_USE_APACHE_VERSION='2'
BFB_APACHE_DOCUMENTROOT='/var/www/htdocs'
trage hier mal bitte '/nfs/data/data/www/htdocs' ein
Post by Sascha Pohl
BFB_HTML_INDEX_FOLDER='brute_force_blocking'
BFB_CGI_BIN_DOCUMENTROOT='/var/www/cgi-bin/'
trage hier doch mal bitte '/nfs/data/data/www/cgi-bin/' ein
Post by Sascha Pohl
BFB_HTML_REFRESH_PATH='./cgi-bin/brute_force_blocking.cgi'
BFB_OWN_WEBDOMAIN_NAME='https://www.pohl-bo.de'
BFB_SHOW_ATTACK_DETAILS_ON_WEB='yes
BFB_WEBSERVER_LOGFILE_CLEAR='1 0 * * *'
BFB_SEND_MAIL='yes'
Außerdem sollte ich zur Konfiguration meines Webservers wohl noch
erwähnen, dass /var/www per Symlink auf /nfs/data/data/www verlagert ist.
Mir ist aufgefallen, dass in der Datei
wwwrun ALL = NOPASSWD: /usr/local/brute_force_blocking/blocked
/usr/sbin/iptables ,/usr/sbin/ip6tables
Das muss ich nochmal eruieren. Leider habe ich kein System mehr mit
iptables, da iptables ja in naher Zukunft durch nftables abgelöst wird.

Ich muss mir also in einer VM erstmal ein EIS mit iptables aufsetzen.
Post by Sascha Pohl
Meine Vermutung ist, dass es sich bei dem Komma um einen Tippfehler
handelt, der den Fehler verursacht.
Ja, das vermute ich auch, aber nicht weil das Komma so verrutscht ist,
sondern weil eins fehlt. Zwischen jedem Eintrag muss ein Komma stehen.
Post by Sascha Pohl
Außerdem ist mir noch ein weiterer Fehler aufgefallen, von dem ich
Wenn ich im Webbrowser die Adresse
https://www.pohl-bo.de/cgi-bin/brute_force_blocking.cgi
aufrufe, dann erhalte ich den Logreport.
Wenn ich dort auf den Link einer IP-Adresse klicke, so soll z.B.
https://www.pohl-bo.de//198.46.186.105.html
Das ist eine Ursache von den fehlerhaften Einträgen oben. Symlinks sind
sch... nimm lieber bind
in /etc/fstab:
/nfs/data/data/www /var/www none rw,bind 0 0

Damit wird der komplette Ordner /var/www an /nfs/data/data/www gebunden
Alles was du in /nfs/data/data/www wird auch in /var/www dargestellt

Kontrollieren kannst du das mit dem Befehl 'mount'
Post by Sascha Pohl
Dort fehlt mittendrin das brute_force_blocking und so gelingt das
natürlich nicht.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Ich jetzt auch :D

Gruß

Olaf
Post by Sascha Pohl
Grüße
Sascha
--
Paketserver: https://ojaehrling.de/eis/index.txt
Sascha Pohl
2021-01-26 23:08:44 UTC
Permalink
Hallo Olaf,
Post by Olaf Jaehrling
Post by Sascha Pohl
BFB_APACHE_DOCUMENTROOT='/var/www/htdocs'
trage hier mal bitte '/nfs/data/data/www/htdocs' ein
Post by Sascha Pohl
BFB_HTML_INDEX_FOLDER='brute_force_blocking'
BFB_CGI_BIN_DOCUMENTROOT='/var/www/cgi-bin/'
trage hier doch mal bitte '/nfs/data/data/www/cgi-bin/' ein
das habe ich jetzt so eingetragen.
Jetzt muss ich warten, bis eine Attacke erkannt wird, um zu sehen, wie
die Links in der Mail und im Logreport im Browser aussehen.
Ich habe zwar täglich mehrere Attacken zu verzeichnen, aber ausgerechnet
heute Abend offensichtlich mal nicht.
Post by Olaf Jaehrling
Das muss ich nochmal eruieren. Leider habe ich kein System mehr mit
iptables, da iptables ja in naher Zukunft durch nftables abgelöst wird.
Das war mir leider nicht bekannt.
Ich habe gerade, nach viiielen Jahren meinen Eis mal komplett neu
aufgesetzt (von alt E1 auf Hardware, auf neu E64 als VM in Proxmox).
Dabei wollte ich eigentlich alles mal aktuell und auch
zukunftsorientiert angehen.
In den Paketabhängigkeiten auf dem Eis lese ich, dass iptables als
Abhängigkeit nur brute_force_blocking auflistet.
Würdest du mir dazu raten auf nftables umzustellen?
Falls ja, wie mache ich das?
Post by Olaf Jaehrling
Ich muss mir also in einer VM erstmal ein EIS mit iptables aufsetzen.
Vielleicht kannst du dir die Mühe ja sparen. Siehe oben.
Post by Olaf Jaehrling
Das ist eine Ursache von den fehlerhaften Einträgen oben. Symlinks sind
sch... nimm lieber bind
/nfs/data/data/www /var/www none rw,bind 0 0
Damit wird der komplette Ordner /var/www an /nfs/data/data/www gebunden
Alles was du in /nfs/data/data/www wird auch in /var/www dargestellt
Kontrollieren kannst du das mit dem Befehl 'mount'
Von Problemen mit Symlinks habe ich schon gehört, ja.
Aber diese Alternative war mir bisher gar nicht bekannt.
Ich habe in einem neuen Post auf spline.fli4l.geschnatter gerade mal
eine Frage an alle Experten gerichtet, was sie zu meiner speziellen
Konfiguration raten.


Eine Sache noch, die ich in meinem ersten Post vergessen habe, die aber
vermutlich auch mit dem anfangs geschilderten Problem zusammenhängt:
Ich bekomme jedesmal, wenn brute_force_blocking das web-log löscht
(BFB_WEBSERVER_LOGFILE_CLEAR=) eine Email von fcron mit dem Betreff:
fcron <***@eis> /etc/init.d/brute_force_blocking unblock >/dev/null 2>&1
und dem Inhalt:
Job '/etc/init.d/brute_force_blocking unblock >/dev/null 2>&1'
terminated (exit status: 1) (mailing output)


Grüße
Sascha
Olaf Jaehrling
2021-01-27 18:16:50 UTC
Permalink
Hallo Sascha,
Post by Sascha Pohl
Hallo Olaf,
Post by Olaf Jaehrling
Das muss ich nochmal eruieren. Leider habe ich kein System mehr mit
iptables, da iptables ja in naher Zukunft durch nftables abgelöst wird.
Das war mir leider nicht bekannt.
Naja, auch bei eisfair findet der Wechsel schleichend statt. Schleichend
deshalb, weil kaum von jemanden bemerkt. Wenn man bei der aktuelle
Version des Paketes
iptables-save
eingibt, bekommt man schon eine Warnung, dass sich da was ändert. So
wird es auch bei den anderen Destris gehandhabt. Debian z.b. liefert
iptables in der nächsten Version schon garnicht mehr mit aus.
<Zitat aus [1]>
"Für Debian 10 Buster, angekündigt für Juli 2019, ist der Long Term
Support bis zum Jahr 2024 festgelegt. Bleibt es beim aktuellen Trend der
zweijährigen Releases, erscheint 2021 Debian 11 Bullseye ohne die
symbolischen Links. Für Linux-Firewall-Experten beginnt nun eine
zweijährige Umstellungsphase zum moderneren Nachfolger."
</Zitat aus [1]>
Post by Sascha Pohl
Ich habe gerade, nach viiielen Jahren meinen Eis mal komplett neu
aufgesetzt (von alt E1 auf Hardware, auf neu E64 als VM in Proxmox).
Dabei wollte ich eigentlich alles mal aktuell und auch
zukunftsorientiert angehen.
In den Paketabhängigkeiten auf dem Eis lese ich, dass iptables als
Abhängigkeit nur brute_force_blocking auflistet.
Ja, BFB listet iptables oder nftables als Abhängigkeit. Du musst im
setup nur sagen, was du davon installiert hast
Wenn bei dir nur BFB iptables nutzt, kannst du BFB stoppen, das
iptables-paket deinstallieren, nftables installieren und dann im setup
BFB_USE_IPTABLES_NFTABLES='nftables'
auswählen, Danach sollte BFB mit nftables funktionieren.
Post by Sascha Pohl
Würdest du mir dazu raten auf nftables umzustellen?
Ja
Post by Sascha Pohl
Falls ja, wie mache ich das?
Ein kurzes HowTo findest du unter [2]
Meine kleine Befehlssammlung findest du unter [3]
Eine komplette Anleitung findest du unter [4]

Meine allerdings ohne Kommentare, aber eigentlich ist das
selbsterklärend wenn man sich damit mal beschäftigt hat
Post by Sascha Pohl
Post by Olaf Jaehrling
Ich muss mir also in einer VM erstmal ein EIS mit iptables aufsetzen.
Vielleicht kannst du dir die Mühe ja sparen. Siehe oben.
Naja, den Fehler würde ich trotzdem gern finden :)
Post by Sascha Pohl
Von Problemen mit Symlinks habe ich schon gehört, ja.
Aber diese Alternative war mir bisher gar nicht bekannt.
Ich habe in einem neuen Post auf spline.fli4l.geschnatter gerade mal
eine Frage an alle Experten gerichtet, was sie zu meiner speziellen
Konfiguration raten.
Ich schreibe dazu auch noch was. :)
Post by Sascha Pohl
Eine Sache noch, die ich in meinem ersten Post vergessen habe, die aber
Ich bekomme jedesmal, wenn brute_force_blocking das web-log löscht
Job '/etc/init.d/brute_force_blocking unblock >/dev/null 2>&1'
terminated (exit status: 1) (mailing output)
Ich vermute auch, dass es ein Folgefehler ist.
gib doch mal auf der Kommandozeile den Befehl
/etc/init.d/brute_force_blocking unblock
ein.

Gruß

Olaf
[1]
https://www.computerweekly.com/de/ratgeber/nftables-versus-iptables-Das-muessen-Linux-Admins-beachten
[2] https://www.kuketz-blog.de/howto-wechsel-von-iptables-zu-nftables/
[3] https://ojaehrling.de/nft.html
[4] https://wiki.nftables.org/wiki-nftables/index.php/Main_Page
--
Paketserver: https://ojaehrling.de/eis/index.txt
Sascha Pohl
2021-01-28 00:04:10 UTC
Permalink
Hallo Olaf,
Post by Olaf Jaehrling
Wenn bei dir nur BFB iptables nutzt, kannst du BFB stoppen, das
iptables-paket deinstallieren, nftables installieren und dann im setup
BFB_USE_IPTABLES_NFTABLES='nftables'
auswählen, Danach sollte BFB mit nftables funktionieren.
Vermutlich kann ich diesen einfachen Weg gehen, da ja bei mir bei den
Abhängigkeiten von iptables nur bfb gelistet wird.
Post by Olaf Jaehrling
Post by Sascha Pohl
Würdest du mir dazu raten auf nftables umzustellen?
Ja
Dann werde ich das auch machen.
Ich warte damit aber, bis du den Fehler gefunden hast und bfb fehlerlos
läuft.
Post by Olaf Jaehrling
Post by Sascha Pohl
Falls ja, wie mache ich das?
Ein kurzes HowTo findest du unter [2]
Meine kleine Befehlssammlung findest du unter [3]
Eine komplette Anleitung findest du unter [4]
Meine allerdings ohne Kommentare, aber eigentlich ist das
selbsterklärend wenn man sich damit mal beschäftigt hat
Das werde ich wohl alles nicht benötigen. Siehe oben, der ganz einfache Weg.
Post by Olaf Jaehrling
Post by Sascha Pohl
Post by Olaf Jaehrling
Ich muss mir also in einer VM erstmal ein EIS mit iptables aufsetzen.
Vielleicht kannst du dir die Mühe ja sparen. Siehe oben.
Naja, den Fehler würde ich trotzdem gern finden :)
Danke für deine Mühe.
Ich werde versuchen, dir dabei behilflich zu sein.
Ungewöhnlicherweise gab es heute keine einzige Attacke.
Auch beim manuellen Durchsuchen der Logfiles von apache und exim habe
ich dort nichts auffälliges gefunden.
Post by Olaf Jaehrling
Post by Sascha Pohl
Ich habe in einem neuen Post auf spline.fli4l.geschnatter gerade mal
eine Frage an alle Experten gerichtet, was sie zu meiner speziellen
Konfiguration raten.
Ich schreibe dazu auch noch was. :)
Danke!
Dort werde ich in den nächsten Tagen auch noch antworten.
Im Moment bin ich, auch nach lesen deiner Referenzen, der Ansicht, dass
es wirklich sinnvoll ist von den Symlinks auf die mount bind Variante
umzustellen.
Das werde ich aber auch erst vollziehen, wenn du den Fehler in bfb
gefunden hast.
Es sei denn, es ergibt sich, dass es sinnvoll ist, um den Fehler zu
finden, es vorher schon zu tun.
Post by Olaf Jaehrling
Post by Sascha Pohl
Eine Sache noch, die ich in meinem ersten Post vergessen habe, die aber
Ich bekomme jedesmal, wenn brute_force_blocking das web-log löscht
Job '/etc/init.d/brute_force_blocking unblock >/dev/null 2>&1'
terminated (exit status: 1) (mailing output)
Diese Mail kam heute auch wieder.
Die einzigen Änderungen, die ich bisher durch geführt habe sind, dass
ich in den Variablen
BFB_APACHE_DOCUMENTROOT='/var/www/htdocs' und
BFB_CGI_BIN_DOCUMENTROOT='/var/www/cgi-bin/'
wie von dir angegeben nicht mehr die Pfade mit den Symlinks, sondern die
richtigen Pfade laut Dateisystem unter /nfs/... eingetragen habe.
Post by Olaf Jaehrling
gib doch mal auf der Kommandozeile den Befehl
/etc/init.d/brute_force_blocking unblock
ein.
Wenn ich den Befehl als Benutzer root ausführe, gibt es kein Problem.
Führe ich den Befehl allerdings als Benutzer wwwrun aus, erhalte ich
Fehlermeldungen.

eis # su root
eis 2.8.25 # /etc/init.d/brute_force_blocking unblock
eis 2.8.25 # exit
exit
eis # su wwwrun
eis # /etc/init.d/brute_force_blocking unblock
/etc/init.d/brute_force_blocking: Zeile 31:
/etc/config.d/brute_force_blocking: Keine Berechtigung
sed: Temporäre Datei /usr/local/brute_force_blocking/sedRT3Td0 kann
nicht geöffnet werden: Keine Berechtigung
Fatal: can't open lock file /run/xtables.lock: Permission denied
Fatal: can't open lock file /run/xtables.lock: Permission denied
sed: /usr/local/brute_force_blocking/routefordelete kann nicht gelesen
werden: Keine Berechtigung
/var/install/config.d/brute_force_blocking2.sh: Zeile 14:
/etc/config.d/brute_force_blocking: Keine Berechtigung
/etc/init.d/brute_force_blocking: Zeile 599:
/usr/local/brute_force_blocking/routefordelete: Keine Berechtigung
eis # exit
exit

eis # ls -l /usr/local
insgesamt 20
drwxr-xr-x 2 root root 4096 16. Jan 00:29 bin
drwxr-xr-x 4 root root 4096 28. Jan 00:32 brute_force_blocking
drwxr-xr-x 6 root root 4096 12. Jan 22:48 htdocs
drwxr-xr-x 2 root root 4096 6. Jan 01:26 ipcalc
drwxr-xr-x 2 root root 4096 14. Jan 04:33 mybin
lrwxrwxrwx 1 root root 14 2. Jan 22:30 ssl -> /var/certs/ssl

eis #
eis # ls -l /run/xtables.lock
-rw------- 1 root root 0 26. Jan 23:38 /run/xtables.lock
eis #

Ich hoffe, dir hilft das weiter.

Grüße
Sascha
Olaf Jaehrling
2021-01-28 19:50:30 UTC
Permalink
Hallo Sascha,
Post by Sascha Pohl
Hallo Olaf,
Dann werde ich das auch machen.
Ich warte damit aber, bis du den Fehler gefunden hast und bfb fehlerlos
läuft.
Die neue Version ist draußen. Ich hatte noch einen Typo drin.
Danke für deine Meldung

Gruß

Olaf
Post by Sascha Pohl
Grüße
Sascha
--
Paketserver: https://ojaehrling.de/eis/index.txt
Sascha Pohl
2021-01-28 22:34:42 UTC
Permalink
Hallo Olaf,
Post by Olaf Jaehrling
Post by Sascha Pohl
Dann werde ich das auch machen.
Ich warte damit aber, bis du den Fehler gefunden hast und bfb fehlerlos
läuft.
Die neue Version ist draußen. Ich hatte noch einen Typo drin.
Noch mit der alten Version, nachdem ich die Pfade zu den
apache-verzeichnissen geändert habe, funktionieren die Links jetzt
sowohl in der Mail, als auch im Logreport richtig.
Hier liegt es wohl wirklich daran, dass er die Symlinks nicht mag.
Das werde ich also abändern und auf die mount bind Variante umsteigen.

Nach Installation der neuen Version sind die Einträge in der Datei
/etc/sudoers.d/brute_force_blocking jetzt durch Kommas getrennt.
Allerdings kommen beim Ausführen von
/etc/init.d/brute_force_blocking unblock als Benutzer wwwrun noch immer
die gleichen Fehlermeldungen wie vorher.

Grüße
Sascha
Olaf Jaehrling
2021-01-29 20:17:36 UTC
Permalink
Hallo Sascha,
Post by Sascha Pohl
Allerdings kommen beim Ausführen von
/etc/init.d/brute_force_blocking unblock als Benutzer wwwrun noch immer
die gleichen Fehlermeldungen wie vorher.
logisch. Der wird auch auch im crontab aufrufen. Der crontab für bfb
wird aber nicht als user wwwrun aufgerufen.Demzufolge braucht der user
wwwrun auch keine Berechtigung dazu. Im Gegenteil. Stell dir vor der
user wwwrun könnte einfach so BFB stoppen. Dann kannst du dir das
Programm auch gleich sparen. :)

Gruß

Olaf
Post by Sascha Pohl
Grüße
Sascha
--
Paketserver: https://ojaehrling.de/eis/index.txt
Sascha Pohl
2021-01-29 23:53:46 UTC
Permalink
Hallo Olaf,
Post by Olaf Jaehrling
logisch. Der wird auch auch im crontab aufrufen. Der crontab für bfb
wird aber nicht als user wwwrun aufgerufen.Demzufolge braucht der user
wwwrun auch keine Berechtigung dazu. Im Gegenteil. Stell dir vor der
user wwwrun könnte einfach so BFB stoppen. Dann kannst du dir das
Programm auch gleich sparen. :)
Das klingt natürlich sehr sinnvoll!

Allerdings bekomme ich noch immer täglich diese Email:
fcron <***@eis> /etc/init.d/brute_force_blocking unblock >/dev/null 2>&1
Job '/etc/init.d/brute_force_blocking unblock >/dev/null 2>&1'
terminated (exit status: 1) (mailing output)
Jedoch habe ich letztens den Zeitpunkt falsch angegeben. Es passiert
nicht um "BFB_WEBSERVER_LOGFILE_CLEAR", sondern um "BFB_UNBLOCK_ALL_TIME".
In /var/log/messages sind zu diesem Zeitpunkt keine Einträge vorhanden.

Ansonsten scheint mittlerweile aber alles ordnungsgemäß zu funktionieren.

Grüße
Sascha

Loading...