Jak zabezpieczyć serwer VPS (dedykowany) ?

Artykułów, o tym jak zabezpieczyć serwer VPS lub dedykowany, oparty na linuksie napisano dziesiątki, większość się jednak już trochę zdeaktualizowała. Powstają nowe typy ataków, stare są coraz bardziej wymyślne, a także powstają nowe narzędzia i sposoby do ich obrony. Nie będę tu opisywał, jak skonfigurować poszczególne usługi, bo to znajdziecie w innych artykułach niniejszego bloga, bądź w internecie ale skupie się na samych technikach obrony przed atakami.

Pierwszą rzeczą jaką warto zrobić zaraz po uruchomieniu naszego VPS, jest zablokowanie możliwości bezpośredniego logowania się na konto root oraz zmiana portu połączeń przez ssh. Port powinien być dobrany tak, aby nie kolidował z żadnymi innymi usługami, być niestandardowy, najlepiej któryś z wysokich portów z zakresu 50000-65000. Samo to zabezpieczy nas przed większością skanerów internetowych, które najczęściej skanują standardowe porty na jakich pracują popularne usługi, w tym ssh (port 22), a która to usługa z kolei jest jedną z częściej wykorzystywanych do przeprowadzania ataków. Będąc już przy ssh, to hasła logowania powinny składać się z większej ilości znaków – ponad 10ciu, zawierać małe i duże litery, znaki niestandardowe (#$%&;* itp.) oraz cyfry.

Kolejną czynnością jest uruchomienie automatycznej aktualizacji pakietów linuksa odpalanej np. raz dziennie z pomocą crona w godzinach nocnych, aby potencjalne dziury w naszym oprogramowaniu były jak najszybciej załatane. Spora część administratorów bagatelizuje tą czynność, uruchamiając aktualizację np. raz w miesiącu lub jeszcze rzadziej, jest to bardzo duży błąd, gdyż nigdy nie wiemy kiedy nasze IP znajdzie się na liście automatycznych skanerów szukających potencjalnych luk w bezpieczeństwie naszego serwera, w wyniku czego stanie się on np. jednym z tzw. komputerów zombie służącym do przeprowadzania ataków DDOS lub rozsyłania spamu.

Firewall. Jest kolejnym bardzo ważnym czynnikiem, służącym podniesieniu bezpieczeństwa naszego serwera VPS. Linuks oferuje bardzo dobry i rozbudowany Firewall IPTABLES, ja jednak proponuję skorzystać z nakładki Fail2Ban na niego, zamiast tworzyć reguły ręcznie, gdyż ciągłe blokowanie nr IP na stałe potencjalnych agresorów, w dobie wszechobecnego internetu wykorzystującego adresy rotacyjne lub powstających i upadających jak grzyby po deszczu botnetów jest lekkim nieporozumieniem. Do blokowania ewentualnych całych klas adresów danych krajów jak Indie, czy Pakistan, z których raczej nie spodziewamy się odwiedzin można wykorzystać inną nakładkę UFW.

Nasz serwer jednak, to nie tylko goły system operacyjny z możliwością zalogowania się do niego, ale działają na nim zazwyczaj także takie usługi jak, serwer pocztowy, serwer www, bazy danych, serwer grup dyskusyjnych itp. Ciężko jest tu je wszystko wymienić i na nich się skupić, stąd też skupię się jedynie na tych najbardziej popularnych.

Serwer www. Jednym z najczęściej wykorzystywanych serwerów do udostępniania stron www, jest Apache. Bezpieczeństwo świadczenia tej usługi możemy podnieść na kilka sposobów, jednym z nich jest uruchomienie środowiska Jail lub chroot (polecam Jail) w jakim będzie działał serwer. Inną jest wyłączenie wersji naszego Apache w komunikacie jakim się zgłasza (w pliku konfiguracyjnym serwera). Dobrym pomysłem jest także instalacja, konfiguracja i uruchomienie kilku dodatkowych modułów do niego jak evasive (zabezpieczenie przed DoS i DDoS), qos (zabezpiecza głównie przed Slowloris), security2 (ochrona przed większością ataków z sieci na serwer Apache), spamhaus (dostęp do blacklisty jednej z największych organizacji śledzącej spam, phishing, malware, botnety i blokowanie dostępu do usług apache dla IP, które się na takiej liście znajdują) , co w znacznym stopniu podniesie jego bezpieczeństwo. Warto tu także stosować wszelkie zabezpieczenia odnoszące się do samych skryptów stron www jak np. WordPreess – WP-Fail2Ban, czy, All  In One Wp Security, jak i używać zawsze aktualnych wersji danego CMS na jakim stoi strona.

Serwer pocztowy. Uruchomienie skanera antywirusowego ClamAV oraz filtrów antyspamowych SpamAssassina wraz z Amavis. W regułach SpamAssassina warto uruchomić czarną i białą listę do ręcznej filtracji spamerów oraz autoryzowania ważnych adresów email, stworzyć porządne reguły antyspamowe, uruchomić filtry Bayesowskie oraz filtrowanie po jakimś RBL. Odpowiednia konfiguracja wytnie nam jakieś 99,9% spamu, przy czym normalne maile będą dochodzić bez problemu. Warto wiedzieć, że masowy atak spamu na nasz serwer może skutecznie nam go unieruchomić, więc filtrowanie tego syfu jest bardzo ważne.

Serwer Baz danych. Tutaj zbytnio nie zaszalejemy, warto jednak zwrócić uwagę, aby same bazy były zoptymalizowane, oraz aby skrypty się z nimi łączące były zabezpieczone przed SqlInjection np.

To o czym wyżej wspomniałem, jest tak naprawdę podstawą przy uszczelnianiu naszego serwera VPS, reszta zależała będzie głównie od dodatkowych usług na nim uruchomionych. Nie zabezpieczy nam to w 100% naszego serwera, gdyż takie zabezpieczenie nie istnieje ale skutecznie ograniczy nam to większość ataków, tym bardziej tych dokonywanych niejako z automatu.

2 myśli na temat „Jak zabezpieczyć serwer VPS (dedykowany) ?

  1. Pisze Pan o Evasive, że zabezpiecza serwer przed DDoS. Uważam, że nie ma obrony przed tego typu atakiem i o ile przed DoS ten plugin może nas ochronić, to przed DDoSem nic nie wskóra.

    • Tak, przed DDoS nie jest to skuteczna ochrona, jednak zauważ, że nie każdy DDoS idzie z kilkuset, czy też tysięcy komputerów zapychając łącza Gigabajtami danych. Z małymi atakami wtyczka jest sobie w stanie poradzić, z dużymi niestety nie jest, gdyż najczęściej wąskim gardłem stają się wtedy switche i routery nie wytrzymujące natłoku informacji. Jedynym sposobem na obronę przed dużymi atakami DDoS są zewnętrzne zabezpieczenia oferowane przez zewnętrzne firmy. Jedną z takich Firm jest CloudFlare, który był wstanie odeprzeć atak bodajże 800GB/s na serwery jednej z firm.

      Pomijając wielkie ataki DDoS, moduł chroni nam serwer przed innymi atakami i jest jedynie jednym z wielu zabezpieczeń. To tak jak z samochodem, możesz wyjść z założenia, że nie ma skutecznych zabezpieczeń i zostawiać go otwartego, bo przecież i tak jak ktoś się uprze to go okradnie albo też zamknąć go jednak na klucz chroniąc przed większością włamywaczy 🙂

Dodaj komentarz

5 × three =