Hacking/Linux/otwarte porty - pytanie

Popełniłem dosyć poważny błąd, który teraz sobie uświadomiłem

Był sobie serwer z czystą instalacją. Otwarte były w 100% porty 22 i 80 - od samego początku INCOMING był akceptowany.

To jest normalne, są różne boty skanujące właśnie z Chin które szukają komputerów z otwartym ssh i próbują siłowo złamać hasło roota. Zabezpieczyć się jest bardzo prosto:

  1. Pomaga zwykła zmiana portu ssh z 22 na jakiś inny

  2. Pomaga autoban, jest to coś takiego że po kilkukrotnym wpisaniu błędnego hasła roota przez ssh dany komputer jest banowany.

wiem, z SSH nie ma problemu.

Z SSH po zainstalowaniu właśnie odrzucało te hasła z Chin, Korei - nie boję się o SSH. Zresztą zabezpieczyć SSH jest akurat prosto, jest 10 sposobów i można zrobić twierdzę z tego.

Jeżeli jest OTWARTY PORT i BRAK ZAINSTALOWANEJ USŁUGI (np. apache2, SSH), to czy można się jakoś włamać na to, jak nic na tym porcie nie ma?

Raczej nie słyszałem o dokonaniu włamania na port na którym nic nie ma, ponieważ to tak jakbyś wysyłał pakiety w próżnię, nic nie nasłuchuje, nic nie przyjmie połączenia, nie ma żadnej interakcji z hostem

A jeśli chodzi o moment odpalenia ssh: jak bardzo chcesz ustalić czy ktoś u Ciebie był to zobacz historię wydawanych poleceń użytkowników którzy mają dostęp po ssh. Jak nie ma poleceń których nie wydawałeś, i historia jest kompletna to nikt się nie zalogował, a właśnie: linux nie bez powodu Ci wyświetla darę ostatniego logowania na oowitanie: po to byś sprawdził czy ostatnio to byłeś ty.

Wiem,

Ale orwarty port 80 to jest normalna sprawa. Każdy serwer który hostuje jakąś stronę internetową, ma otwarty port 80 i jak otwierasz stronę to właśnie tym portem się łączysz. Połączenie z tym portem z automatu nie umożliwia zhakowania serwera, jakby tak było to byłby armagedon. Zhakować serwer można jedynie wykorzystując exploit w Apache, exploit w źle napisanym skrypcie PHP np. SQL Injection, albo exploit w samym PHP. Ale jak masz najnowszą wersję Apache i PHP,mto pierwsza i trzecia opcja odpada, a jak nie miałeś tam nawet Apache ani PHP to nie było nic do wyeksploitowania.

Kontratak na boty też nie jest prostą sprawą. Prędzej one zhakują Ciebie gdy im na to pozwolisz niż ty je, bo one wcale nie muszą być widoczne z globalnej sieci, adres IP który masz w logach może należeć do jakiegoś VPN, Proxy, węzła sieci Tor, albo ISP. Dlatego to że te adresy są Chińskie czy Konreańskie nawet nie znaczy że to ktoś stamtąd.

Bardzo chciałbym, żeby tak było, ale trzeba jeszcze zapytać na paru innych forach, bo sprawa jest zbyt poważna. Na dokładkę napiszę, że one najszybciej atakują np. WordPress, który jest dziurawy jak sito.

Nie boję się otwartych portów (szczególnie 22) - POD WARUNKIEM, że mam skonfigurowaną i zabezpieczoną usługę. W tym wypadku tak nie było, bo przekonany byłem, że pierwsze co zrobiłem to było apt-get install ufw , a później miałem wrócić do tego serwera i otworzyć porty ;/

Otwarty port to taki pod którym działa jakaś usługa, która odpowiada. Jeśli nie masz serwera webowego, to nie masz otwartego portu 80. “Hackowanie” polega, jak ktoś wcześniej wspomniał, na wynajdywaniu exploitów w wybranych usługach. Jeśli nic nie miałeś na porcie 80, to nie było czego hackować.

Swoją drogą jakim cudem masz serwer bezpośrednio wpięty do internetu, bez NATa? Nie masz routera? Ustawiłeś go w DMZ? Jeśli tak to dlaczego?

router z DMZ akurat na tych dwóch portach (będzie więcej), a później przekierowanie na konkretną maszynę 192.168.cos.tam - bo łatwiej mi jest zarządzać bezpośrednio przez SSH na serwerze, niż bawić się na routerze (zdalnie).

Otwarty port, to taki pod którym działa jakaś usługa…

A po co przekierowywałeś port 80 skoro nic na nim nie ma? Nie za bardzo rozumiem.

jak dobrze rozumiem to boisz się że ktoś wlazł przez port 80 ale apache2 nie był zainstalowany i port był pusty, co miało wejść na porcie na którym nic nie nasłuchuje? bo ja nie rozumiem to bez firewalla można by do każdego wchodzić na dowolny port bo nic na nim nie ma

miał ktoś wejść w pustkę, w nic, to bez firewalla  może ktoś wejść na przykład na port 216 jak tam nic nie ma?

przecież to kompletnie bez sensu a temat to nabijanie postów

… nie wspominając o tym, że FW to nic innego jak właśnie symulowanie takiej “pustki”.

ok, dzięki za odpowiedzi

teoretycznie to wszystko fajnie się pisze, ale na żywym organizmie to człowiek przewrażliwiony, bo jeden błąd w jakimś miejscu i od razu chińsko-koreański bot wejdzie… :wink:

post pod postem, ale jak teraz znalazłem:

Tekst który zalinkowałeś mówi tyle, że jak nie masz włączonej żadnej usługi to nie znaczy że nie potrzebujesz firewalla. I jest to prawda, ponieważ na twoim serwerze są 2 najsłabsze ogniwa: pierwszym jesteś ty, a drugim są aplikacje zainstalowane na serwerze. Wykorzystując te dwa ogniwa można zhakować serwer. Wystarczy że na serwerze jest zainstalowana np. przeglądarka firefox, i znaleziono w niej lukę która pozwala na wykonanie dowolnego kodu po wejściu na jakąś stronę. W tym momencie wystarczy spreparować stronę i przekonać Ciebie abyś ją otworzył np. wysyłając Ci przekonującego e-maila. W tym momencie wykonuje się czyjś kod który z reguły ROZPOCZYNA NASŁUCH A JAKIMŚ PORCIE. Wtedy atakujący łącząc się z nim hakuje twój serwer. Być może firewall by na to nie pozwolił. To jest tylko przykład, można zhakować milion innych aplikacji na milion sposobów.

Zauważ że takie coś wymaga wyeksploitowania najpierw Ciebie żebyś nagiął podstawowe zasady bezpieczeństwa i zrobił na serwerze coś czego nie powinieneś, a następnie wyeksploitowania jakiejś twojej aplikacji. Jakieś zwykłe boty są na to za głupie, takie przypadki się zdarzają (i można o tym poczytać na Niebezpiecznik.pl) ale to są z reguły ukierunkowane ataki w celu np. wykradnięcia ważnych informacji z serwera. Bo nie każdy serwer opłaca się hakować, nikt by się nie bawił w hakowanie małego serwerka na którym pewnie nic ważnego nie ma, takiego jak twój, chyba że zajdziesz komuś za skórę.

oki dzięki za komentarz (wszystko czytam dokładnie), wstępnie wygląda, że niby wszystko jest OK, ale wolę to jeszcze posprawdzać (i przy okazji nauczyć się jak to wszystko jest zbudowane).

Człowieku, zachowujesz się tak jakbyś trzymał tam informacje których wyciek grozi zagładą naszej cywilizacji…

nie przesadzaj, zwykłe zabezpieczenie serwera, czasami trzeba sięgnąć po niestandardowe rozwiązania - ta lista z .htaccess wygląda ok dla apache2

generalnie z perspektywy hackera, każde niestandardowe zabezpieczenie jest trudniejsze do ominięcia, bo nie wie dokładnie jak to przeskoczyć - a jest dziesiątki różnych niestandardowych zabezpieczeń z tego co widzę (szczególnie na serwerach linuxowych)

najgorszy jest config defaultowy, czyli standard - bo standard się łamie standartowo.