7 sposobów na poprawę bezpieczeństwa serwera Linux

Linux przez długi czas cieszył się reputacją bezpieczeństwa dzięki niejasności. Użytkownicy mieli tę przewagę, że nie byli głównym celem hakerów i nie musieli się martwić. Fakt ten nie jest już aktualny, aw 2017 i 2018 roku widzieliśmy duże grupy hakerów wykorzystujących błędy i usterki Linuksa, znajdując trudne sposoby instalowania złośliwego oprogramowania, wirusów, rootkitów i nie tylko.

Z powodu niedawnego zalewu exploitów, złośliwego oprogramowania i innych złych rzeczy, które szkodzą użytkownikom Linuksa, społeczność open source zareagowała ulepszeniem funkcji bezpieczeństwa. Jednak to nie wystarczy, a jeśli używasz Linuksa na serwerze, dobrym pomysłem jest przejrzenie naszej listy i nauczenie się sposobów poprawy bezpieczeństwa serwera Linux.

1. Skorzystaj z SELinux

SELinux, znany również jako Security-Enhanced Linux, to narzędzie bezpieczeństwa wbudowane w jądro Linuksa. Po włączeniu może z łatwością wymusić wybraną przez Ciebie politykę bezpieczeństwa, która jest niezbędna dla solidnego serwera Linux.

Wiele serwerowych systemów operacyjnych opartych na RedHat jest wyposażonych w SELinux i skonfigurowanych z całkiem dobrymi ustawieniami domyślnymi. To powiedziawszy, nie każdy system operacyjny domyślnie obsługuje SELinux, więc pokażemy, jak go włączyć.

Uwaga: pakiety Snap wymagają AppArmor, alternatywy dla SELinux. Jeśli zdecydujesz się korzystać z SELinux, w niektórych systemach operacyjnych Linux możesz nie być w stanie korzystać z Snapów.

CentOS / Rhel

CentOS i RedHat Enterprise Linux są dostarczane z systemem bezpieczeństwa SELinux. Jest wstępnie skonfigurowany pod kątem dobrego bezpieczeństwa, więc dalsze instrukcje nie są potrzebne.

Serwer Ubuntu

Odkąd Karmic Koala, Ubuntu bardzo ułatwiło włączenie narzędzia bezpieczeństwa SELinux. Aby to skonfigurować, wprowadź następujące polecenia.

sudo apt install selinux

Debian

Podobnie jak w Ubuntu, Debian bardzo ułatwia konfigurację SELinux. Aby to zrobić, wprowadź następujące polecenia.

sudo apt-get install selinux-basics selinux-policy-default auditd

Po zakończeniu instalacji SELinux na Debianie sprawdź wpis Wiki w oprogramowaniu. Obejmuje wiele informacji potrzebnych do korzystania z niego w systemie operacyjnym.

Podręcznik SELinux

Po uruchomieniu SELinux zrób sobie przysługę i przeczytaj podręcznik SELinux. Dowiedz się, jak to działa. Twój serwer będzie Ci wdzięczny!

Aby uzyskać dostęp do podręcznika SELinux, wprowadź następujące polecenie w sesji terminala.

man selinux

2. Wyłącz konto roota

Jedną z najmądrzejszych rzeczy, które możesz zrobić, aby zabezpieczyć serwer Linux, jest wyłączenie konta Root i używanie uprawnień Sudoer tylko do wykonywania zadań systemowych. Wyłączając dostęp do tego konta, będziesz w stanie zapewnić, że źli aktorzy nie będą mogli uzyskać pełnego dostępu do plików systemowych, instalować problematycznego oprogramowania (takiego jak złośliwe oprogramowanie) itp.

Zablokowanie konta Root w systemie Linux jest łatwe, aw rzeczywistości w wielu systemach operacyjnych Linux dla serwerów (takich jak Ubuntu) jest już wyłączone jako środek ostrożności. Aby uzyskać więcej informacji na temat wyłączania dostępu roota, zapoznaj się z tym przewodnikiem. W nim mówimy wszystko o tym, jak zablokować konto roota.

3. Zabezpiecz serwer SSH

SSH jest często poważnym słabym punktem na wielu serwerach Linux, ponieważ wielu administratorów Linuksa woli korzystać z domyślnych ustawień SSH, ponieważ łatwiej jest je uruchomić, zamiast poświęcać czas na zablokowanie wszystkiego.

Podejmowanie niewielkich kroków w celu zabezpieczenia serwera SSH w systemie Linux może złagodzić dużą część nieautoryzowanych użytkowników, ataków złośliwego oprogramowania, kradzieży danych i wielu innych.

W przeszłości w newsblog.pl napisałem dogłębny post o tym, jak zabezpieczyć serwer Linux SSH. Aby uzyskać więcej informacji o tym, jak zablokować serwer SSH, zapoznaj się z tym postem.

4. Zawsze instaluj aktualizacje

Wydaje się to oczywistą kwestią, ale zdziwiłbyś się, ilu operatorów serwerów Linux rezygnuje z aktualizacji swojego systemu. Wybór jest zrozumiały, ponieważ każda aktualizacja może zepsuć działające aplikacje, ale decydując się na unikanie aktualizacji systemu, tracisz łatki bezpieczeństwa, które naprawiają exploity i błędy, których hakerzy używają do włamywania się do systemów Linux.

Prawdą jest, że aktualizacja na produkcyjnym serwerze Linux jest o wiele bardziej irytująca, niż kiedykolwiek będzie na pulpicie. Prosty fakt jest taki, że nie można po prostu zatrzymać wszystkiego, aby zainstalować poprawki. Aby obejść ten problem, rozważ ustawienie zaplanowanego harmonogramu aktualizacji.

Aby było jasne, nie ma ustalonej nauki na temat harmonogramów aktualizacji. Mogą się różnić w zależności od przypadku użycia, ale najlepiej jest instalować poprawki co tydzień lub co dwa tygodnie, aby zapewnić maksymalne bezpieczeństwo.

6. Brak repozytoriów oprogramowania innych firm

Wspaniałą rzeczą w używaniu Linuksa jest to, że jeśli potrzebujesz programu, o ile używasz właściwej dystrybucji, dostępne jest repozytorium oprogramowania innej firmy. Problem polega na tym, że wiele z tych repozytoriów oprogramowania może zepsuć system, a złośliwe oprogramowanie regularnie się w nich pojawia. Faktem jest, że jeśli używasz instalacji Linuksa zależnej od oprogramowania pochodzącego z niezweryfikowanych źródeł zewnętrznych, wystąpią problemy.

Jeśli musisz mieć dostęp do oprogramowania, którego system operacyjny Linux nie rozpowszechnia domyślnie, pomiń repozytoria oprogramowania innych firm dla pakietów Snap. W sklepie są dziesiątki aplikacji serwerowych. Co najważniejsze, każda z aplikacji w sklepie Snap jest regularnie poddawana audytom bezpieczeństwa.

Chcesz dowiedzieć się więcej o Snapie? Sprawdź nasz post na ten temat, aby dowiedzieć się, jak możesz to zrobić na swoim serwerze Linux!

7. Korzystaj z firewalla

Na serwerze posiadanie skutecznego systemu Firewall jest wszystkim. Jeśli masz taką konfigurację, unikniesz wielu nieznośnych intruzów, z którymi w przeciwnym razie miałbyś kontakt. Z drugiej strony, jeśli nie uda Ci się skonfigurować skutecznego systemu zapory, serwer Linux poważnie ucierpi.

W systemie Linux istnieje kilka różnych rozwiązań zapory ogniowej. Mając to na uwadze, niektóre są łatwiejsze do zrozumienia niż inne. Zdecydowanie jedną z najprostszych (i najskuteczniejszych) zapór ogniowych w systemie Linux jest FirewallD

Uwaga: aby korzystać z FirewallD, musisz używać systemu operacyjnego serwera, który ma system inicjujący SystemD.

Aby włączyć FirewallD, musisz go najpierw zainstalować. Uruchom okno terminala i wprowadź polecenia, które odpowiadają Twojemu systemowi operacyjnemu Linux.

Serwer Ubuntu

sudo systemctl disable ufw
sudo systemctl stop ufw
sudo apt install firewalld

Debian

sudo apt-get install firewalld

CentOS / Rhel

sudo yum install firewalld

Po zainstalowaniu oprogramowania w systemie włącz je za pomocą Systemd.

sudo systemctl enable firewalld
sudo systemctl start firewalld

Wniosek

Na serwerach Linux coraz częściej występują problemy z bezpieczeństwem. Niestety, w miarę jak Linux staje się coraz bardziej popularny w przestrzeni przedsiębiorstw, problemy te będą tylko bardziej powszechne. Jeśli zastosujesz się do wskazówek dotyczących bezpieczeństwa z tej listy, będziesz w stanie zapobiec większości z tych ataków.