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.