anon58059726 | 2021-10-27 21:08:55 UTC | #1
Witam serdecznie :kissing:
Tym razem zamiast udzielać pomocy innym osobą sam potrzebuję pomocy z zabezpieczeniem phpmyadmin na moim VPS LVLUP. Sprawa wygląda dokładnie tak, że posiadam fail2ban i zabezpiecza on tak jak trzeba i jestem zadowolony. W ostatnim czasie pomyślałem sobie, że przecież można zaatakować serwer przez panel logowania do phpmyadmin. Z istotnych informacji dodam, że nie posiadam stałego adresu IP oraz nie korzystam z VPN. Posiadam zainstalowaną wersję phpmyadmin 4.9.5deb2. Czy warto zabezpieczyć w jakiś sposób panel logowania do phpmyadmin? Czy lepiej zostawić tak jak jest, bo ataki nic nie zrobią? Jestem praktycznie bardziej przekonany, że istnieję możliwość przeciążenia VPS przez notoryczne nieudane próby zalogowania do phpmyadmin.
Pozdrawiam
Oczekuję na pomoc w tej sprawie
Z góry dziękuję za wszelką pomoc w tej sprawie
Nieznajomy11 | 2021-05-16 18:35:22 UTC | #2
Zakładając, że korzystasz z apache2
, to potrzebny będzie własny VirtualHost
, w którym ustawisz własny LogFormat
oraz ścieżkę logów, tak aby potem móc łatwo filtrować je automatycznie (analogicznie należy zrobić w przypadku nginx
).
Zależnie od twojej dokładnej konfiguracji będzie trzeba dostosować miejsce, gdzie należy to wkleić, np. w przypadku domyślnej konfiguracji warto by utworzyć nowy VirtualHost
, ale od biedy można podmienić domyślne CustomLog
lub dodać sam LogFormat
do 000-default.conf
:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n" pma_combined
CustomLog /var/log/apache2/phpmyadmin_access.log pma_combined
Należy utworzyć filtr /etc/fail2ban/filter.d/phpmyadmin.conf
:
[Definition]
denied = mysql-denied|allow-denied|root-denied|empty-denied
failregex = ^<HOST> -.*(?:%(denied)s)$
ignoreregex =
Do tego jeszcze powiązany jail /etc/fail2ban/jail.conf
upewniając się, że CustomLog
kieruje na to samo co logpath
:
[phpmyadmin]
enabled = true
port = http,https
filter = phpmyadmin
logpath = /var/log/apache2/phpmyadmin_access.log
Na końcu jeszcze pozostaje przeładować fail2ban, aby nowa konfiguracja została załadowana:
service fail2ban reload
Wszystko zostało oparte na tym artykule: https://phryneas.de/fail2ban-phpmyadmin
anon58059726 | 2021-05-15 20:27:10 UTC | #3
Powiem szczerze, że aż tak zaawansowany to nie jestem
Będzie ciężko :thinking:
anon58059726 | 2021-05-16 17:33:46 UTC | #4
No dobrze, więc zrobiłem tak:
Plik /etc/apache2/sites-available/000-default.conf
Linijka 20 ErrorLog ${APACHELOGDIR}/error.log
Linijka 21 LogFormat “%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %{userID}n %{userStatus}n” pmacombined
Linijka 22 CustomLog /var/log/apache2/phpmyadminaccess.log pma_combined
Plik /etc/fail2ban/filter.d/phpmyadmin-syslog.conf
Linijka 8 [Definition]
Linijka 9 denied = mysql-denied|allow-denied|root-denied|empty-denied
Linijka 10 failregex = ^
Linijka 11 ignoreregex =
Plik /etc/fail2ban/jail.conf
Linijka 937 [phpmyadmin-syslog]
Linijka 938 enabled = true
Linijka 939 port = http,https
Linijka 940 filter = phpmyadmin
Linijka 941 logpath = /var/log/apache2/phpmyadmin_access.log
Po dokonaniu zmian postanowiłem połączyć się z IP/phpmyadmin, następnie notorycznie wpisywałem niepoprawne hasło i nie zostaję banowany na adres IP na określony czas
Czy coś zrobiłem źle?
Bardzo proszę o pomoc :sleepy:
anon58059726 | 2021-05-16 18:35:18 UTC | #5
Problem rozwiązany! :wave:
system | 2021-06-17 18:35:49 UTC | #6
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.