To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Ogólne - Próba włamania na forum?

marecek - 20-01-2011, 09:45

no dobra, to zamiast narzekać może ktoś mi pomoże napisać prostą modyfikację?

już sobie zwiększyłem max_login_error żeby odetkać ludziom możliwośc korzystania z forum.

Teraz trzeba w miejscu, w którym liczymy bad loginy dorzucić jeszcze bana:

linijka 274:
Kod:

                            //count bad login
                            // block the user for X min
                            if ( ($row['user_badlogin'] + 1) % $board_config['max_login_error'] )
                            {
                                $sql = "UPDATE " . USERS_TABLE . " SET user_badlogin = user_badlogin + 1
                                    WHERE username = '" . str_replace("\'", "''", $username) . "'";
                                if ( !($result = $db->sql_query($sql)) )
                                {
                                    message_die(GENERAL_ERROR, 'Error updating bad login data', '', __LINE__, __FILE__, $sql);
                                }
                            }


kto ma pomysł?
czy phpbb ma jakieś mechanizmy banujące? czy mam wypychać to do pliku tekstowego i stąd skryptem iptables zapodawać w pętli?

zrobiłem prosty logger tych nieudanych prób i wyszło mi coś ciekawego...

Kod:

91.121.172.34;joansmith;January 20, 2011, 10:18 am
91.121.172.34;Wieslaws;January 20, 2011, 10:18 am
83.142.228.14;kruku;January 20, 2011, 10:18 am
199.48.147.42;ShowMen;January 20, 2011, 10:18 am
178.63.198.71;roro74;January 20, 2011, 10:26 am
66.230.230.230;Master Of Wind;January 20, 2011, 10:26 am
83.87.66.24;Hipopotam;January 20, 2011, 10:26 am
66.230.230.230;proks;January 20, 2011, 10:26 am
94.23.215.184;Kazik;January 20, 2011, 10:46 am
199.48.147.40;bakson;January 20, 2011, 10:46 am
66.230.230.230;backi;January 20, 2011, 10:46 am
178.33.149.173;xman;January 20, 2011, 10:46 am
193.138.216.157;vercoff;January 20, 2011, 10:59 am
85.235.31.248;zamyslak;January 20, 2011, 10:59 am
85.235.31.248;axe;January 20, 2011, 10:59 am
66.230.230.230;franek88;January 20, 2011, 10:59 am
91.213.50.235;fryc;January 20, 2011, 11:11 am
208.66.135.190;lesiu78;January 20, 2011, 11:11 am
192.251.226.206;SKORPION;January 20, 2011, 11:11 am
66.230.230.230;1gruby2;January 20, 2011, 11:11 am

zadziwiająca jest dokładność z jaką następują próby - co 12-13 minut tylko 4 próby na czterech różnych osobach, które "widać" na stronie głównej :)

Jak się przed tym bronić?

Cez - 20-01-2011, 11:22

Hej, mam ten sam problem na mom forum. Byłbym wdzieczny za podanie rozwiązania!
marecek - 20-01-2011, 13:41

właśnie sam kombinuję co z tym zrobić. Okazuje się, że boty walą partiami po 4-5 sztuk, nigdy tych samych użytkowników. Więc o ile ktoś się nie zaloguje na forum przez 2-3 dni, to jest niezerowa szansa, że mu konto przyblokuje.

Na początek poinstruować użytkowników, żeby sobie porobili jakieś randomowe, długie hasła. A później zmienić max_login_error na jakąś dużą wartość...

automat banujący się przy takim trybie ataku nie sprawdzi, bo cwaniaki nie atakują tego samego konta 2x w krótkim czasie.

Sałaj - 20-01-2011, 14:15

Ustawiłem u siebie "Restrykcja całkowita dostępu dla niezarejestrowanych" i zobaczę czy coś to daje. Przy tej opcji nie ma dostępu do strony portalu więc nie ma skąd pobrać loginów. Zauważyłem również, że boty nie radzą sobie z polskimi znakami diakrytycznymi w loginach.
wojt_ek - 20-01-2011, 15:47

ja mam to samo, od 17go stycznia ciągłe próby logowania, cieszę się, że też tak macie, bo już myślałem, że to mi ktoś chce włamać się na forum :)

Polecam włączenie pełnego logowania w PA razem z wartościami POST i w
/admin/admin_logs.php będziemy mieli wszystkie próby logowań z adresami IP.

Ja napisałem sobie na własne potrzeby skrypt do banowania takich adresów automatem,
zbanował ponad 200 i wygląda, że problem się uspokoił... czas pokaże :)

pozdrawiam

marecek - 20-01-2011, 19:29

dobra wiadomość jest taka, że o ile te boty nie ogarną lepszego słownika, to raczej z hasłami typu freebird, asshole, yamaha (dziś tylko takich używali...) raczej konta żadnego nie złowią...
wojt_ek - 20-01-2011, 19:42

do tego większość forów zablokuje sobie już wszystkie te IP z których jest atak...
marecek - 20-01-2011, 20:24

wojt_ek, wrzuć listę IPków jeśli możesz.
mcfrag - 20-01-2011, 20:28

A nie dałoby się stworzyć moda, w którym dla niezalogowanych userów, nicki piszących byłyby wyświetlane lekko "zmodyfikowane" - np ze spacjami między znakami (czyli np. zamiast "mcfrag" wyświetłałby się "m c f r a g")?

Boty pobierająja nicki do prób zalogowania się właśnie w tym trybie, więc gdyby miały na wejściu zły nick, nie blokowałyby userom kont przy nieudanych próbach logowania.

Takie "zmodyfikowane" wyświetalnie nicka można zrobić na wiele sposobów, np:

- zastosowanie naprzemiennie (lub losowo, itp) dużych i malych liter - mCFraG itp.
- dodanie kilku cyfr na końcu nicka

i tak dalej.

Oczywiście po zalogowaniu nicki byłyby wyświetlane normalnie. Załadam brak botów na forum, ja na swoim wszystkich autoryzuję osobiście.

wojt_ek - 20-01-2011, 20:37

moja lista IP zbanowanych od 17.01:
UNIKALNYCH: 195

108.23.229.162
108.28.32.147
109.169.29.56
109.73.51.163
118.6.54.9
124.217.238.26
137.56.163.46
137.56.163.64
140.180.130.93
144.85.24.218
173.193.221.27
173.193.221.28
173.193.226.35
173.212.200.141
173.255.211.187
173.255.221.44
173.54.2.133
174.129.110.137
174.142.248.162
174.36.199.200
174.36.199.201
174.36.199.202
178.18.17.250
178.26.48.27
178.33.149.173
178.63.246.164
178.79.141.17
18.246.0.69
188.134.24.234
188.138.32.144
188.165.45.229
188.23.76.192
188.72.214.44
188.72.223.162
192.251.226.205
192.251.226.206
193.138.216.157
193.198.207.8
194.0.229.54
194.154.227.109
195.43.157.85
195.71.226.87
199.48.147.35
199.48.147.36
199.48.147.37
199.48.147.38
199.48.147.39
199.48.147.4
199.48.147.40
199.48.147.41
199.48.147.42
201.159.131.195
203.174.87.18
204.152.222.243
204.8.156.142
205.168.84.133
205.185.127.170
208.110.65.123
208.66.135.190
208.75.88.34
209.159.142.164
209.159.143.130
209.44.114.178
212.28.16.250
212.42.236.140
213.112.111.205
213.154.227.205
213.165.81.179
213.46.88.109
216.24.174.245
216.66.81.36
216.86.61.205
217.114.211.20
217.160.221.7
217.19.50.77
217.20.182.193
24.5.142.192
38.102.94.125
46.28.108.24
46.4.229.193
46.4.237.146
50.16.134.106
61.231.55.86
61.47.35.34
62.141.42.186
62.141.53.224
62.141.58.13
62.178.242.73
62.212.67.209
64.22.71.226
64.34.184.153
65.183.151.13
66.180.193.219
66.230.230.230
66.8.120.130
66.96.16.32
67.11.243.3
69.163.34.69
70.112.1.221
70.188.3.196
71.184.236.4
71.195.150.237
71.196.132.11
74.106.13.137
74.110.86.138
74.208.231.162
74.208.243.167
74.208.246.213
74.208.246.222
74.3.165.39
75.101.62.112
75.71.29.76
76.10.214.53
76.10.214.89
76.177.23.254
77.109.139.87
77.41.78.126
77.91.200.27
78.107.237.16
78.111.125.36
78.153.153.8
78.46.39.228
78.47.251.152
79.120.86.20
79.136.30.122
79.180.249.59
80.177.246.35
80.218.119.166
80.62.217.18
80.79.23.27
81.169.173.120
81.218.219.122
82.209.175.58
82.254.153.88
82.67.182.239
83.142.228.14
83.170.92.9
83.226.245.207
83.240.116.79
83.80.129.253
83.86.110.188
83.87.66.24
84.229.164.55
85.114.135.224
85.125.222.141
85.17.97.6
85.182.83.167
85.214.73.63
85.235.31.248
85.25.144.101
86.101.114.199
87.103.243.46
87.118.104.203
87.194.120.170
87.236.194.191
87.236.194.97
87.236.199.73
88.162.37.58
88.198.109.35
88.198.2.173
88.80.29.99
89.145.121.180
89.151.196.118
89.176.88.245
89.253.105.39
89.253.97.235
90.231.132.220
91.121.175.151
91.203.170.121
91.213.50.235
91.218.39.92
92.205.81.14
92.241.168.146
92.241.184.106
92.241.190.129
92.241.190.168
92.241.190.188
93.115.241.2
93.167.245.178
93.31.155.175
93.89.92.43
94.19.12.244
94.249.153.47
94.75.255.70
95.111.12.13
95.142.174.176
95.143.193.145
95.223.245.99
95.28.100.120
96.226.21.90
96.255.184.12
97.107.142.93
98.113.149.36
98.191.188.71
99.75.76.228

to samo w zapisie szesnastkowym, może pomóc komuś w automatycznym dodaniu do tabeli phpbb_banlist:

6c17e5a2
6c1c2093
6da91d38
6d4933a3
76063609
7cd9ee1a
8938a32e
8938a340
8cb4825d
905518da
adc1dd1b
adc1dd1c
adc1e223
add4c88d
adffd3bb
adffdd2c
ad360285
ae816e89
ae8ef8a2
ae24c7c8
ae24c7c9
ae24c7ca
b21211fa
b21a301b
b22195ad
b23ff6a4
b24f8d11
12f60045
bc8618ea
bc8a2090
bca52de5
bc174cc0
bc48d62c
bc48dfa2
c0fbe2cd
c0fbe2ce
c18ad89d
c1c6cf08
c200e536
c29ae36d
c32b9d55
c347e257
c7309323
c7309324
c7309325
c7309326
c7309327
c7309304
c7309328
c7309329
c730932a
c99f83c3
cbae5712
cc98def3
cc089c8e
cda85485
cdb97faa
d06e417b
d04287be
d04b5822
d19f8ea4
d19f8f82
d12c72b2
d41c10fa
d42aec8c
d5706fcd
d59ae3cd
d5a551b3
d52e586d
d818aef5
d8425124
d8563dcd
d972d314
d9a0dd07
d913324d
d914b6c1
18058ec0
26665e7d
2e1c6c18
2e04e5c1
2e04ed92
3210866a
3de73756
3d2f2322
3e8d2aba
3e8d35e0
3e8d3a0d
3eb2f249
3ed443d1
401647e2
4022b899
41b7970d
42b4c1db
42e6e6e6
42087882
42601020
430bf303
45a32245
467001dd
46bc03c4
47b8ec04
47c396ed
47c4840b
4a6a0d89
4a6e568a
4ad0e7a2
4ad0f3a7
4ad0f6d5
4ad0f6de
4a03a527
4b653e70
4b471d4c
4c0ad635
4c0ad659
4cb117fe
4d6d8b57
4d294e7e
4d5bc81b
4e6bed10
4e6f7d24
4e999908
4e2e27e4
4e2ffb98
4f785614
4f881e7a
4fb4f93b
50b1f623
50da77a6
503ed912
504f171b
51a9ad78
51dadb7a
52d1af3a
52fe9958
5243b6ef
538ee40e
53aa5c09
53e2f5cf
53f0744f
535081fd
53566ebc
53574218
54e5a437
557287e0
557dde8d
55116106
55b653a7
55d6493f
55eb1ff8
55199065
566572c7
5767f32e
577668cb
57c278aa
57ecc2bf
57ecc261
57ecc749
58a2253a
58c66d23
58c602ad
58501d63
599179b4
5997c476
59b058f5
59fd6927
59fd61eb
5ae784dc
5b79af97
5bcbaa79
5bd532eb
5bda275c
5ccd510e
5cf1a892
5cf1b86a
5cf1be81
5cf1bea8
5cf1bebc
5d73f102
5da7f5b2
5d1f9baf
5d595c2b
5e130cf4
5ef9992f
5e4bff46
5f6f0c0d
5f8eaeb0
5f8fc191
5fdff563
5f1c6478
60e2155a
60ffb80c
616b8e5d
62719524
62bfbc47
634b4ce4

freeman3 - 20-01-2011, 21:28

Ja mam acceska i globalne zabezpieczenie przeciw włamaniom. Póki co nie mam żadnych ataków
wojt_ek - 20-01-2011, 22:54

freeman3 napisał/a:
Ja mam acceska i globalne zabezpieczenie przeciw włamaniom. Póki co nie mam żadnych ataków
możesz rozwinąć ?
BliSki - 21-01-2011, 00:11

freeman3 napisał/a:
globalne zabezpieczenie przeciw włamaniom.

Co masz na myśli pisząc globalne? Czekamy na odpowiedź jak nie tu to na PW przynajmniej.

d!r3k - 21-01-2011, 04:19

BliSki, chyba oto chodzi:
-> http://www.przemo.org/php...pic.php?t=90691

marecek - 21-01-2011, 08:54

globalne zabezpieczenie niewiele pomaga na próby wielokrotnego logowania, które w efekcie doprowadzają do blokady konta.

Potrzeba gruntownej zmiany polityki bezpieczeństwa.

Pierwsza sprawa to blokowanie kont - w dzisiejszych czasach kiedy wyprowadzić anonimowy atak DDoS można mając dostęp do cloudu amazona za 10$ za godzinę, blokowanie konta atakowanego nie rozwiązuje żadnego problemu!

Powiem więcej - należy zaniechać takich praktyk.
Ja sobie z tym poradziłem podbijając licznik nieudanych prób.

Ale to nie uniemożliwia ataków, w których bot działa z 300 miejsc i wykonuje po jednej próbie na konto na jakiś określony czas. Licznik jest zerowany przy każdym poprawnym zalogowaniu się na forum, więc takie ataki mogą przechodzić niezauważone całymi miesiącami.

Jak to więc ugryźć?
- Captcha przy logowaniu to tylko upierdliwość dla użytkownika (forum to nie bank - nie muszę mieć three factor authentication!!).

Moja odpowiedź:
- wymusić złożoność haseł dla użytkowników. Nigdy więcej haseł zgodnych z nickiem czy bez stosowania znaków specjalnych. Do tego hasło musi być odpowiednio długie (minimum 8-9 znaków). Odpuszczę użytkownikom konieczność zmiany co pół roku, chociaż to też dobra praktyka. Jak czyjeś konto zostanie skompromitowane, to raczej nie trudno będzie zauważyć reklamy pisane łamaną polszczyzną...


Co dalej?
1. wyłączyć blokady
2. napisać sobie skrypt, który monitoruje próby nieudanych logowań. Można wtedy dokonać jakiejś analizy trendów....

np. teraz wiem, że botnet, który atakuje moje fora posługuje się nickami ze strony głównej i używa słownika zawierającego bardzo trywialne hasła: "eastern, harley, 12345, 4runner, andrew, terrible1...". Mam świadomość tego, co się dzieje - to już coś.

można próbować blokować IPki, ale to nie rozwiązuje problemu, bo botnety rosną jak grzyby po deszczu (ile osób nie aktualizuje windowsów bo nie wie co to, albo się boi, że to spowolni komputer?). Nigdy nie zablokuję wszystkich ;)

Jakimś rozwiązaniem byłoby blokowanie widoczności nicków (lub mieszanie w nazwach) wyświetlanych dla niezalogowanych użytkowników - ciekawy pomysł ze strony wcześniej. Zrobiłem sobie wczoraj takie coś i poległem, bo... nick jest generowany w tak przeróżnej ilości miejsc, że głowa boli. Udało mi się podmienić nicki (dodać random string) do nicków na stronach obsługiwanych viewforum - ostatni post + autor. I zwątpiłem myśląc o tym ile jeszcze zostało.

Podzieli się ktoś możliwością rozwiązania tej kwestii?



Powered by phpBB modified by Przemo © 2003 phpBB Group