Przewodnik po ochronie serwera VPS w systemie Linux

Spisie treści

A Serwer VPS (wirtualny serwer prywatny), Jest to logiczna partycja dysku twardego przez maszynę wirtualną, vps daje nam większą kontrolę nad zarządzaniem zasobami w porównaniu z usługą serwera współdzielonego.

VPS jest idealny dla tych, którzy chcą korzystać z serwera profesjonalnie, ale taniej niż serwer dedykowany, a także dla tych, którzy chcą rozpocząć i przeprowadzić testy w administracji serwerami, ale nie są pewni aspektów technicznych, VPS serwer to dobra opcja na początek. Może być używany do testowania narzędzi i umiejętności bez wydawania zbyt dużych pieniędzy i narażania serwera produkcyjnego na ryzyko.

Możemy stworzyć VPS, jak widać w samouczku:

  • Utwórz lokalny serwer VPS

Lub skorzystaj z płatności, istnieje wiele firm, które oferują serwer VPS miesięcznie lub dziennie, na przykład DigitalOcean, do testowania konfiguracji w rzeczywistym środowisku.

Najważniejszą rzeczą, gdy musimy administrować serwerem, jest decyzja, jakie środki bezpieczeństwa zastosujemy, będą konieczne. Chociaż istnieje wiele środków i narzędzi bezpieczeństwa, mogą one również przynieść efekt przeciwny do zamierzonego, ponieważ zużywają zasoby i mogą uniemożliwiać prawidłowe działanie niektórych aplikacji, dlatego musimy być świadomi zagrożeń, potrzeb, aby móc decydować o równowadze między łatwością, a wydajność i bezpieczeństwo serwera.

W tym samouczku przedstawię serię zalecanych konfiguracji dla bezpiecznego VPS

Blokowanie dostępu za pomocą zapory ogniowe
Zapory sieciowe działają jako bariera między ogólnym ruchem internetowym a serwerem. Ważne jest, aby przeglądać, filtrować i blokować ruch wewnętrzny i zewnętrzny.

Dzięki zestawowi reguł skonfigurowanych przez administratora serwer będzie używał tylko określonych portów sieciowych dla autoryzowanych usług. Pozostałe porty nie zostały wykorzystane i muszą być bezpiecznie chronione zaporą ogniową, aby uniemożliwić wszelki ruch skierowany do tych miejsc.

W tym samouczku założymy, że zarządzamy serwerem Linux VPS, aby zastosować środki bezpieczeństwa. Aby ustalić podstawowe reguły zapory, musimy najpierw śledzić, które porty mamy otwarte, w tym celu używamy polecenia:

 ifconfig
Określamy ip:
 nmap -sT -O 192.168.0.11

Dzięki temu można dowiedzieć się, które porty nasłuchują i w niektórych przypadkach warunkować korzystanie z usług. Dobre skonfigurowanie reguł naszego firewalla to dobra podstawa dla bezpieczeństwa serwera i sieci.

Dostępnych jest wiele zapór sieciowych, niektóre z nich to:

  • Zapora IPCop
  • Zabezpieczenia i zapora ConfigServer

Najczęściej używanym firewallem jest Iptables, który jest już dostarczany z Linuksem, ale nie posiada interfejsu graficznego, z okna terminala (połączonego przez SSH) możemy użyć następujących poleceń:

Zablokuj podany przychodzący adres IP:

 sudo iptables -A WEJŚCIE -s 190.160.45.60 -j DROP
Zablokuj przychodzący adres IP i port przez interfejs sieci Ethernet lub sieć przewodową:
 iptables -A INPUT -i eth0 -s 190.160.45.60 --destination-port 25 -j DROP
Blokuję przychodzące IP, ale przez WiFi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Jeśli usunę parametr -s IP i opuszczę port, zablokuję port dla dowolnego adresu IP

Iptables to narzędzie używane do zarządzania zaporą sieciową netfilter zawarte w jądrze Linux. Zaletą Iptables jest to, że przeszedł bardzo głębokie audyty bezpieczeństwa, aby upewnić się, że działa i jest użyteczny.

Innym interesującym aspektem jest to, że możemy stworzyć skrypt lub interfejs do definiowania reguł dla iptables, chociaż istnieje już wiele dostępnych, które pozwalają na konfigurację z zestawami reguł w bardzo elastyczny sposób.

Używaj SSH bezpiecznie do zdalnej administracji
Kiedy musimy zarządzać serwerem, do którego nie mamy dostępu lokalnego, musimy to zrobić zdalnie. W tym celu wykorzystywana jest usługa poprzez protokół o nazwie SSH, czyli Secure Shell, który pozwala na pełne zarządzanie serwerem za pomocą interpretera poleceń,

SSH zapewnia możliwość tworzenia i utrzymywania tunelu ruchu między komputerem a serwerem, dzięki czemu nawiązywane jest bezpieczne połączenie, gdy tunel przesyła dane przez połączenie szyfrowane.

Chociaż sam protokół jest bardzo bezpieczny i został gruntownie przeanalizowany i przetestowany pod kątem bezpieczeństwa, możemy dodać kilka opcji konfiguracyjnych, aby uczynić go bezpieczniejszym, na przykład zmień port, ponieważ domyślnie portem połączenia SSH jest port 22, w tym celu łączymy się przez SSH a następnie edytujemy plik:

 / etc / ssh / sshd_config
Łączymy się za pomocą następującego polecenia:
 użytkownik ssh @ ip

Następnie edytujemy plik i zmieniamy port na inny według naszych upodobań, który nie koliduje z żadną usługą, na przykład 9200:

 nano / etc / ssh / sshd_config

Nagrywamy i restartujemy SSH aby przyjął nową konfigurację, zgodnie z dystrybucją linux:

Fedora, Centos

 sbin / service sshd restart
Debian, Ubuntu
 /etc/init.d/sshd restart
Następnie będziemy musieli ponownie uzyskać dostęp, zrobimy to w następujący sposób:
 użytkownik ssh @ ip -p 9200
Następnie blokujemy port 22 w ten sposób, że nie będą mogli nas przeskanować i podjąć próby ataku brute force.
 iptables -A WYJŚCIE -p tcp --dport 22 -j DROP
Zainstaluj IPS lub system zapobiegania włamaniom
System zapobiegania włamaniom to oprogramowanie, które umożliwia monitorowanie i kontrolowanie dostępu w sieci komputerowej w celu ochrony zasobów lub serwera przed atakami i włamaniami. Technologia zapobiegania włamaniom jest istotnym uzupełnieniem systemu wykrywania włamań (IDS), podczas gdy IPS działa jako zapora ogniowa, podczas gdy IDS analizuje rodzaj ruchu krążącego w sieci, ale także sprawdza zawartość i jej działanie.

Przykładem jest Fail2Ban, jest to aplikacja opracowana w Pythonie do zapobiegania włamaniom, jest to IPS, który automatycznie działa poprzez analizę i blokowanie zdalnych połączeń próbujących uzyskać dostęp brute force.

Fail2ban nie tylko używa własnego dziennika prób dostępu, ale także używa dzienników z innego oprogramowania, takiego jak iptables, które określają reguły umożliwiające zastosowanie blokady.

Możesz użyć reguł stworzonych przez administratora lub utworzyć nowe zgodnie z własną konfiguracją, na przykład zablokować adres IP, do którego nie udało się uzyskać dostępu 3 razy.

Możemy go z okna SSH lub pobrać z jego oficjalnej strony internetowej, jeśli pojawi się w repozytoriach naszej dystrybucji, instalujemy go.

 apt-get install fail2ban
Następnie konfigurujemy go edytując następujący plik:
 nano /etc/fail2ban/jail.conf

Tutaj edytujemy niektóre z najważniejszych parametrów

  • ignoreip: adres IP, który nigdy nie zostanie zablokowany.
  • bantime: czas w sekundach, przez który będzie trwał blok IP.
  • maxretry: maksymalna liczba nieudanych prób dostępu przed zablokowaniem.

Następnie możemy stworzyć filtry dla różnych aplikacji, które znajdziemy w katalogu:

 cd /etc/fail2ban/filter.d

Ten system zapobiegania włamaniom pozwoli nam złagodzić wiele ataków, a tym samym zwiększyć ogólne bezpieczeństwo naszej konfiguracji VPS.

Fail2ban to usługa, która monitoruje pliki dziennika w celu ustalenia, czy dostęp jest uprawnionym użytkownikiem, a jeśli nie, aby tymczasowo zablokować ruch z adresu IP powiązanego z użytkownikiem, który zamierza uzyskać dostęp do niektórych usług, czy to ftp, ssh, e-mail, sieć itp.

Jest to łatwy sposób na automatyczne blokowanie metod brute force, ponieważ zablokowanie go spowoduje, że atak przestanie działać tak długo, jak wskażemy. To zwykle wystarcza, aby zniechęcić do dalszych prób brutalnej siły.

Zaimplementuj system wykrywania włamań lub IDS
System wykrywania włamań (IDS) jest obowiązkowym uzupełnieniem systemu zapobiegania włamaniom. IDS wykrywa modyfikacje plików lub rekordów, uruchamiając porównania W stosunku do tych wcześniej zarejestrowanych stanów, aby wiedzieć, czy pliki zostały zmienione lub jakakolwiek konfiguracja została zmodyfikowana i zarejestrować, który użytkownik to zrobił.

Istnieje wiele IDS, takich jak Snort, które widzieliśmy w samouczku:

  • Zapobieganie hakerom i narzędzia zabezpieczające
Surykatka, którą widzieliśmy w samouczku:
  • System wykrywania intruzów Suricata
Tripwire, który widzieliśmy w samouczku:
  • Wzmocnienie bezpieczeństwa serwerów i systemów operacyjnych.

Narzędzia te wykorzystują bazę danych plików systemowych i chronią pliki konfiguracyjne. Konfigurując reguły i wyjątki określasz, które pliki mają być chronione, a co raportowane, dzięki czemu po rozpoczęciu monitorowania systemu możesz przeglądać wykonania i wszelkie modyfikacje monitorowanych plików.

Wszystkie narzędzia można skonfigurować tak, aby od czasu do czasu automatycznie sprawdzały z cronjob, a nawet wdrażały powiadomienia e-mail w przypadku nietypowej aktywności.

Jeśli weźmiemy na przykład Snorta, instalujemy go z repozytoriów:

 apt-get install snort

Następnie przechodzimy do katalogu, w którym znajdują się pliki reguł:

 cd / etc / snort / zasady

Na przykład spójrzmy na plik mysql.rules

 nano mysql.rules
Tam, gdzie widzimy, że określono, że każdy zewnętrzny lub root użytkownik dostęp do usługi MySQL powinien zostać poinformowany.

Innym przykładem jest np. monitorowanie programów czatowych zarówno z serwera, jak iz komputera w sieci lub z komputera zewnętrznego, który korzysta z naszego serwera.

 nano chat.zasady 

Możemy również skonfigurować każdy plik reguł, aby wykrywał pobrania z przeglądarki lub dostęp do usługi, modyfikację pliku lub konkretną stronę internetową.

Suricata jest bardziej nowoczesna niż Snort i Tripwire, ponieważ działa jako silnik sniffer do analizy ruchu przychodzącego i wychodzącego systemu sieciowego. Jednak analizowanie i wykrywanie włamań przez podwójne zadanie jako IDS i IPS wymaga dużych zasobów.

Posiada również wtyczki do przypisywania reguł i analizowania wielu aplikacji i programów. Suricata działa na wszystkich warstwach modelu OSI.

Sprawdź obecność wirusów i złośliwego oprogramowania za pomocą Wykrywanie złośliwego oprogramowania Linux lub ClamAV
Chociaż Linux jest mniej podatny na tego typu ataki, nie jest odporny na złośliwe oprogramowanie. Narzędzia systemu bezpieczeństwa w połączeniu z implementacją IPS i IDS do wykrywania prób włamań wymagają oprogramowania zdolnego do wyszukiwania i wykrywania złośliwego oprogramowania w celu identyfikacji śladów aktywności, które wskazują, że na serwerze systemu zainstalowano niebezpieczne oprogramowanie.

W samouczku Linux Malware Detect (LMD) dotyczącym zabezpieczania systemu Linux wyjaśniono instalację i używanie tego narzędzia do wykrywania złośliwego oprogramowania, nie przegap tego.

Dostępnych jest wiele skanerów złośliwego oprogramowania dla systemów Linux, których można używać do okresowego sprawdzania integralności serwerów. Linux Malware Detect, znany również jako maldet lub LCD, to popularna opcja, którą można zainstalować i skonfigurować do skanowania w poszukiwaniu znanych sygnatur złośliwego oprogramowania na podstawie jego bazy danych.

Może być uruchamiany ręcznie w przypadku jednorazowych skanowań, a także może być uruchamiany przez cronjob w celu wykonywania regularnych skanowań prewencyjnych i wyszukiwań, zwłaszcza w celu sprawdzenia wiadomości e-mail i plików, które można przesłać na serwer przez ftp. Raporty z tych skanowań można wysyłać pocztą elektroniczną do administratorów serwerów.

Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave