Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wkurzające próby włamania przez ssh jak ograniczyć to g...
Pozycjonowanie i Optymalizacja > Forum Ogólne > Hosting i Domeny > Własny serwer
beha
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 smile.gif ). 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
ant
Zmien port na ktorym slucha ssh jakis egzotyczny, np.: 666:)
d4b
Ktos atakuje Cie slownikowo - admin nie moze tego jakos zabezpieczyc?
wszystko ginie
portsentry + iptables
w konfiguracji portsentry można ustawić blokowanie adresów ip po próbie ataku
stub
jesli masz stale ip to faktycznie najlepiej przerzuc sshd na jakis inny wysoki port, wpuszczaj na ten port tylko "zaufane" adresy oraz loginy - reszte zrzucaj na glebe.
nrm
e e e po co tak brutalnie i z kombinacjami

primo: BFD (Brute Force Detection)
http://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.
beha
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.
.Grzesiek
(beha @ 20.03.06 - 04:22) [snapback]150082[/snapback]
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: http://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.
beha
Dzięki za pomoc ... to chyba też wprowadzę ten skrypt w życie. Nie wiedziałem, że zmiany sa tak małe.

Pozdrawiam
radar22
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)
ziombka
Sam miałęm mnóstwo takich ataków na serwerze i wystarczyła zmiana portu - w tym przypadku na 30
Czesio
Jak korzystasz tylko Ty z SSH, to proponowałbym odpalenie tylko na sieci daemona sshd. Wtedy nikt zza Twojej sieci się nie zaloguje smile.gif Ustawiasz to zmieniająć wartość w sshd_config
ListenAddress tutaj_adres_ip_w_sieci
radar22
(Czesio @ 3.04.06 - 10:23) [snapback]155348[/snapback]

Jak korzystasz tylko Ty z SSH, to proponowałbym odpalenie tylko na sieci daemona sshd. Wtedy nikt zza Twojej sieci się nie zaloguje smile.gif 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
Saint
mozesz wykluczyc cala klase ip albo zrobic taki myk, ze po 3 nieudanych logowaniach z danego ip blokujesz go niestety nie pamietam gdzie i jak to zrobic w tym momencie.
radar22
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.

Czesio
(radar22 @ 3.04.06 - 11:54) [snapback]155385[/snapback]

(Czesio @ 3.04.06 - 10:23) [snapback]155348[/snapback]

Jak korzystasz tylko Ty z SSH, to proponowałbym odpalenie tylko na sieci daemona sshd. Wtedy nikt zza Twojej sieci się nie zaloguje smile.gif 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

Napisałem "Jak korzystasz". Pozatym, nigdzie nie napisał że to dedyk. Więc się nie spinaj. smile.gif
michal
Ja korzystam z BFD, które podał Normanos. Cron wywołuje BFD co 6 minut.
Od 11/11/05 mam narazie 654 ataki.

Uniemożliwienie logowania na root i zmiana portu to jest podstawowa rzecz, którą należy zrobić, a ataki i tak będą.
ErnestM
moze by tak windows firewall ? cool.gif
Saint
Ja bym to zrobil na krotko i ustawil w ssh logowanie na roota tylko z maszyny czyli fizycznie i tak dupa zbita smile.gif.
michal
moze by tak windows firewall ?

A apacha mieć z Krasnala?
Saint
michal: obawaim sie, ze kolega obudzil sie ze snu zimoweego stad jego wzmozona aktywnosc w prawie kazdym nowym temacie wink.gif chyba idzie w ilosc nie tyle w jakosc tresci wink.gif
ErnestM
a coz to "Krasnal" ? jestem tylko szarym uzytkownikiem windowsa tongue.gif

ps. ilosc postow mnie wali smile.gif jak bym tak chcial nabijac posty to bym odpowiadal kazdemu nowemu w dziale "Przywitaj sie" ;]
michal
Saint: na to wygląda.

_MaStErCoBrA_: nie krozystałem z Krasnala, bo jestem tylko szarym użytkownikiem linuxa, ale słyszałem, że hosting można na tym postawić.
ErnestM
no to luzik lol, dobra nic juz nie pisze tongue.gif
beha
Dziękuję za pomoc. Zmieniłem Port, wyłączyłem logowanie dla roota z zewnątrz ... i jeszcze parę innych rzeczy no i na razie cisza i spokój.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.
Sukienki - Agencja SEO