Mój serwer jest stale atakowany przez różne adresy IP. Wypróbowują pięć haseł, a następnie zmieniają adres IP.
Zrobiłem różne blokady, takie jak używanie kluczy ssh i nie zezwalanie na hasła i nie zezwalanie na zdalne logowanie do roota.
Czy mogę coś zrobić, aby pozbyć się tych prób ataku? Jeśli nie, czy są jakieś szczególne zabezpieczenia, które powinienem zastosować?
Odpowiedzi:
To rzeczywiście fakt z życia. Możesz zainstalować narzędzia do odfiltrowywania hostów, które atakują cię po kilku nieudanych próbach.
DenyHosts analizuje pliki dziennika i automatycznie dodaje do
/etc/hosts.deny
pliku osoby atakujące .Sprawdź dokumentację, w jaki sposób skonfigurować go do swoich potrzeb.
Aktualizacja : niektóre ważne punkty sugerowane w komentarzach
pamiętaj, aby poprawnie skonfigurować narzędzia jako DenyHosts, ponieważ możesz się zablokować (np. możesz skonfigurować maszynę lub sieć, która nigdy nie jest filtrowana)
DenyHosts nie zwiększa bezpieczeństwa systemu: filtruje tylko ataki na poziomie IP (może zmniejszyć obciążenie małych komputerów i zmniejszyć rozmiar plików dziennika, ale nic więcej)
źródło
refs Q1.3
denyhosts.sourceforge.net/faq.html#1_0apt-get install denyhosts
wyciągnął mnie z komputera.Postępowałem zgodnie z tymi instrukcjami, aby dodać 7-sekundowe opóźnienie do każdej próby logowania SSH przy użyciu niepoprawnego hasła. Zrobiłem mój sshd w „tarpit” dla skanerów brutalnej siły.
Powinienem również dodać, że mam zmodyfikowane, sshd tarpit rejestrować nieudane hasła. Może to nie być całkowicie etyczne, ponieważ pozwala użytkownikowi rootowi spojrzeć na to, co zwykli użytkownicy błędnie wpisują jako własne hasła, ale ponieważ jestem jedynym „prawdziwym” użytkownikiem, uważam, że jest OK.
Nie mam go uruchomionego na niestandardowym porcie, ponieważ aspekt „tarpit” nie zmarnowałby nikogo czasu.
źródło
Jeśli tylko niewielka liczba osób potrzebuje SSH do systemu, rozważ przeniesienie SSH do niestandardowego portu (np. 6422, 8080 itd.). To samo znacznie zmniejszy liczbę prób logowania (i prawdopodobnie ochroni cię przed niektórymi niepakowanymi Robak oparty na exploicie SSH).
źródło
Zgadzam się z odpowiedzią @ Matteo; to, co widzisz, to w zasadzie tysiące systemów zombie przeprowadzających rozproszony atak brute-force na twój serwer, ponieważ działa na nim strona internetowa, co oznacza, że mogą istnieć użytkownicy, którzy mogą mieć konto logowania, z którym można się domyślić minimalny wysiłek ze strony skrypciarza - ma program, który nakazuje tysiącom zombie podejmować próby brutalnej siły na kilkuset hostach stron jednocześnie i po prostu sporządzić listę udanych zwrotów.
Podobnie, czasami możesz zobaczyć wiele permuacji „http://twoj.web.host/phpmyadmin/” w swoich
/var/log/apache2/access.log
plikach; są to automatyczne skany w poszukiwaniu najczęstszych sposobów konfigurowania PHPMyAdmin, i spróbują wielu znanych exploitów, jeśli taki zostanie znaleziony (nawiasem mówiąc, właśnie dlatego zacząłem mówić klientom, aby korzystali z witryny PMA, którą osobiście skonfigurowałem i bądź na bieżąco, zamiast instalować własną wersję i zapominać o jej aktualizacji, ale teraz mamy styczną).Oprócz wysłania oryginalnego polecenia, nie kosztuje to nawet czasu ani przepustowości; to ogień i zapomnij.
Innym bardzo przydatnym oprogramowaniem do takich sytuacji jest fail2ban , który używa iptables do blokowania prób połączenia po wielu wyraźnie fałszywych logowaniach lub innych próbach wykorzystania.
źródło
Spróbuj skonfigurować Fail2ban . Zapewnia bardzo elastyczny sposób wyszukiwania nieudanych prób i zawiera szablony dla SSH, HTTP i wspólnych usług.
Fail2ban zaktualizuje iptables zgodnie z twoimi działaniami. Uwielbiam to.
źródło
Za pomocą IPTABLES można zatrzymać ruch bez uruchamiania demona, takiego jak Fail2Ban lub DenyHosts.
źródło
Jeśli możesz sobie z tym poradzić, znajduję najlepszy sposób radzenia sobie z takimi sprawami, jak korzystanie z VPN. W ten sposób jedyne, na co mogą celować, to VPN. Na świecie nie powinny być dostępne żadne usługi, z wyjątkiem tych, które są niezbędne, aby „wszyscy” mieli do nich dostęp, takich jak serwer WWW. Cała reszta powinna być blokowana przez zaporę ogniową. Teraz jedyną rzeczą, na którą naprawdę musisz się martwić o zabezpieczenie, jest VPN. Jeśli możesz, uzyskaj statyczny adres IP komputerów, z których zarządzasz serwerami, i zablokuj VPN do tego konkretnego adresu IP. To naprawdę jedyny sposób, aby powstrzymać ludzi przed próbą brutalnego użycia haseł.
źródło
Sshguard działa świetnie. Używam go razem z iptables.
źródło