Skocz do zawartości

[startup] Abuse IP Firewall


modell

Rekomendowane odpowiedzi

Serwisy oparte o popularne systemy CMS (np. Joomla, Wordpress) nieaktualizowane w efekcie prędzej czy później padają ofiarą robaków, które uzyskują nieautoryzowany dostęp. Często dostęp ten wykorzystywany jest do rozsyłania spamu, na co w większości reagują firmy hostingowe przez blokowanie takiego serwisu.

 

Doświadczając takich sytuacji w przypływie chwili zacząłem (na własne potrzeby) rozwijać skrypt, który sprawdza IP połączeń do Apache, weryfikuje ich reputację w popularnych serwisach dostarczających listy RBL i jeżeli IP osiągnie oczekiwaną punktację dostaje bana.

 

Przyznam szczerze że na testowanym przeze mnie serwerze liczba połączeń malwerowych przekroczyła moje (zupełnie śmiałe i umiarkowanie pesymistyczne) oczekiwania.

 

Jeżeli ktoś z forumowiczów chciałby poznać szczegóły projektu zapraszam na:
https://aipa.elineo.eu

 

 

 

Kontaktowy adres e-mail pod którym odpowiem na ewentualne pytania i sugestie:

aUKipERa@elineo.eu (proszę usunąć wielkie litery z adresu).

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

Cen na razie nie potrafię określić. Z resztą jest to dobry temat do dyskusji na forum.

 

Do szacowania ceny na pewno należy zwrócić uwagę na kilka faktów:

  • jeżeli projekt pójdzie w kierunku rozwiązania komercyjnego - to będzie szyfrowany ionCube i do uruchomienia będzie niezbędny ionCube Loader (jest praktycznie standardowo w każdym php i Loader jest darmowy),
  • Licencja będzie bezterminowa
  • Zakup licencji będzie umożliwiał wykonanie aktualizacji przez rok po zakupie
  • Jeżeli klient będzie zainteresowany (i przede wszystkim zadowolony), wówczas zakładam możliwość przedłużenia licencji na kolejny rok za dodatkową opłatą
  • Nie będzie rozróżnienia per server/ per strona w warunkach cenowych. Po zakupie można używać jak się chce.

Jak uważacie, jaka powinna być cena takiego produktu ?

 

Wklejam przykładowe logi z uruchomionej usługi.

2016-06-14 13:24:33 INFO: dbaipa/openbl.db successfully loaded. [5066]
2016-06-14 13:24:33 INFO: statcache.db successfully opened.
2016-06-14 13:24:33 INFO: abuseip.db adjusted [0]
2016-06-14 13:24:33 INFO: abuseip.db successfully loaded.
2016-06-14 13:24:33 INFO: Banned IPs count: 162. Scanning netstat result...
2016-06-14 13:24:33 INFO: [    LocalDB    ] Rate:1 ipConnections:2 Atom:11 IP:xxx.xxx.xxx.xxx
2016-06-14 13:24:33 INFO: [    LocalDB    ] Rate:1 ipConnections:2 Atom:11 IP:xxx.xxx.xxx.xxx
2016-06-14 13:24:34 INFO: [AbuseIPdb & RBL] Rate:2 ipConnections:2 RBL Rate:+4 \ 
 "Infected System (Service: badbot, Last-Attack: 1465898120), \
 see https://www.blocklist.de/en/view.html?ip=5.102.227.140" Atom:56 IP:5.102.227.140
2016-06-14 13:24:34 INFO: [    LocalDB    ] Rate:1 ipConnections:2 Atom:11 IP:xxx.xxx.xxx.xxx
2016-06-14 13:24:34 INFO: 1 IPs to add to banlist.
2016-06-14 13:24:34 WARN: Banned: 5.102.227.140.
2016-06-14 13:24:34 INFO: /etc/modsecurity/AIPA-blacklist.txt reloaded
2016-06-14 13:24:35 INFO: Apache gracefully restarted... exiting.

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

rozwijać skrypt, który sprawdza IP połączeń do Apache, weryfikuje ich reputację w popularnych serwisach dostarczających listy RBL i jeżeli IP osiągnie oczekiwaną punktację dostaje bana.

Tylko jest jedno ale jeśli weryfikacja ip klienta wykonującego żądanie http jest w czasie rzeczywistym, to musi być asynchroniczna bo inaczej będzie blokować wczytywanie strony. I co z limitami odpytan tych weryfikatorow przy jakimś większym ruchu niż kilka wejść na godzinę. Jest, to brane pod uwagę ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję za uwagę :)

 

Oprogramowanie nie działa jako moduł Apache, tylko niezależny skrypt. Sprawdzane są połączenia w warstwie sieciowej. Nie ma to żadnego wpływu na szybkość ładowania stron.

Skuteczność (szybkość) blokowania zależy od częstotliwości sprawdzenia warstwy sieciowej.
 

Limity - AbuseIPdb.com - trzeba założyć własne konto. Aktualnie limit to 3000 zapytań na dzień. Zwracam uwagę jednak że skrypt posiłkuje się własną bazą i nie robi 2x zapytania do tego samego adresu IP.

Limity OpenBL.org i blocklist.de - nie istnieją. W przypadku blocklist.de weryfikacja jest taka jak RBL dla serwerów pocztowych - po DNS.

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach


Sprawdzane są połączenia w warstwie sieciowej. Nie ma to żadnego wpływu na szybkość ładowania stron.
Dobrze rozumiem, iż wymaga, to konta root lub dostępu do SSH ... czyli metoda nie do zastosowania w wypadku hostingów shared ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

 

Sprawdzane są połączenia w warstwie sieciowej. Nie ma to żadnego wpływu na szybkość ładowania stron.

Dobrze rozumiem, iż wymaga, to konta root lub dostępu do SSH ... czyli metoda nie do zastosowania w wypadku hostingów shared ?

 

 

Może być to dostęp "shared", ale powłoka bash jest niezbędna. Proces napisany jest w bash.

Dostęp do root umożliwi zapisywanie logów w folderze /var/log i skorzystanie w pełni z mod_security.

Zwykły dostęp do bash (prawa użytkownika) będzie umożliwiał blokowanie za pomocą .htaccess.

 

Niemniej jednak uważam że aplikacja powinna być stosowana jako wywołanie z uprawnieniami root i działać w obrębie całego serwera (dla wszystkich stron). Tak będzie wydajniej.

Zdaję sobie sprawę że nie każdy dostęp do root posiada... :) ale przecież każdy może wpłynąć na swojego dostawcę hostingu.

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

jako wywołanie z uprawnieniami root i działać w obrębie całego serwera (dla wszystkich stron). Tak będzie wydajniej.

Jeśli ma wykonał przeładowanie serwera HTTP, to user musi mieć odpowiednie uprawnienia ;)

 

 

ale przecież każdy może wpłynąć na swojego dostawcę hostingu.

Jeśli chodzi o współudziały, to IMHO admini nie będą chętni do instalowania na produkcji jakiś aplikacji, która nie są dogłębnie przetestowana ... Ale dla VPS'a / dedyka, to co innego...

---

Może się przy czasie wypowie Kolega Jakub - swits.pl.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Skrypt robi przeładowanie graceful do którego faktycznie niezbędne są odpowiednie uprawnienia. Przed przeładowaniem oczywiście wykonywany jest configtest.
Jednak dla wykorzystania opcji blokowania zwykłym .htaccess - przeładowanie nie jest wykonywane.

 

Mion - zgadzam się z Tobą co do zastosowania skryptu. Trudno oczekiwać zainteresowania ze strony dużych firm. Skoro jest np. CloudFlare.

Ale małe dedyki i vps'y... trudno oczekiwać że projekt mający niecałe 2 miesiące będzie właściwie przetestowany ;). Ale na pewno nie oznacza to że będzie źle działał ;) gdybyśmy myśleli tylko w ten sposób nigdy nie powstawałyby nowe projekty.

 

Takie prawa rynku.. kto będzie czuł potrzebę, to się skontaktuje, a kto uzna że rozwiązanie nie jest przydatne lub ma lepsze rozwiązania to na pewno je wybierze.

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

Darku, czytam wątek od jego pojawienia się tutaj.

Ciężko się odnieść, nie testując.

Idea dobra, podobna do tego, na jakiej zasadzie działają listy RBL.

My stosujemy 

https://forums.comodo.com/free-modsecurity-rules-comodo-web-application-firewall/comodo-waf-for-directadmin-t110039.0.html

Zobaczymy jak projekt będzie się rozwijał, może wrzucę za jakiś czas na środowisko testowe.

Odnośnik do komentarza
Udostępnij na innych stronach

Na podstawie tej wymiany zdań zdecydowałem że:

  • licencjonowanie będzie kluczem ważnym na określony czas
  • udostępnię wersję testową działającą przez jakiś krótki okres (np. 14 dni)

Poinformuję na tym forum gdy pojawi się taka wersja.
Bardzo dziękuję za konstruktywny dialog ;)

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Z przyjemnością informuję że opublikowana została wersja Trial umożliwiająca instalację testową.
Plik do pobrania znajduje się na: https://aipa.elineo.eu/download

Paczka zawiera klucz licencyjny, który będzie działał do 2016-08-31.

 

Świece ozdobne - świece na prezent lub do dekoracji
Opakowania kartonowe - opakowania

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności