Skocz do zawartości

Wkurzające próby włamania przez ssh jak ograniczyć to g...


beha

Rekomendowane odpowiedzi

Moje logi są regularnie zawalone żądaniami logowań na ssh z różnych ipków (kilkadziesiąt) tak mniej więcej na sekunde mam jedną próbę logowania. Jak to ograniczyć ? Może coś w stylu nieudane logowanie ogranicza danemu IP dostęp do ssh na następne 5-10 minut .

Jest jakieś rozwiązanie które nie zablokuje dostępu do strony tylko zablokuje dostęp do shh ?

Znalałem coś takiego jak poniżej, lecz poniższy skrypt ma jak dla mnie kilka wad.

1 Skrypt poniżej bedzie mi blokował dostęp dla danego ip do całej strony, a nie tylko ssh no i

2 Wolałbym aby blokowało to tylko dane ip na jakiś czas a nie na zawsze ( a co bedzie jak będę miał stałe ip i pomylę się te kilka razy )

3 Czy skanowanie za pomoca wyrazeń regularnych logów co np minute logów nie spowoduje, wiekszego obciązenia ?

Może ma ktoś jakieś inne rozwiązania tego problemu (juz napisane :) ). Jestem początkującym linuxiarzem i nie wiem jak to ugryźć. ? Może jakiś soft ?

#!/bin/bash
LAST_IP=0.0.0.0
COUNT=1

# Set MAXCOUNT to the maximum failures allowed before blacklisting
MAXCOUNT=5

#
# The three lines below put the leading lines in /etc/hosts.allow
# Note: This script overwrites the entire /etc/hosts.allow file.
#

echo '
# /etc/hosts.deny
# See "man tcpd" and "man 5 hosts_access" as well as /etc/hosts.allow
# for a detailed description.
http-rman : ALL EXCEPT LOCAL' > /etc/hosts.deny

#
# Scan the /var/log/messages file for failed login attempts via ssh.
# Parse out the IP address, and count the failure occurances from that IP
# If the IP fails more than 5 times - deny further access
#

for IP in `/bin/grep sshd /var/log/messages|/bin/grep "Illegal user"|/bin/sed 's/^.*from :*[a-z]*://'` 0.0.0.0; do
 if [ ${LAST_IP} == ${IP} ]; then
 let COUNT=${COUNT}+1
 else
 if [ ${COUNT} -ge ${MAXCOUNT} ]; then
	echo "ALL: ${LAST_IP}/32" >> /etc/hosts.deny
 fi
 LAST_IP=${IP}
 COUNT=1
 fi
done 

...

Odnośnik do komentarza
Udostępnij na innych stronach

e e e po co tak brutalnie i z kombinacjami

primo: BFD (Brute Force Detection)

https://www.rfxnetworks.com/bfd.php

secundo:

zablokuj logowanie na roota i jezeli to jest twoj serwer z mala iloscia kont shell to podaj, ze mozna sie tylko z nich logowac. u mnie mozna sie logowac tylko na 2 konta.

Odnośnik do komentarza
Udostępnij na innych stronach

Ktos atakuje Cie slownikowo - admin nie moze tego jakos zabezpieczyc?

To mój serwerek, więc sam sobie jestem "Ladminem" .

Na razie zrobiłem tak jak normanos powiedział, wyłączyem logowanie roota z ssh. Napiszę zaraz zbiorowy list na ovh.com i kilku innych firm których ip powtarzają się najczęściej - Pewnie i tak to walka z wiatrakami, ale może chociaż jednemu kretynowi utrudnię nieco życie.

...

Odnośnik do komentarza
Udostępnij na innych stronach

Znalałem coś takiego jak poniżej, lecz poniższy skrypt ma jak dla mnie kilka wad.

1 Skrypt poniżej bedzie mi blokował dostęp dla danego ip do całej strony, a nie tylko ssh no i

W takim razie chyba wystarczy zamienić:

http-rman : ALL EXCEPT LOCAL' > /etc/hosts.deny

na

sshd : ALL EXCEPT LOCAL' > /etc/hosts.deny

a także zrobienie tego: https://www.ssh.com/support/documentation/o...rs_Support.html

2 Wolałbym aby blokowało to tylko dane ip na jakiś czas a nie na zawsze ( a co bedzie jak będę miał stałe ip i pomylę się te kilka razy )

To zrób kopie domyślnego /etc/hosts.deny i za pomocą crona przywracaj ją do życia co np. 30 minut, tak będzie najprościej bez konieczności pisania dodatkowych skryptów.

3 Czy skanowanie za pomoca wyrazeń regularnych logów co np minute logów nie spowoduje, wiekszego obciązenia ?

To już zależy od tego jakimi dyskami dysponujesz. Możesz również czyścić logi co jakiś czas lub po przekroczeniu pewnej wielkości.

Odnośnik do komentarza
Udostępnij na innych stronach

jak dla mnie to zabawa z wiatrakami

polecam albo zmianę portu ssh

albo firewalla

najprostsza wersja firewalla

iptables -I INPUT -s ! TWOJE_IP -p tcp --dport 22 -j DROP

(wykrzyknik ma znaczenie)

rOOt

fasttony.es - reklama na facebook.com

Aplikacje facebook - tworzenie aplikacji na facebook.com

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Jak korzystasz tylko Ty z SSH, to proponowałbym odpalenie tylko na sieci daemona sshd. Wtedy nikt zza Twojej sieci się nie zaloguje :D Ustawiasz to zmieniająć wartość w sshd_config

ListenAddress tutaj_adres_ip_w_sieci

hip-hop - najlepsze forum hip-hop w sieci! :)

proxy - ukryj swoje ip, badz anonimowy w sieci!

wzory umów

Odnośnik do komentarza
Udostępnij na innych stronach

Jak korzystasz tylko Ty z SSH, to proponowałbym odpalenie tylko na sieci daemona sshd. Wtedy nikt zza Twojej sieci się nie zaloguje :D Ustawiasz to zmieniająć wartość w sshd_config

ListenAddress tutaj_adres_ip_w_sieci

coś chyba nie tak... to może i jest dobre przy sieciach lokalnych a nie na serwery dedykowane gdzie jednak trzeba mieć dostęp do serwera z zewnątrz

rOOt

fasttony.es - reklama na facebook.com

Aplikacje facebook - tworzenie aplikacji na facebook.com

Odnośnik do komentarza
Udostępnij na innych stronach

Protocol 2

PermitRootLogin no

to powinno być w konfigu sshd

więcej opcji ustawia się w login.defs w etc

np.

FAIL_DELAY 10 (czas co ile sekund może być powrórzone logowanie)

SU_WHEEL_ONLY yes (z tym ostrożnie - pozwala użyć komendy su tylko userom gid 0)

LOGIN_RETRIES 2 (ilość powtórek żle wpisanego hasła - po tym zerwanie połączenia)

LOGIN_TIMEOUT 60 (maksymalny czas oczekiwania na zalogowanie)

przede wszystkim przed jakim kolwiek działaniem polecam zastanowić się 3 razy żeby nie odciąć sobie wstępu na serwer.

Można również używać pliku zdefiniowanego przez NOLOGINS_FILE do ograniczenia kont na które można się logować przez ssh. Można to również uczynić zmieniając powłokę na np. /bin/false

Ja ogólnie polecam przede wszystkim firewalla - nie musi być on wymyślny ani jakimś kombajnem a jedynie przemyślane kilka linijek.

rOOt

fasttony.es - reklama na facebook.com

Aplikacje facebook - tworzenie aplikacji na facebook.com

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