Co powinienem zrobić z kimś, kto próbuje brutalnej próby zalogowania się na nasze konto SQL Server „sa”?


9

Wygląda na to, że ktoś lub coś próbuje brutalnej próby zalogowania się do naszej produkcyjnej instancji SQL Server przy użyciu konta „sa”. Nie odniosły sukcesu, ponieważ nasze konto „sa” jest wyłączone, ale jakie kroki powinienem podjąć, aby upewnić się, że wszystko jest bezpieczne?

próby logowania


1
Hej. Oznacz to jako odpowiedź, abyśmy mogli kontynuować nasze życie. :)
JohnThePro

Odpowiedzi:


29

Czy Twój serwer SQL musi być publicznie dostępny w Internecie? Zazwyczaj tak nie jest. Jeśli tak absolutnie musi być, możesz ograniczyć dostęp przez adres IP lub skonfigurować VPN. Oczywiście, uczyń hasło sa niemożliwym do odczytania lub dowiedz się o ograniczaniu lokalizacji logowania sa tylko z adresów IP twojego LAN. Podaj więcej szczegółów, aby inni mogli pomóc Ci w lepszych rozwiązaniach.


3
Absolutnie to. Jest to klasyczny przypadek użycia zapór ogniowych i zminimalizowania powierzchni ataku.
Rob Moir

Poza tym to nie jest ktoś. To jest robak, a nie człowiek. SQL Server w Internecie + brak zmiany domyślnego portu = całkowite ignorowanie rzeczywistości (internet nie jest przyjemnym miejscem).
TomTom

5

Pierwszą rzeczą, którą możesz zrobić, to zacząć od umieszczenia na czarnej liście tego adresu IP i całkowitego odrzucenia ŻADNEGO ruchu z ich adresów IP w zaporze. Oczywiście mogą po prostu zmienić adresy IP, ale przynajmniej powstrzymają ich przed bombardowaniem twojego serwera ruchem i logami.


3

Wyłącz ten port (MySQL to 3306; nie przywoływaj portu SQL Server, może 118?) Przez zaporę. Wtedy nikt nie może uzyskać do niego dostępu.
Jeśli potrzebny jest zewnętrzny dostęp do SQL, zmień mapowanie na port o wysokim numerze, taki jak 53535. Jeśli ktoś zorientuje się, że port jest otwarty, trudno będzie odgadnąć jego znaczenie.


1433; jeśli musi być otwarty na zewnątrz, zmień go na cokolwiek innego; będzie to jednak wymagać zmiany parametrów połączenia na klientach.
SqlACID

A także 1434, za usługę odkrywania ...
AviD,

3

Logowanie próbuje obejmować próby wstrzyknięcia złośliwego kodu. Zalecam zablokowanie tej aktywności za pomocą stałej czarnej listy za pomocą oprogramowania zapory serwera lub zewnętrznej zapory zewnętrznej.

Zmniejsz także liczbę dozwolonych błędów logowania, ponieważ automatycznie zablokuje on adres IP intruza.

Powyżej to zminimalizuje.


2

Prawdopodobnie to tylko jakiś skrypciarz, który uruchamia skaner i nie jest wart twojego czasu. Patrzyłbym na brak dostępu do twojej bazy danych z Internetu.


2
  • Jeśli możesz, wyłącz cały dostęp do konta SQL, nie tylko sa - tzn. Włącz tylko uwierzytelnianie systemu Windows, bez uwierzytelniania SQL.
  • Ogranicz dostęp do sieci - albo przez zaporę ogniową, albo przynajmniej ograniczenia IP w pudełku - do serwerów, które wymagają tylko dostępu. Użytkownicy publiczni nie potrzebują bezpośredniego dostępu, prawda?
  • Weź pod uwagę, że prawdopodobnie spróbuje następnie brutalnie wymusić lokalnego administratora. Chociaż tak naprawdę nie możesz usunąć uprawnień administratora, możesz upuścić je w określonej roli i jawnie zablokować dostęp.
  • Jeśli możesz, wyłącz usługę przeglądarki SQL Server. Nie ma powodu, aby to ułatwić ...
  • Wykonaj pełną analizę użytkowników, uprawnień i haseł w bazie danych - prawdopodobnie spróbują następnie innych użytkowników.
  • Spróbuj ponownie zadać to pytanie na ITSecurity.SE, aby uzyskać więcej informacji :)

2

Jeśli Twój SQL Server musi być dostępny poza siecią, możesz wybrać zewnętrzne adresy IP wymagające dostępu. Sieci VPN są lepszym rozwiązaniem (ale nie zawsze dostępne), a najlepszym rozwiązaniem nie jest dostęp z zewnątrz.

Biała lista wymaga więcej zarządzania, ale usuwa tę głupotę. Jeśli ktoś potrzebuje dostępu i ma często zmieniający się adres IP, może zalogować się do innego systemu za pośrednictwem RDP i stamtąd połączyć się z serwerem SQL.

Zmień nazwę konta sa, utwórz fałszywe konto sa i wyłącz je.

Przeprowadź inspekcję uprawnień i uruchom aktualizację hasła dla wszystkich kont użytkowników SQL Server; może zwiększyć wymagania dotyczące siły hasła.

Zmień numerację portu nasłuchiwania IP serwera SQL. Oznacza to aktualizację konfiguracji klienta lub plików konfiguracji aplikacji.

Zgadzam się z innymi plakatami dotyczącymi prawdopodobnych wektorów ataku i prawdopodobnie jest to ktoś, kto uruchamia skrypt.


1

Dla każdego, kto szuka programu, który utworzy zasady IPSEC, filtry itp. I automatycznie skanuje dziennik zdarzeń i dodaje adresy IP do listy bloków, napisałem mały program, który właśnie to robi.

Miałem również ten problem, gdy mój dziennik zdarzeń byłby wypełniony tysiącami wpisów dla hakerów próbujących zalogować się do mojej instancji MSSQL za pomocą loginu „sa”. Po długich poszukiwaniach postanowiłem napisać własny program, stworzyć niezbędne elementy IPSEC, a następnie skanować dziennik zdarzeń co 60 sekund w poszukiwaniu ataków z nowych adresów IP. Następnie dodaje adres IP do filtra IPSEC i blokuje cały ruch do iz adresu IP. Testowałem to tylko w systemie Windows Server 2008, ale wierzę, że zadziała również w innych wersjach.

Pobierz program, korzystając z linku poniżej. Darowizny są zawsze doceniane za pomocą linku w menu prawym przyciskiem myszy ikony menedżera zadań.

http://www.cgdesign.net/programs/AutoBlockIp.zip

Pamiętaj, że działa to tylko w przypadku prób logowania SQL przy użyciu loginu „sa”, ale mógłbym go zmodyfikować tak, aby działał również w przypadku innych zdarzeń dziennika. Możesz także wyświetlić zablokowane adresy IP, ale nadal będziesz widzieć niektóre elementy w dzienniku zdarzeń, ponieważ program działa tylko co 60 sekund. Wynika to z niemożności usunięcia pojedynczego wpisu dziennika zdarzeń i nie sądziłem, że usunięcie całego dziennika byłoby dobrym pomysłem.

WYŁĄCZENIE ODPOWIEDZIALNOŚCI - Pobierając i instalując wyżej wymieniony program, zgadzasz się zabezpieczyć mnie przed wszelkimi uszkodzeniami, utratą danych, uszkodzeniami lub innymi problemami funkcjonalnymi wynikającymi z korzystania z tego oprogramowania. Przetestowałem program najlepiej, jak potrafię, i obecnie mam go uruchomionego na 2 serwerach, ale zostałeś ostrzeżony, aby używać go na własne ryzyko.

Wszelkie pytania lub komentarze, prosimy o kontakt ze mną za pomocą formularza kontaktowego na mojej stronie internetowej www.cgdesign.net

-Chris


Wykonujesz dobrą robotę, ujawniając swoje powiązanie z produktem. Uważaj, generalnie nie doceniamy sesji sprzedażowych.
Scott Pack

0

Powinieneś ograniczyć próby logowania, więc jeśli ten sam użytkownik spróbuje zalogować się więcej niż 5 razy, zostaną zablokowani przed kolejnymi próbami przez kilka godzin lub dzień. Przynajmniej wtedy nie mogą brutalnie wymusić logowania po milionie prób.

I jak powiedzieli inni, nie zezwalaj na publiczny dostęp, jeśli nie jest to konieczne. Możesz ograniczyć dostęp do zestawu znanych adresów IP, jeśli niektóre osoby potrzebują dostępu z zewnątrz.


1
Konto jest już wyłączone, nie można już więcej wyłączyć.
mrdenny

@mrdenny: Myślałem więcej o nieaktywnych kontach w pierwszym akapicie. Jeśli ktoś brutalnie zmusza „sa”, może łatwo zacząć od innego konta. Po 5 próbach na wyłączonym koncie, po prostu całkowicie je zablokuj.
DisgruntledGoat

Kotki skryptowe zwykle atakują tylko konto sa, ponieważ znają już nazwę użytkownika. W przeciwnym razie muszą również brutalnie wymusić nazwę użytkownika, co zajmuje dwa razy więcej czasu i nie mają możliwości dowiedzenia się, czy nazwa użytkownika istnieje, czy nie.
mrdenny,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.