Ulepszanie serwerów Linux: podstawowe praktyki skutecznego zarządzania

Najlepsze praktyki dotyczące wzmacniania serwerów Linux

Podsumowanie praktyk, które można uznać za niezbędne do znacznie bezpieczniejszego zarządzania serwerem. Wszystko można wdrożyć szybko i nie wymaga zbyt wielu dodatkowych czynności konfiguracyjnych ani instalacyjnych.

Unikaj korzystania z usług takich jak FTP lub Telnet

Serwery linuksowe obsługują usługi i protokoły, takie jak FTP, Telnet lub RSH, z których wiele jest niezabezpieczonych i ryzykuje, że sniffer pakietów będzie w stanie rejestrować cały ruch danych, w tym informacje uwierzytelniające, ponieważ robi to bez jakiegokolwiek szyfrowania. Oczywiście każdy plik lub polecenie, które wysyłamy lub wykonujemy, można przeglądać bez żadnych problemów. Jednak sniffer pakietów nie działa samodzielnie, ale korzysta z dowolnego użytkownika w określonej sieci. Powszechnym często używanym rozwiązaniem są bezpieczne protokoły, takie jak SSH do zdalnego wykonywania poleceń lub użycie SFTP (SSH FTP) do bezpiecznego przesyłania plików, a nawet FTPES (FTP z TLS). Jeśli planujesz korzystać z serwera SSH,Instrukcje instalacji serwera OpenSSH dla maksymalnego bezpieczeństwa ten

Musimy upewnić się, że żaden z tych serwerów nie jest zainstalowany na serwerze Linux lub na naszym komputerze, dopóki nie użyjemy ich do określonego zadania. Na przykład w systemach operacyjnych Linux opartych na Debianie lub Ubuntu możesz użyć następującego polecenia, aby odinstalować wszystkie te usługi:

sudo apt-get --purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server

Jak widać powyżej, jednym poleceniem możemy wyłączyć prawie każdy serwer z protokołami i usługami, które mogą stanowić dużą liczbę zagrożeń dla bezpieczeństwa.

Zainstaluj jak najmniej oprogramowania

Im mniej oprogramowania i/lub usług zainstalowaliśmy na naszym serwerze, tym większe prawdopodobieństwo, że luki w oprogramowaniu spowodują, że cyberprzestępca przejmie kontrolę nad naszym materiałem. W systemach operacyjnych Linux, takich jak Debian lub Ubuntu, możesz uzyskać pełną listę zainstalowanych pakietów, aby odinstalować te, których później nie potrzebujesz.

Możesz użyć pakietu apt-get / dkpg, aby usunąć dowolną usługę lub aplikację, która nie jest ściśle niezbędna dla twojego serwera Linux:

dpkg --list
dpkg --info packageName
apt-get remove packageName

Aktualizacja jądra Linux i oprogramowania

Jednym z najważniejszych powodów, dla których całe oprogramowanie na naszym komputerze, a także podstawowe pakiety systemu operacyjnego, jest aktualne, jest bezpieczeństwo. Utrzymując nasz serwer na bieżąco z najnowszymi aktualizacjami, zapewniamy dostępność łatek bezpieczeństwa, które chronią nas przed poważnymi zagrożeniami. Ponownie możemy użyć menedżera pakietów apt-get lub dpkg:

apt-get update && apt-get upgrade

Skonfiguruj starzenie się hasła dla użytkowników Linuksa

Istnieje polecenie, które pozwala zmienić liczbę dni między zmianami hasła i datę ostatniej zmiany hasła. To polecenie to reszta ten Zasadniczo to polecenie określa, kiedy użytkownik musi zmienić swoje hasło. Oznacza to, jak długo ważne jest hasło zdefiniowane przez użytkownika:

To polecenie pozwala nam wyłączyć stare hasło:

chage -M 99999 userName

Jeśli chcesz otrzymywać informacje o konkretnym haśle o określonym użytkowniku, wprowadź:

chage -l userName

Następujące polecenie służy do modyfikowania różnych funkcji związanych z zarządzaniem zmianami haseł:

chage -M 60 -m 7 -W 7 userName

Zróbmy mały szczegół tego polecenia i jego parametrów:

  • -M: odnosi się do maksymalnej liczby dni ważności hasła.
  • -M: Odnosi się do minimalnej liczby dni wymaganych między zdarzeniami zmiany hasła.
  • -W: liczba dni, przez które użytkownik jest powiadamiany z wyprzedzeniem o zmianie hasła
  • nazwa użytkownika: nazwa użytkownika Linuksa, którą zarządzamy

Blokada użytkownika po wielu nieudanych próbach logowania

Komendanci Fallogu pozwala zobaczyć pełną historię awarii połączeń. Dodatkowo, za pomocą kilku ustawień, możesz ograniczyć liczbę niepowodzeń rozruchu, jakie może mieć użytkownik. Oto kilka zastosowań:

Aby wyświetlić historię niepowodzeń logowania:

faillog

Aby odblokować zablokowanego użytkownika w przypadku nieudanych prób:

faillog -r -u nombreUsuario

Zablokuj określonego użytkownika:

passwd -l nombreUsuario

Odblokuj konkretnego użytkownika:

passwd -u nombreUsuario

Wyłącz niepotrzebne usługi działające w tle

Oprócz zwiększenia bezpieczeństwa gwarantowana jest dostępność zasobów dla usług, których naprawdę potrzebują. Następnie wyświetlamy polecenie, które wyświetla listę wszystkich usług, które zaczynają działać od początku sesji na poziomie 3:

chkconfig --list | grep '3:on'

Jeśli chcesz wyłączyć określoną usługę, wprowadź następujące polecenie:
service serviceName stop
chkconfig serviceName off

  • Pierwsza linia ( zatrzymać ) służy do przerywania usług
  • Druga linia ( z wyjątkiem ) służy do dezaktywacji usług
  • Nazwa serwisu dotyczy konkretnej usługi

Zidentyfikuj otwarte drzwi

Użyj następującego polecenia, aby wyświetlić wszystkie otwarte porty z wyjątkiem powiązanych programów:

netstat -tulpn

Albo:

ss -tulpn

Oddzielne partycje dyskowe

Jeśli oddzielimy pliki związane z systemem operacyjnym od plików należących do użytkownika, dodamy wyższy ogólny poziom bezpieczeństwa, ponieważ możemy znacznie łatwiej wykonać kopię zapasową całej partycji. Na przykład, jeśli chcemy wykonać kopię zapasową wszystkich konfiguracji użytkownika, wystarczy wykonać kopię zapasową / home. Pamiętaj, że są to pliki systemowe, które muszą znajdować się na osobnych partycjach:

  • / usr
  • /Dom
  • / var i / var / tmp
  • / tmp

Użyj centralnej usługi uwierzytelniania

Korzyści płynące z centralnej aplikacji uwierzytelniającej obejmują łatwiejszą kontrolę wszystkich kont Linux/UNIX związanych z serwerem, a także samych poświadczeń. Pozwalają również zachować Twoje dane uwierzytelniające ( referencje ) jest synchronizowany między serwerami.

Jedną z propozycji jest aplikacja OpenLDAP, która zawiera całą niezbędną dokumentację instalacyjną i aplikacyjną. Jest całkowicie otwarty i oczywiście dostępny pod adresem Darmowe pobieranie ten

Bez centralnego uwierzytelniania marnuje się czas na weryfikację różnych metod uwierzytelniania, co może prowadzić do nieaktualnych danych uwierzytelniających i kont użytkowników, które powinny zostać usunięte dawno temu.

Korzystanie z zapory IDS / IPS (systemy wykrywania / zapobiegania włamaniom)

Posiadanie firewalla w naszym zespole jest niezbędne do szczegółowej kontroli ruchu przychodzącego i wychodzącego, Linux domyślnie zawiera iptables, chociaż w najnowszych wersjach Linuksa mamy nftables, który jest ewolucją popularnych iptables. Dzięki tej zaporze będziemy mogli szczegółowo kontrolować cały ruch, który trafia do serwera i opuszcza serwer.

Wykrywanie włamań pomaga nam wykrywać złośliwe lub podejrzane działania, takie jak ataki DDoS, skanowanie drzwi lub próby włamań w celu monitorowania ruchu sieciowego. Skuteczny i bezpieczny dysk produkcyjny systemu wymaga przeglądu integralności oprogramowania, co jest możliwe w przypadku systemów IDS.

Polecamy RedesZone Cios , który jest narzędziem pomocniczym ułatwiającym instalację i zarządzanie Snort. Jest to system wykrywania włamań z dodatkiem systemu zapobiegania włamaniom (IPS). Ta ostatnia zapewnia serwerom wyższy poziom ochrony przed uporczywymi zagrożeniami.

Fail2ban lub denyhost mogą być również uważane za ważne i praktyczne opcje wdrażania systemu podobnego do IDS. Teraz, aby zainstalować Fail2ban, wpisz następujące polecenia:

sudo apt-get install fail2ban

Zmodyfikuj pliki konfiguracyjne zgodnie z własnymi potrzebami:

sudo vi /etc/fail2ban/jail.conf

Po zakończeniu uruchom ponownie usługę:

sudo systemctl restart fail2ban.service

Wyłącz urządzenia USB / Firewire / Thunderbolt

Oto polecenie, które pozwoli ci wyłączyć urządzenia USB na serwerze Linux:

echo 'install usb-storage /bin/true' >> /etc/modprobe.d/disable-usb-storage.conf

Tej samej metody można użyć do wyłączenia urządzeń Thunderbolt:

echo "blacklist thunderbolt" >> /etc/modprobe.d/thunderbolt.conf

Podobnie urządzenia FireWire:

echo "blacklist firewire-core" >> /etc/modprobe.d/firewire.conf

Użyj VPN, aby połączyć się z serwerem lub środowiskiem administracyjnym

Obecnie korzystanie z serwerów VPN jest niezbędne, jeśli mamy wiele serwerów dedykowanych lub VPS w tej samej sieci administracyjnej, możemy użyć jednego serwera VPN do bezpiecznego dostępu na całej platformie. Dwa bardzo ciekawe programy są jednocześnie Otwórz VPN itp. WireGuard , zalecamy zapoznanie się z naszymi obszernymi samouczkami dotyczącymi konfigurowania serwerów VPN w celu zapewnienia maksymalnego bezpieczeństwa.

Ta ochrona uniemożliwia użytkownikowi kopiowanie plików z serwera Linux na urządzenie USB, FireWire lub Thunderbolt. Czy chciałbyś więcej takich seminariów? Daj nam znać swoje sugestie w komentarzach.

Dodaj komentarz