poniedziałek, 20 czerwca 2016

Konfiguracja serwera: fail2ban

Postanowiłem notować tutaj moje poczynania na serwerze na którym uruchomiłem ownClouda.
Ostatnio problemem okazał potop żądań GET próbujących dostać się do różnorakich domen (google, btcdice, setki innych). Mój problem został całkiem trafnie opisany tutaj.

Pierwsze co zrobiłem, to zablokowałem możliwość używania serwera jako proxy przez ustawienie ProxyRequests na off in w /etc/apache2/apache2.conf. To zmieniło rezultat wszystkich przybywających zapytań z 502 na 200 (to dobrze, można o tym przeczytać tutaj).

Chciałem jednak jeszcze pozbyć się tych wszystkich wścibskich odwiedzających.
Sugerowanym rozwiązaniem jest użycie narzędzia, które automatycznie banuje hosty próbujące użyć mój serwer jako proxy. Skonfigurowałem zatem fail2ban zgodnie z tym linkiem.
W /etc/fail2ban/jail.local umieściłem własne zasady, które zostaną dodane (lub nadpiszą) te z /etc/fail2ban/jail.conf.
To natychmiastowo zbanowało kilkanaście adresów, ale nadal other_vhosts_access.log puchł od zapytań. Ustawiłem zatem 'enabled' na true w kilku gotowych wpisach w jail.conf: apache-multiport, apache-noscript i apache. Po ustawieniu maxretries na 0, apache-noscript zbanował szereg adresów. Niestety, nie przerzedziło to znacząco przychodzące logi.

Co gorsza, fail2ban zaczął raz za razem banować własny adres... Na szczęście:
1) Zatrzymanie fail2bana odbanowuje wszystko co zrobił do tej pory
2) Mogłem dopisać własny IP do listy ignoreip w jail.conf

Podsumowując, zapytań jest nadal wiele, ale serwer już nie muli. Na razie to mi musi wystarczyć.

Update:

Zrozumiałem źródło problemu. Ustawiając serwer jako reverse proxy (było to wymagane do działania ownclouda), ustawiłem go jako otwarte proxy. Błąd polegał na ustawieniu ProxyRequests On w /etc/apache2/mods-enabled/proxy.conf. A zatem mój "fix" opisany na początku tego posta nic nie dawał. Oświecił mnie ten post.
Po drugie, przeniosłem wszystkie moje konfiguracje fail2bana z jail.conf do jail.local.
Po trzecie zaktualizowałem serwer z Wheezy na Jessie. To ten krok zmusił mnie do przejrzenia i zastanowienia się nad wszystkimi zedytowanymi plikami konfiguracyjnymi.

Po tym wszystkim, niechciane wpisy w logach zmalały dramatycznie. Fail2bana zostawię włączonego, dopisałem tam tylko jeszcze moje domowe ip do whitelisty.

Brak komentarzy: