Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2018-05-22 14:32:07

  MC775 - Nowy użytkownik

MC775
Nowy użytkownik
Zarejestrowany: 2018-05-22

Blokowanie botów - skrypt, program

Cześć,

posiadam małą stronę internetową (sklep) na własnym VPS-ie. Od jakiegoś czasu obserwuję w logu Apache bardzo wiele wpisów świadczących o próbie poszukiwania panelu phpmyadmin, np:

121.31.21.136 - - [22/May/2018:07:14:32 +0200] "GET /phpmyadmin/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:33 +0200] "GET /phpMyAdmin/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:33 +0200] "GET /pmd/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:34 +0200] "GET /pma/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:35 +0200] "GET /PMA/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:36 +0200] "GET /PMA2/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:36 +0200] "GET /pmamy/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:37 +0200] "GET /pmamy2/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:38 +0200] "GET /mysql/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:38 +0200] "GET /admin/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:40 +0200] "GET /db/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:41 +0200] "GET /dbadmin/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:42 +0200] "GET /web/phpMyAdmin/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:42 +0200] "GET /admin/pma/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:43 +0200] "GET /admin/PMA/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"
121.31.21.136 - - [22/May/2018:07:14:44 +0200] "GET /admin/mysql/index.php HTTP/1.1" 302 184 "-" "Mozilla/5.0"[/quote]
Niektóre z tych botów są trochę sprytniejsze bo skanowania wykonują co kilka sekund. Wiem, że samo poszukiwanie panelu nie jest żadnym zagrożeniem, ale pojawia się problem logowania bo logi dostępu do serwera rosną lawinowo. Logrotate jest ustawiony prawidłowo i jakoś sobie z tym radzi, ale na tym VPS-ie mam tylko jeden procesor i wolałbym żeby nie był obciążony logowaniem jakichś chińskich botów. Czy jest możliwość aby stworzyć skrypt powłoki lub skorzystać z jakiegoś oprogramowania, które będzie analizowało log Apache i w przypadku natrafienia na ciąg znaków "phpmyadmin" albo "mysql" od razu dodawało blokującą (DROP) regułę do iptables? Coś w stylu fail2ban.

Pozdrawiam.

Offline

 

#2  2018-05-22 15:25:51

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Blokowanie botów - skrypt, program

To sobie ustaw logowanie by ci nie łapał tych ścieżek. Poniżej przykład:

Kod:

SetEnvIf Request_URI "^\/cos\/cos\/cos$" dontlog
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog

Więcej tu masz:
https://httpd.apache.org/docs/current/mod/mod_setenvif.html
https://httpd.apache.org/docs/current/mod/mod_log_config.html

Offline

 

#3  2018-05-22 15:27:27

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Blokowanie botów - skrypt, program

W fail2ban mozesz takie coś zrobić. Są gotowe parsery do logów apache a jak zabrnie ci funkcji możesz dodać swoje


A w wolnym czasie, robię noże :)
[img]http://nginx.urbinek.eu/_photos/signature.png[/img]

Offline

 

#4  2018-05-22 17:38:37

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Blokowanie botów - skrypt, program

Co prawda nie na Apachu ale na Nginxie, wszystko na VPS mam podzielone na publiczne i prywatne, wszystko co prywatne jest schowane za certyfikatem PKCS#12.
Do logów praktycznie nie zaglądam, ale potwierdzam, na stronie

Kod:

https://admin.{domena.tld}/awstats//awstats.nginx.errors404.htm

Wywołania do Phpmyadmina, panelu administracyjnego a nawet ścieżki typu  /asterisk/ czy /backofiice/ to norma.

Masz tu listę jednego VPSa z ostatnich kilku dni.
https://pastebin.com/raw/b2z01my4

Ale to zwykły śmietnik, nie ma się praktycznie czym interesować, o ile serwera nie konfigurował jakiś lama.

Proponowanego wyżej fail2bana nie potrzebujesz, Apache ma taką fajną zabawkę jak [b]httpd-guardian[/b], którą można stosunkowo prosto podłączyć do modułów Apacha [b]mod-security[/b] czy [b]mod_evasive[/b].

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2018-05-22 17:44:46)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2018-05-27 21:46:15

  MC775 - Nowy użytkownik

MC775
Nowy użytkownik
Zarejestrowany: 2018-05-22

Re: Blokowanie botów - skrypt, program

Dziękuję wszystkim za odpowiedzi, szczególnie przydatna okazała się porada z http-guardian. :)

Jeżeli już o mod_security mówimy to przeglądając log modsec_audit widzę trochę wpisów z próbami ataków xss, sql injection. Większość to jakaś amatorszczyzna - boty albo próby ataków na zasadzie kopiuj-wklej z jakiegoś forum informatycznego. Nie mniej jednak, zastanawia mnie tak duża liczba "syfu". Nie zdążyłem jeszcze na dobre otworzyć swojej strony a już zaczynam martwić się o bezpieczeństwo. Sądzę, że serwer jest skonfigurowany poprawnie, aczkolwiek jakimś super administratorem nie jestem a jak wiadomo jedynym bezpiecznym serwerem jest ten odłączony od prądu. :)

Jak te boty w ogóle trafiają na moje IP? Czy to na zasadzie losowego generowania adresu, czy np. moje IP mogło być przydzielone kiedyś do jakiejś dużej aktywnej usługi i jest w bazie aktywnych adresów?

Offline

 

#6  2018-05-27 22:27:08

  chmuri - [=Centos=]

chmuri
[=Centos=]
Skąd: Wrocław
Zarejestrowany: 2005-11-25
Serwis

Re: Blokowanie botów - skrypt, program

https://forum.dug.net.pl/velociraptors_to_ban.txt


[img]http://wiki.centos.org/ArtWork/Brand?action=AttachFile&do=get&target=centos-logo-light.png[/img]

Offline

 

#7  2018-06-01 17:04:31

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Blokowanie botów - skrypt, program

Jak vps gdzie masz własne jądro to [deb]xtables-addons-dkms[/deb], taka konfiguracja:

Kod:

DROP       tcp  --  anywhere             anywhere             -m geoip --source-country KR,CN,IN,RU,SA,TR,VN,UA,BR,VE,PK,JP

wycina 90% nie chcianego ruchu. Do tej pory jedna osoba się do mnie zgłosiła że ma problem połączeniem.


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#8  2018-06-01 19:18:05

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Blokowanie botów - skrypt, program

[quote=mati75]Jak vps gdzie masz własne jądro to [deb]xtables-addons-dkms[/deb], taka konfiguracja:

Kod:

DROP       tcp  --  anywhere             anywhere             -m geoip --source-country KR,CN,IN,RU,SA,TR,VN,UA,BR,VE,PK,JP

wycina 90% nie chcianego ruchu. Do tej pory jedna osoba się do mnie zgłosiła że ma problem połączeniem.[/quote]
Szkoda czasu, 95% ataków na phpmyadmina i inne "backoffice" i tak idzie przez TORa,
więc GEOIP pod względem bezpieczeństwa można o doopę potłuc.

GEOIP może pomóc jedynie na ataki DOS/DDOS z zagranicy, ale do tego lepszy jest CloudFlare

Porządna autoryzacja http + limit prób (np apache evasive) to minimum, optymalny i moim zdaniem niezniszczalny sposób to dodatkowa autoryzacja certem PKCS$12.

Pierwszy raz mi się udało zrobić pKCS#12 na Apachu i Ligthttpd wg tego:
https://linuxconfig.org/apache-web-server-ssl-authentication

Od tego czasu to moje ulubione zabezpieczenie. ;)

Ostatnio edytowany przez Jacekalex (2018-06-01 19:25:29)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.007 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00133 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.118.137.96' WHERE u.id=1
0.00070 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.118.137.96', 1732193655)
0.00045 SELECT * FROM punbb_online WHERE logged<1732193355
0.00031 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30459 AND t.moved_to IS NULL
0.00023 SELECT search_for, replace_with FROM punbb_censoring
0.00061 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30459 ORDER BY p.id LIMIT 0,25
0.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30459
Total query time: 0.0046 s