Systemy Linux są bezpieczne z założenia i zapewniają solidne narzędzia administracyjne. Jednak bez względu na to, jak dobrze zaprojektowany jest system, jego bezpieczeństwo zależy od użytkownika.
Początkujący często potrzebują lat, aby znaleźć najlepsze zasady bezpieczeństwa dla swoich maszyn. Dlatego udostępniamy te podstawowe wskazówki dotyczące hartowania Linuksa dla nowych użytkowników, takich jak Ty. Daj im szansę.
1. Wymuszaj zasady silnych haseł
Hasła są podstawową metodą uwierzytelniania w większości systemów. Bez względu na to, czy jesteś użytkownikiem domowym, czy profesjonalistą, wymuszanie solidnych haseł jest koniecznością. Najpierw wyłącz puste hasła. Nie uwierzysz, ile osób nadal z nich korzysta.
awk -F: '($ 2 == "") {print}' / etc / shadow
Uruchom powyższe polecenie jako root, aby zobaczyć, które konta mają puste hasła. Jeśli znajdziesz kogoś z pustym hasłem, natychmiast zablokuj użytkownika. Możesz to zrobić, używając następujących poleceń.
passwd -l NAZWA UŻYTKOWNIKA
Możesz również skonfigurować przedawnianie haseł, aby użytkownicy nie mogli używać starych haseł. Użyj polecenia chage, aby to zrobić z terminala.
chage -l NAZWA UŻYTKOWNIKA
To polecenie wyświetla aktualną datę ważności. Aby ustawić wygaśnięcie hasła po 30 dniach, użyj poniższego polecenia. Użytkownicy mogą używaj menedżerów haseł systemu Linux, aby zabezpieczyć konta online.
Potrzebujesz bezpiecznego menedżera haseł dla systemu Linux? Te aplikacje są łatwe w użyciu i zapewniają bezpieczeństwo haseł internetowych.
chage -M 30 NAZWA UŻYTKOWNIKA
2. Utwórz kopię zapasową podstawowych danych
Jeśli poważnie myślisz o swoich danych, skonfiguruj regularne kopie zapasowe. W ten sposób nawet w przypadku awarii systemu możesz szybko odzyskać dane. Jednak wybór właściwej metody tworzenia kopii zapasowych ma kluczowe znaczenie dla wzmocnienia systemu Linux.
Jeśli jesteś użytkownikiem domowym, klonowanie danych na dysk twardy może wystarczyć. Przedsiębiorstwa potrzebują jednak wyrafinowanych systemów tworzenia kopii zapasowych, które oferują szybkie odzyskiwanie.
3. Unikaj starszych metod komunikacji
Linux obsługuje wiele metod komunikacji zdalnej. Jednak starsze usługi uniksowe, takie jak telnet, rlogin i ftp, mogą stwarzać poważne problemy z bezpieczeństwem. Więc staraj się ich unikać. Możesz je całkowicie usunąć, aby zmniejszyć związane z nimi problemy z bezpieczeństwem.
apt-get --purge usuń xinetd nis tftpd tftpd-hpa telnetd \
> rsh-server rsh-redone-server
To polecenie usuwa niektóre powszechnie używane, ale przestarzałe usługi z maszyn Ubuntu / Debian. Jeśli używasz systemu opartego na RPM, użyj zamiast tego następującego.
yum erase xinetd ypserv tftp-server serwer-telnet-rsh-server
4. Bezpieczne OpenSSH
Protokół SSH jest zalecaną metodą zdalnej komunikacji w systemie Linux. Upewnij się, że konfiguracja serwera OpenSSH (sshd) jest zabezpieczona. Możesz Dowiedz się więcej o konfigurowaniu serwera SSH tutaj.
Edytuj plik /etc/ssh/sshd_config plik, aby ustawić zasady bezpieczeństwa dla ssh. Poniżej znajduje się kilka typowych zasad bezpieczeństwa, z których każdy może korzystać.
PermitRootLogin no # wyłącza logowanie jako root
MaxAuthTries 3 # ogranicza liczbę prób uwierzytelnienia
PasswordAuthentication no # wyłącza uwierzytelnianie hasłem
PermitEmptyPasswords no # wyłącza puste hasła
X11Forwarding no # wyłącza transmisję GUI
DebianBanner no # disbales verbose banner
AllowUsers *@XXX.X.XXX.0/24 # ogranicza użytkowników do zakresu adresów IP
5. Ogranicz użycie CRON
CRON to solidny program do planowania zadań dla systemu Linux. Pozwala administratorom planuj zadania w systemie Linux za pomocą tabeli crontab. Dlatego ważne jest, aby ograniczyć, kto może uruchamiać zadania CRON. Możesz znaleźć wszystkie aktywne cronjobs dla użytkownika, używając następującego polecenia.
crontab -l -u NAZWA UŻYTKOWNIKA
Sprawdź zadania dla każdego użytkownika, aby dowiedzieć się, czy ktoś wykorzystuje CRON. Możesz chcieć zablokować wszystkim użytkownikom korzystanie z crontab oprócz Ciebie. Uruchom następujące polecenie do tego.
echo $ (whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny
6. Egzekwuj stosowanie modułów PAM
Linux PAM (Pluggable Authentication Modules) oferuje zaawansowane funkcje uwierzytelniania dla aplikacji i usług. Możesz użyć różnych polityk PAM, aby zabezpieczyć logowanie do systemu. Na przykład poniższe polecenia ograniczają ponowne użycie hasła.
# CentOS / RHEL
echo 'hasło wystarczające pam_unix. więc użyj_authtok md5 shadow zapamiętaj = 5' >> \
> /etc/pam.d/system-auth
# Ubuntu / Debian
echo 'hasło wystarczające pam_unix. więc użyj_authtok md5 shadow zapamiętaj = 5' >> \
> /etc/pam.d/common-password
Ograniczają użycie haseł, które były używane w ciągu ostatnich pięciu tygodni. Istnieje wiele innych zasad PAM, które zapewniają dodatkowe warstwy bezpieczeństwa.
7. Usuń nieużywane pakiety
Usunięcie nieużywanych pakietów zmniejsza powierzchnię ataku na twoim komputerze. Dlatego zalecamy usunięcie rzadko używanych pakietów. Możesz wyświetlić wszystkie aktualnie zainstalowane pakiety za pomocą poniższych poleceń.
zainstalowana lista yum # CentOS / RHEL
apt list --installed # Ubuntu / Debian
Powiedz, że chcesz usunąć nieużywany pakiet vlc. Możesz to zrobić, uruchamiając następujące polecenia jako root.
yum remove vlc # CentOS / RHEL
apt remove vlc # Ubuntu / Debian
8. Bezpieczne parametry jądra
Innym skutecznym sposobem na wzmocnienie Linuksa jest zabezpieczenie parametrów jądra. Możesz skonfigurować te parametry za pomocą sysctl lub modyfikując plik konfiguracyjny. Poniżej znajduje się kilka typowych konfiguracji.
kernel.randomize_va_space = 2 # losowo ustaw bazę adresów dla mmap, sterty i stosu
kernel.panic = 10 # restart po 10 sekundach od błędu jądra
net.ipv4.icmp_ignore_bogus_error_responses # chroni złe komunikaty o błędach
net.ipv4.ip_forward = 0 # wyłącza przekazywanie IP
net.ipv4.icmp_ignore_bogus_error_responses = 1 # ignoruje błędy ICP
To tylko kilka podstawowych konfiguracji. Z doświadczeniem nauczysz się różnych sposobów konfiguracji jądra.
9. Skonfiguruj iptables
Jądra Linuksa zapewniają niezawodne metody filtrowania pakietów sieciowych za pośrednictwem interfejsu API Netfilter. Możesz używać iptables do interakcji z tym API i konfigurowania niestandardowych filtrów dla żądań sieciowych. Poniżej znajduje się kilka podstawowych reguł iptables dla użytkowników zorientowanych na bezpieczeństwo.
-A INPUT -j REJECT # odrzuca wszystkie żądania przychodzące
-A FORWARD -j REJECT # odrzuca przekazywanie ruchu
-A WEJŚCIE -i lo -j AKCEPTUJ
-A WYJŚCIE -o lo -j AKCEPTUJ # zezwalaj na ruch na hoście lokalnym
# zezwalaj na żądania ping
-A WYJŚCIE -p icmp -j AKCEPTUJ # zezwala na wysyłanie pingów
# zezwalaj na nawiązane / powiązane połączenia
-A WEJŚCIE -m stan - stan USTANOWIONY, ZWIĄZANY -j AKCEPTUJ
-A WYJŚCIE -m stan - stan USTANOWIONY, ZWIĄZANY -j AKCEPTUJ
# zezwalaj na wyszukiwanie DNS
-A WYJŚCIE -p udp -m udp --dport 53 -j AKCEPTUJ
# zezwalaj na żądania http / https
-A WYJŚCIE -p tcp -m tcp --dport 80 -m stan - stan NOWE -j AKCEPTUJ
-A WYJŚCIE -p tcp -m tcp --dport 443 -m stan - stan NOWY -j AKCEPTUJ
# zezwalaj na dostęp przez SSH
-A WEJŚCIE -p tcp -m tcp --dport 22 -j AKCEPTUJ
-A WYJŚCIE -p tcp -m tcp --dport 22 -j AKCEPTUJ
10. Monitoruj dzienniki
Możesz wykorzystać dzienniki, aby lepiej zrozumieć swój komputer z systemem Linux. Twój system przechowuje kilka plików dziennika dla aplikacji i usług. Przedstawiamy tutaj najważniejsze z nich.
- /var/log/auth.log rejestruje próby autoryzacji
- /var/log/daemon.log rejestruje aplikacje działające w tle
- / var / log / debug rejestruje dane debugowania
- /var/log/kern.log rejestruje dane jądra
- / var / log / syslog rejestruje dane systemowe
- / var / log / faillog loguje nieudane logowania
Najlepsze wskazówki dotyczące hartowania Linuksa dla początkujących
Zabezpieczenie systemu Linux nie jest tak trudne, jak myślisz. Możesz zwiększyć bezpieczeństwo, postępując zgodnie z niektórymi wskazówkami wymienionymi w tym przewodniku. W miarę zdobywania doświadczenia opanujesz więcej sposobów zabezpieczania Linuksa.
Używasz Chromebooka, ale martwisz się o prywatność? Dostosuj te 7 ustawień w przeglądarce Chrome w systemie operacyjnym Chrome, aby zachować bezpieczeństwo w Internecie.
- Linux
- Bezpieczeństwo komputera
- Linux
- SSH
Rubaiat jest absolwentem CS z wielką pasją do oprogramowania open source. Oprócz bycia weteranem Uniksa zajmuje się również bezpieczeństwem sieci, kryptografią i programowaniem funkcjonalnym. Jest zapalonym kolekcjonerem książek z drugiej ręki i niekończącym się podziwem dla klasycznego rocka.
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.