25 wskazówek dotyczących bezpieczeństwa dla serwerów Linux

25 wskazówek dotyczących bezpieczeństwa dla serwerów Linux

Każdy tak mówi Linux jest domyślnie bezpieczny i zgadza się na pewne rozszerzenie (to dyskusyjne tematy). Jednak Linux ma domyślnie wbudowany model bezpieczeństwa. Musisz go dostroić i dostosować zgodnie z potrzebami, co może pomóc w tworzeniu bezpieczniejszego systemu. Linux jest trudniejszy do zarządzania, ale oferuje większą elastyczność i opcje konfiguracji.

25 wskazówek dotyczących bezpieczeństwa i hartowania Linux

Zabezpieczenie systemu w produkcji z rąk hakerzy I krakersy jest trudnym zadaniem dla Administrator systemu. To jest nasz pierwszy artykuł związany z „Jak zabezpieczyć pudełko Linux" Lub "Hartowanie pudełka Linux". W tym poście wyjaśnimy 25 przydatnych wskazówek i wskazówek Aby zabezpieczyć system Linux. Mam nadzieję, że poniżej wskazówek i wskazówek pomogą ci trochę rozszerzyć, aby zabezpieczyć system.

1. Bezpieczeństwo systemu fizycznego

Skonfiguruj BIOS Aby wyłączyć uruchamianie CD/DVD, Urządzenia zewnętrzne, Stacja dyskietek W BIOS. Następnie włącz BIOS hasło i chronić ŻARCIE z hasłem, aby ograniczyć fizyczny dostęp do systemu.

  1. Ustaw hasło do grub, aby chronić serwery Linux

2. Partycje dysku

Ważne jest, aby mieć różne partycje, aby uzyskać wyższe bezpieczeństwo danych na wypadek, gdyby taka katastrofa. Tworząc różne partycje, dane można oddzielić i pogrupować. Kiedy nastąpi nieoczekiwany wypadek, tylko dane z tej partycji zostaną uszkodzone, podczas gdy dane dotyczące innych partycji przetrwały. Upewnij się, że musisz mieć następujące osobne partycje i pewność, że aplikacje stron trzecich powinny być zainstalowane w osobnych systemach plików w ramach /optować.

/ /boot /usr /var /home /tmp /opt

3. Zminimalizować pakiety, aby zminimalizować podatność

Czy naprawdę chcesz zainstalować wszelkiego rodzaju usługi?. Zaleca się unikanie instalacji bezużytecznych pakietów, aby uniknąć luk w pakietach. Może to zminimalizować ryzyko, że kompromis jednej usługi może prowadzić do kompromisu innych usług. Znajdź i usuń lub wyłącz niechciane usługi z serwera, aby zminimalizować podatność. Użyj 'CHKCONFIG„polecenie, aby znaleźć usługi, które są uruchomione RunLevel 3.

# /sbin /chkconfig - -list | grep '3: on'

Po dowiedzeniu się, że uruchomi się jakakolwiek niechciana usługa, wyłącz je za pomocą następującego polecenia.

# chkconfig serviceName

Użyj RPM Menedżer pakietów, taki jak „mniam" Lub "apt-get”Narzędzia do wyświetlenia wszystkich zainstalowanych pakietów w systemie i usuwania ich za pomocą następującego polecenia.

# Yum -y usuń nazwę pakietu
# sudo apt-get usuń nazwę pakietu
  1. 5 przykładów polecenia Chkconfig
  2. 20 Praktyczne przykłady poleceń RPM
  3. 20 poleceń Linux Yum do zarządzania pakietami Linux
  4. 25 Polecenia Apt-Get i Apt Cache do zarządzania zarządzaniem pakietami

4. Sprawdź porty sieciowe do słuchania

Z pomocą 'Netstat„Polecenie sieciowe Możesz wyświetlić wszystkie otwarte porty i powiązane programy. Jak powiedziałem powyżejCHKCONFIG„polecenie wyłączania wszystkich niechcianych usług sieciowych z systemu.

# netstat -tulpn
  1. 20 poleceń NetStat do zarządzania siecią w Linux

5. Użyj Secure Shell (SSH)

Telnet I Rlogin Protokoły używają zwykłego tekstu, a nie szyfrowanego formatu, którym jest naruszenia bezpieczeństwa. Ssh jest bezpiecznym protokołem, który wykorzystuje technologię szyfrowania podczas komunikacji z serwerem.

Nigdy nie loguj się bezpośrednio jako źródło chyba że to konieczne. Używać "sudo„Wykonanie poleceń. sudo są określone w /etc/sudoers Plik można również edytować za pomocą „Visudo„Użyteczność, która się otwiera Vi redaktor.

Zaleca się również zmienić domyślne SSH 22 Numer portu z inną numerem portu na wyższym poziomie. Otwórz główną Ssh plik konfiguracyjny i zrób kilka następujących parametrów, aby ograniczyć użytkowników do dostępu.

# vi/etc/ssh/sshd_config
Wyłącz logowanie root
Pertrootlogin nr
Zezwalaj tylko na określonych użytkowników
Nazwa użytkownika LodageSers
Użyj wersji SSH Protocol 2
Protokół 2
  1. 5 najlepszych praktyk w celu zabezpieczenia i ochrony serwera SSH

6. Informuj system na bieżąco

Zawsze informuj system o najnowszych łatkach, poprawkach bezpieczeństwa i jądra, gdy jest dostępny.

# Aktualizacje mni

7. Lockdown Cronjobs

Cron ma własną wbudowaną funkcję, w której pozwala określić, kto może i kto może nie chcieć uruchamiać zadań. Jest to kontrolowane przez użycie plików o nazwie /etc/cron.umożliwić I /etc/cron.zaprzeczyć. Aby zablokować użytkownika za pomocą cron, po prostu dodaj nazwy użytkowników Cron.zaprzeczyć i umożliwić użytkownikowi uruchomienie Cron dodaje się Cron.umożliwić plik. Jeśli chcesz wyłączyć wszystkich użytkowników korzystanie z CRON, dodajWSZYSTKO„Linia do Cron.zaprzeczyć plik.

# echo wszystkie >>/etc/cron.zaprzeczyć
  1. 11 Przykłady planowania cron w Linux

8. Wyłącz kij USB do wykrycia

Wiele razy zdarza się, że chcemy ograniczyć użytkowników do używania USB Wstań w systemach, aby chronić i zabezpieczyć dane przed kradzieżą. Utwórz plik '/etc/modprobe.d/no-USB„A dodanie poniżej linii nie wykryje USB składowanie.

Zainstaluj storage USB /BIN /True

9. Włącz Selinux

Linux wzmocniony bezpieczeństwem (Selinux) jest obowiązkowym mechanizmem bezpieczeństwa kontroli dostępu dostarczonego w jądrze. Wyłączanie Selinux oznacza usunięcie mechanizmu bezpieczeństwa z systemu. Zastanów się dwa razy ostrożnie przed usunięciem, jeśli system jest dołączony do Internetu i dostęp do publiczności, pomyśl o tym więcej.

Selinux zapewnia trzy podstawowe tryby działania i są one.

  1. Egzekwowanie: Jest to tryb domyślny, który włącza i egzekwują Selinux Polityka bezpieczeństwa na maszynie.
  2. Dozwalający: W tym trybie, Selinux nie egzekwuje polityki bezpieczeństwa systemu, ostrzega tylko i rejestrować działania. Ten tryb jest bardzo przydatny pod względem rozwiązywania problemów Selinux powiązane kwestie.
  3. Wyłączony: Selinux jest wyłączony.

Możesz wyświetlić aktualny status Selinux tryb z wiersza poleceń za pomocą 'System-Config-Selinux','getenforce' Lub 'sestatus' polecenia.

# sestatus

Jeśli jest wyłączony, włącz Selinux Korzystanie z następującego polecenia.

# SetenForce Enforcing

Można go również zarządzać z '/etc/selinux/config„Plik, w którym możesz go włączyć lub wyłączyć.

10. Usuń komputer KDE/GNOME

Nie ma potrzeby biegać X okno Desiktops jak KDE Lub GNOM na dedykowanym serwerze lampy. Możesz je usunąć lub wyłączyć w celu zwiększenia bezpieczeństwa serwera i wydajności. Aby wyłączyć proste, otwórz plik '/etc/inittab„i ustawiaj poziom biegu na 3. Jeśli chcesz go całkowicie usunąć z systemu, użyj poniższego polecenia.

# Yum Groupremove „X Window System”

11. Wyłącz IPv6

Jeśli nie używasz IPv6 protokół, powinieneś go wyłączyć, ponieważ większość aplikacji lub zasad nie jest wymagana IPv6 protokół i obecnie nie jest wymagany na serwerze. Przejdź do pliku konfiguracyjnego sieci i dodaj linie następujące, aby go wyłączyć.

# vi/etc/sysconfig/sieć
Networking_ipv6 = brak IPv6init = nie

12. Ogranicz użytkowników do używania starych haseł

Jest to bardzo przydatne, jeśli chcesz zachęcić użytkowników do korzystania z tych samych starych haseł. Stary plik hasła znajduje się pod adresem /etc/bezpieczeństwo/opasswd. Można to osiągnąć za pomocą Pam moduł.

Otwarty '/etc/pam.D/System-Auth„Plik pod RHEL / CENTOS / FEDORA.

# vi /etc /pam.D/System-Auth

otwarty '/etc/pam.D/Common-Password„Plik pod Ubuntu/Debian/Linux Mint.

# vi /etc /pam.D/Common-Password

Dodaj następujący wiersz do 'Auth' Sekcja.

Wystarczy Pam_Unix.Więc Likeauth Nullok

Dodaj następujący wiersz do 'hasło„Sekcja, aby odrzucić użytkownika przed ponownym użyciem ostatniego 5 Hasło jego lub jej.

Hasło wystarczające Pam_Unix.Więc Nullok użyte_authtok MD5 Shadow Pamiętaj = 5

Tylko ostatni 5 Hasła są pamiętane według serwera. Jeśli próbowałeś użyć któregokolwiek z ostatnich 5 stare hasła, otrzymasz błąd taki jak.

Hasło zostało już użyte. Wybierz inny.

13. Jak sprawdzić wygaśnięcie hasła użytkownika

W Linux hasła użytkownika są przechowywane w '/itp./Shadow„Plik w formacie zaszyfrowanym. Aby sprawdzić wygaśnięcie hasła użytkowników, musisz użyć 'Chage' Komenda. Wyświetla informacje o szczegółach wygaśnięcia hasła wraz z datą zmiany ostatniego hasła. Te szczegóły są używane przez system, aby zdecydować, kiedy użytkownik musi zmienić swoje hasło.

Aby wyświetlić wszelkie starzejące się informacji użytkownika, takie jak Data wygaśnięcia I czas, Użyj następującego polecenia.

#Chage -l Nazwa użytkownika

Aby zmienić starzenie się hasła dowolnego użytkownika, użyj następującego polecenia.

#chage -m 60 nazwa użytkownika #chage -m 60 -m 7 -w 7 nazwa użytkownika
Parametry
  1. -M Ustaw maksymalną liczbę dni
  2. -M Ustaw minimalną liczbę dni
  3. -W Ustaw liczbę dni ostrzeżenia

14. Zablokuj i odblokować konto ręcznie

Funkcje blokady i odblokowania są bardzo przydatne, zamiast usuwać konto z systemu, możesz go zablokować na tydzień lub miesiąc. Aby zablokować określonego użytkownika, możesz użyć polecenia obserwuj.

# PASSWD -L KONCONCALNE Nazwa

Notatka : Zablokowany użytkownik jest nadal dostępny dla źródło Tylko użytkownik. Blokowanie jest wykonywane przez zastąpienie zaszyfrowanego hasła na (!) strunowy. Jeśli ktoś próbuje uzyskać dostęp do systemu za pomocą tego konta, otrzyma błąd podobny do poniżej.

# Su - Nazwa konta To konto jest obecnie niedostępne.

Aby odblokować lub umożliwić dostęp do zablokowanego konta, użyj polecenia jako. To usunie (!) Ciąg z zaszyfrowanym hasłem.

# PASSWD -U ROZDZIAŁ

15. Egzekwowanie silniejszych haseł

Wielu użytkowników używa miękkich lub słabych haseł, a ich hasło może zostać zhakowane oparty na słowniku lub ataki brutalnej siły. ''pam_cracklib„Moduł jest dostępny w Pam (Moduły uwierzytelniania wtyczki) Stos modułu, który zmusi użytkownika do ustawiania silnych haseł. Otwórz następujący plik z edytorem.

Przeczytaj także:

# vi /etc /pam.D/System-Auth

I dodaj linię za pomocą parametrów kredytowych jako (lcredit, Ucredit, dcredit i/lub ocredit odpowiednio niższe, górne, cyfrowe i inne)

/Lib/Security/$ ISA/pam_cracklib.Tak więc ponowne = 3 minlen = 8 lcredit = -1 ucredit = -2 dcredit = -2 ocredit = -1

16. Włącz iptables (zapora)

Zdecydowanie zaleca się włączenie Linux Firewall Aby zabezpieczyć nieautoryzowany dostęp do swoich serwerów. Zastosuj zasady w iptables do filtrów przychodzące, towarzyski I przekierowanie pakiety. Możemy określić adres źródłowy i docelowy, aby umożliwić i odmówić w określonych UDP/TCP numer portu.

  1. Podstawowy przewodnik i wskazówki iptables

17. Wyłącz Ctrl+Alt+Usuń w inittab

W większości dystrybucji Linux naciskanieCtrl-alt-delete ' Zajmie Twój system do ponownego uruchomienia procesu. Tak więc nie jest dobrym pomysłem, aby ta opcja włącza przynajmniej na serwerach produkcyjnych, jeśli ktoś przez błędnie to zrobi.

Jest to zdefiniowane w '/etc/inittab„Plik, jeśli przyjrzysz się uważnie w tym pliku, zobaczysz linię podobną do poniżej. Domyślnie nie jest komentowany. Musimy to skomentować. Ta szczególna sygnalizacja sekwencji kluczowej zamknie system.

# Pułapka ctrl -all -delete #CA :: ctrlaltdel:/sbin/shutdown -t3 -r

18. Sprawdzanie konta dla pustych haseł

Każde konto posiadające puste hasło oznacza, że ​​jest otwarte dla nieautoryzowanego dostępu do każdego w Internecie i jest częścią bezpieczeństwa na serwerze Linux. Musisz więc upewnić się, że wszystkie konta mają silne hasła i nikt nie ma autoryzowanego dostępu. Konta pustych haseł to zagrożenia bezpieczeństwa, które można łatwo zhakować. Aby sprawdzić, czy były jakieś konta z pustym hasłem, użyj następującego polecenia.

# cat /etc /shadow | awk -f: '(2 $ == "") drukuj 1 $' '

19. Wyświetl sztandar SSH przed zalogowaniem

Zawsze lepiej jest mieć baner prawny lub sztandary bezpieczeństwa z pewnymi ostrzeżeniami bezpieczeństwa przed uwierzytelnianiem SSH. Aby ustawić takie banery, przeczytaj następujący artykuł.

  1. Wyświetl komunikat ostrzegawczy SSH dla użytkowników

20. Monitoruj działania użytkownika

Jeśli masz do czynienia z wieloma użytkownikami, ważne jest, aby zebrać informacje o każdej działaniach i procesach użytkownika i analizowanie ich w późniejszym czasie lub w przypadku jakichkolwiek wydajności, problemów związanych z bezpieczeństwem. Ale w jaki sposób możemy monitorować i zbierać informacje o działalności użytkowników.

Istnieją dwa przydatne narzędzia o nazwie 'PSACCT' I 'Ackt'są używane do monitorowania działań i procesów użytkowników w systemie. Narzędzia te działają na tle systemowym i ciągle śledzą każdą aktywność użytkownika w systemie i zasobach zużywanych przez usługi, takie jak Apache, Mysql, Ssh, Ftp, itp. Aby uzyskać więcej informacji na temat instalacji, konfiguracji i użytkowania, odwiedź poniższy adres URL.

  1. Monitoruj aktywność użytkownika za pomocą poleceń PSACCT lub ACCT

21. Regularnie recenzuj dzienniki

Przenieś dzienniki na dedykowanym serwerze dziennika, może to zapobiegać intruzom łatwej modyfikacji dzienników lokalnych. Poniżej znajduje się nazwa domyślnego plików dziennika Linux i ich użycie:

  1. /var/log/komunikat - Gdzie dostępne są dzienniki całego systemu lub aktualne dzienniki aktywności.
  2. /var/log/auth.dziennik - Dzienniki uwierzytelniania.
  3. /var/log/kern.dziennik - Dzienniki jądra.
  4. /var/log/cron.dziennik - Logs Crond (Cron Job).
  5. /var/log/maillog - Dzienniki serwera poczty.
  6. /var/log/boot.dziennik - Dziennik rozruchu systemu.
  7. /var/log/mysqld.dziennik - Plik dziennika serwera bazy danych mysql.
  8. /var/log/bezpiecznie - Dziennik uwierzytelnienia.
  9. /var/log/utmp Lub /var/log/wtmp : Plik rejestrów logowania.
  10. /var/log/yum.loG: pliki dziennika Yum.

22. Ważna kopia zapasowa pliku

W systemie produkcyjnym konieczne jest wykonanie ważnych kopii zapasowych plików i utrzymanie ich w skarbcu bezpieczeństwa, zdalnej witrynie lub poza nią w celu odzyskiwania katastrof.

23. NIC BONDING

Istnieją dwa rodzaje trybu w Nic wiązanie, należy wspomnieć w interfejsie wiązania.

  1. Tryb = 0 - Round Robin
  2. Tryb = 1 - Aktywne i kopie zapasowe

NIC BONDING pomaga nam uniknąć pojedynczego punktu niepowodzenia. W Nic wiązanie, łączymy dwa lub więcej Karty sieciowe Ethernet razem i zrób jeden wirtualny interfejs, w którym możemy przypisać Ip Adres do rozmowy z innymi serwerami. Nasza sieć będzie dostępna w przypadku jednej Karta NIC jest w dół lub niedostępny z jakiegokolwiek powodu.

Przeczytaj także : Utwórz wiązanie kanałów NIC w Linux

24. Zachowaj /rozruch jako tylko do odczytu

Kernel Linux i jego powiązane pliki są w /uruchomić katalog, który jest domyślnie odczytanie zapisu. Zmień to na tylko czytać zmniejsza ryzyko nieautoryzowanej modyfikacji krytycznych plików rozruchowych. Aby to zrobić, otwórz „/etc/fstab" plik.

# vi /etc /fstab

Dodaj następującą linię na dole, zapisz i zamknij.

Etykieta = /boot /boot ext2 domyślnie, ro 1 2

Należy pamiętać, że musisz zresetować zmianę do odczytu, jeśli chcesz zaktualizować jądro w przyszłości.

25. Zignoruj ​​ICMP lub prośbę o nadawanie

Dodaj następującą linię w „/etc/sysctl.conf”Plik do zignorowania świst Lub audycja wniosek.

Zignoruj ​​żądanie ICMP: net.IPv4.ICMP_OCHO_IGNORE_ALL = 1 Ignoruj ​​żądanie transmisji: net.IPv4.icmp_echo_ignore_broadcasts = 1

Załaduj nowe ustawienia lub zmiany, uruchamiając następujące polecenie

#Sysctl -p

Jeśli przegapiłeś jakąkolwiek ważną wskazówkę dotyczącą bezpieczeństwa lub stwardnienia na powyższej liście lub masz jakąkolwiek inną wskazówkę, która musi być zawarta na liście. Proszę upuść komentarze w naszym polu komentarza. Tecmint zawsze jest zainteresowany otrzymaniem komentarzy, sugestii i dyskusji na temat poprawy.