Linux vytvrzení: 15-krokem kontrolní seznam pro secure Linux server

Gus Khawaja

Většina lidí předpokládá, že Linux je bezpečný, a který je falešný předpoklad. Představte si, že váš notebook je ukraden, aniž by byl nejprve zatvrzen. Zloděj by pravděpodobně předpokládat, že vaše uživatelské jméno je „root“ a heslo „toor“, protože to je výchozí heslo na Kali a většina lidí i nadále používat. A ty? Doufám, že ne.

negativní kariéru důsledky výběru není ztvrdnout vaše Kali Linux hostitele jsou těžké, takže budu sdílet potřebné kroky, aby se váš Linux host secure, včetně toho, jak jsem se použít penetrační testování a Kali Linux, aby si svou práci. Je důležité si uvědomit, že, zatímco oni jsou mnoho distribucí (NEBOLI distribuce) Linux a každý z nich se liší od příkazového řádku pohledu, logika je stejná. Pomocí následujících tipů ztvrdněte svůj vlastní Linux box.

1-Dokument hostitelské informace

pokaždé, když budete pracovat na novém Linux kalení práci, budete muset vytvořit nový dokument, který má všechny kontrolní body uvedené v tomto příspěvku, a budete muset odškrtnout každou položku, kterou jste použili. Kromě toho musíte v horní části dokumentu zahrnout informace o hostiteli Linuxu:

  • název počítače
  • IP adresa
  • Mac adresa
  • Jméno osoby, která dělá vytvrzení (s největší pravděpodobností)
  • Datum
  • inventární Číslo (Pokud pracujete pro společnost, pak je třeba zahrnout aktiva číslo, které vaše společnost používá pro značkování hostí.)

2-Ochrana systému BIOS

musíte chránit systém BIOS hostitele heslem, aby koncový uživatel nemohl změnit a přepsat nastavení zabezpečení v systému BIOS; je důležité chránit tuto oblast před změnami. Každý výrobce počítače má jinou sadu klíčů pro vstup do režimu BIOS, pak je to otázka nalezení konfigurace, kde nastavíte heslo pro správu.

dále je třeba zakázat zavádění z externích mediálních zařízení (USB/CD / DVD). Pokud toto nastavení vynecháte, může kdokoli použít USB flash disk, který obsahuje zaváděcí operační systém a má přístup k vašim datům operačního systému.

+ chcete se dozvědět více o Linuxu? Zjistěte více s Pluralsight, technologická vzdělávací platforma. Naučte se Linux nyní. +

základní desky nejnovějších serverů mají interní webový server, na kterém je můžete vzdáleně přistupovat. Nezapomeňte změnit výchozí heslo stránky správce nebo jej deaktivovat, pokud je to možné.

3-šifrování pevného disku (důvěrnost)

většina distribucí Linuxu vám umožní šifrovat disky před instalací. Šifrování disku je důležité v případě krádeže, protože osoba, která ukradla váš počítač, nebude moci číst vaše data, pokud připojí pevný disk k počítači.

na obrázku níže, si vyberte třetí možnost ze seznamu: asistované-použít celý disk a nastavit šifrované LVM (LVM je zkratka pro logical volume manager.)

pokud vaše distribuce Linuxu nepodporuje šifrování, můžete jít se softwarem, jako je TrueCrypt.

4-Ochrana disku (dostupnost)

zálohy mají tolik výhod v případě poškozeného systému, chyb v aktualizaci operačního systému. U důležitých serverů musí být záloha v případě katastrofy přenesena mimo pracoviště. Zálohování musí být také spravováno. Například, jak dlouho budete udržovat staré zálohy? Kdy potřebujete zálohovat systém (každý den, každý týden …)?

Kritické systémy by měly být odděleny do různých oddílů pro:

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

Porcování disky vám dává možnost výkon a zabezpečení v případě, že chyba systému. Na obrázku níže vidíte možnost, jak během instalace oddělit oddíly v systému Kali Linux.

5-Zámek boot adresář

boot adresář obsahuje důležité soubory týkající se Linuxového jádra, takže budete muset ujistěte se, že tento adresář je uzamčen jen pro čtení oprávnění tím, že po následujících jednoduchých kroků. Nejprve otevřete soubor „fstab“.

poté přidejte poslední řádek zvýrazněný dole.

po dokončení úprav soubor, musíte nastavit vlastníka spuštěním následujícího příkazu:

#chown root:root /etc/fstab

dále jsem nastavit několik oprávnění pro zajištění nastavení spouštění:

  • nastavte vlastníka a skupinu/etc / grub.conf uživateli root:

#chown root:root /etc/grub.conf

  • nastavte oprávnění na/etc / grub.conf soubor pro čtení a zápis pouze pro uživatele root:

#chmod og-rwx /etc/grub.conf

  • Požadovat ověření pro single-user režimu:

#sed -i "/SINGLE/s/sushell/sulogin/" /etc/sysconfig/init

#sed -i "/PROMPT/s/yes/no/" /etc/sysconfig/init

6-Zakázat USB použití

v Závislosti na tom, jak kritická je systém, někdy je nutné zakázat USB paměti využití na Linux hostitele. Existuje několik způsobů, jak popřít použití úložiště USB; zde je populární:

otevřete “ blacklist.conf“ soubor pomocí vašeho oblíbeného textového editoru:

#nano /etc/modprobe.d/blacklist.conf

Když se soubor otevře, a pak přidejte následující řádek na konec souboru (uložit a zavřít):

blacklist usb_storage

Po tomto, otevření rc.místní soubor:

#nano /etc/rc.local

Nakonec přidejte následující dva řádky:

modprobe -r usb_storage

exit 0

7-aktualizace Systému

první věc, kterou dělat po prvním spuštění je aktualizace systému; to by mělo být snadný krok. Obecně otevřete okno terminálu a proveďte příslušné příkazy. V Kali Linux, můžete dosáhnout tím, že vykoná příkazy v níže uvedeném obrázku:

8-Zkontrolujte instalované balíky

Seznam všech balíčků nainstalovaných na vašem OS Linux a odstranit ty zbytečné. Musíte být velmi přísní, pokud hostitel, který se pokoušíte ztvrdnout, je server, protože servery potřebují nejmenší počet aplikací a služeb nainstalovaných na nich. Zde je příklad, jak uvést balíčky nainstalované v systému Kali Linux:

Pamatujte si, že zakázání nepotřebných služeb sníží útok povrchu, takže je důležité odstranit následující odkaz služby, pokud jste našli je nainstalován na Linuxovém serveru:

  • server Telnet
  • RSH server
  • NIS server
  • TFTP server
  • server

9-Zkontrolujte pro otevřené porty

Identifikace otevřít připojení k internetu je důležitá mise. V Kali Linuxu používám následující příkaz k nalezení skrytých otevřených portů:

10-Secure SSH

Ano, SSH je skutečně bezpečný, ale tuto službu musíte také ztvrdnout. Za prvé, pokud můžete zakázat SSH, je to problém vyřešen. Pokud ji však chcete použít, musíte změnit výchozí konfiguraci SSH. Chcete-li to provést, přejděte na /etc/ssh a otevřete soubor „sshd_config“ pomocí svého oblíbeného textového editoru.

  • Změňte výchozí číslo portu 22 na něco jiného, např.
  • ujistěte se, že root se nemůže vzdáleně přihlásit přes SSH:

PermitRootLogin no

  • Dovolte několik konkrétních uživatelů:

AllowUsers

seznam může jít dál a dál, ale to by mělo být dost pro začátek. Některé společnosti například přidávají bannery, které mají útočníky odradit a odradit je od dalšího pokračování. Doporučuji vám zkontrolovat příručku SSH, abyste pochopili všechny konfigurace v tomto souboru, nebo můžete navštívit tento web pro více informací.

zde jsou některé další možnosti, které musíte zajistit, aby existovaly v souboru “ sshd_config:

  • Protocol2
  • IgnoreRhosts ano
  • HostbasedAuthentication ne
  • PermitEmptyPasswords ne
  • X11Forwarding ne
  • MaxAuthTries 5
  • Šifry aes128-ctr,aes192-ctr,aes256-ctr
  • ClientAliveInterval 900
  • ClientAliveCountMax 0
  • UsePAM yes

Konečně, nastavit oprávnění u souboru sshd_config tak, že pouze uživatelé root může změnit jeho obsah:

#chown root:root /etc/ssh/sshd_config

#chmod 600 /etc/ssh/sshd_config

11- Povolit SELinux

Security Enhanced Linux je Jádro, bezpečnostní mechanismus pro podporu řízení přístupu, bezpečnostní politiku. Na SELinux má tři režimy konfigurace:

  • Zakázáno: Obrátil-off
  • Tolerantní: Vytiskne varování
  • Vymáhání: Politika je prosazována

Pomocí textového editoru otevřete konfigurační soubor:

#nano /etc/selinux/config

A ujistěte se, že politika je prosazována:

SELINUX=enforcing

12- parametry sítě

zabezpečení aktivit hostitelské sítě Linuxu je nezbytným úkolem. Ne vždy předpokládejte, že se váš firewall postará o všechno. Zde jsou některé důležité funkce, které je třeba zvážit pro zabezpečení hostitelské sítě:

– deaktivujte předávání IP nastavením sítě.ipv4.parametr ip_forward na 0 v “ / etc/sysctl.conf“

– Povolit Špatné Chybová Zpráva Ochrana nastavením sítě.ipv4.parametr icmp_ignore_bogus_error_responses na 1 v “ / etc/sysctl.conf “

důrazně doporučuji používat Linux Firewall použitím pravidel iptable a filtrováním všech příchozích, odchozích a předaných paketů. Konfigurace pravidel iptables bude nějakou dobu trvat, ale stojí to za bolest.

13- zásady hesel

lidé často znovu používají svá hesla, což je špatná bezpečnostní praxe. Stará hesla jsou uložena v souboru „/ etc/security / opasswd“. Budeme používat modul PAM ke správě bezpečnostních zásad hostitele Linuxu. V Debian distro otevřete soubor “ / etc/pam.d/common-password“ pomocí textového editoru a přidejte následující dva řádky:

auth sufficient pam_unix.so likeauth nullok

password sufficient pam_unix.so remember=4 (nebude umožní uživatelům znovu použít poslední čtyři hesla.)

další zásadou hesla, která by měla být vynucena, jsou silná hesla. Modul PAM nabízí pam_cracklib, který chrání váš server před útoky slovníku a hrubou silou. Chcete-li tento úkol splnit, otevřete soubor /etc/pam.d / system-auth pomocí libovolného textového editoru a přidejte následující řádek:

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

Linux bude hash hesla, aby se zabránilo ukládání ve formě prostého textu tak, budete muset ujistěte se, že definovat bezpečné heslo algoritmus hash SHA512.

další zajímavou funkcí je uzamčení účtu po pěti neúspěšných pokusech. Chcete-li to provést, musíte otevřít soubor „/etc/pam.d/password-auth“ a přidejte následující řádky:

auth required pam_env.so

auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800

auth pam_unix.so

auth pam_faillock.so authfail audit deny=5 unlock_time=604800

auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800

auth required pam_deny.so

ještě Jsme neskončili, jeden další krok je potřeba. Otevřete soubor “ / etc/pam.d/system-auth“ a ujistěte se, že máte následující řádky přidány:

auth required pam_env.so

auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800

auth pam_unix.so

auth pam_faillock.so authfail audit deny=5 unlock_time=604800

auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800

auth required pam_deny.so

Po pěti neúspěšných pokusech, pouze správce může odemknout účet pomocí následujícího příkazu:

# /usr/sbin/faillock –user <userlocked> –reset

Také další dobrou praxí je nastavit heslo vyprší po 90 dnech, ke splnění tohoto úkolu budete muset:

  • nastavte parametr PASS_MAX_DAYS na hodnotu 90 v “ / etc/login.defs“
  • Změnit aktivní uživatele spuštěním následujícího příkazu :

#chage --maxdays 90 <user>

další tip pro zvýšení hesla politiky je omezit přístup k su příkaz nastavení pam_wheel.takže parametry v „/etc/pam.d/su“:

auth nutné pam_wheel.takže use_uid

poslední tip pro hesla politiky je zakázat systémové účty pro non-root uživatele pomocí následující bash skript:

#!/bin/bash

for user in `awk -F: '( < 500) {print }' /etc/passwd`; do

if

then

/usr/sbin/usermod -L $user

if && &&

then /usr/sbin/usermod -s /sbin/nologin $user

fi

fi

done

14-Oprávnění a ověřování

Připravte se psychicky, protože to bude dlouhý seznam. Oprávnění je však jedním z nejdůležitějších a nejdůležitějších úkolů k dosažení bezpečnostního cíle na hostiteli Linuxu.

#chown root:root /etc/anacrontab

#chmod og-rwx /etc/anacrontab

#chown root:root /etc/crontab

#chmod og-rwx /etc/crontab

#chown root:root /etc/cron.hourly

#chmod og-rwx /etc/cron.hourly

#chown root:root /etc/cron.daily

#chmod og-rwx /etc/cron.daily

#chown root:root /etc/cron.weekly

#chmod og-rwx /etc/cron.weekly

#chown root:root /etc/cron.monthly

#chmod og-rwx /etc/cron.monthly

#chown root:root /etc/cron.d

#chmod og-rwx /etc/cron.d

Nastavit práva a oprávnění na „/var/spool/cron“ pro „root crontab“

#chown root:root <crontabfile>

#chmod og-rwx <crontabfile>

Nastavit Uživatele/Vlastníka Skupiny a Oprávnění na „passwd“ soubor

#chmod 644 /etc/passwd

#chown root:root /etc/passwd

Nastavit Uživatele/Vlastníka Skupiny a Oprávnění na „skupiny“ souboru

#chmod 644 /etc/group

#chown root:root /etc/group

Nastavit Uživatele/Vlastníka Skupiny a Oprávnění na „stín“ soubor

#chmod 600 /etc/shadow

#chown root:root /etc/shadow

Nastavit Uživatele/Vlastníka Skupiny a Oprávnění na „gshadow“ soubor

#chmod 600 /etc/gshadow

#chown root:root /etc/gshadow

15- Další proces kalení

Za poslední položku v seznamu, I některé další tipy, které by měly být považovány při kalení Linux hostitele.

nejprve omezte skládky jádra:

  • přidání pevného jádra 0 do “ /etc/security / limits.conf “ soubor
  • přidání fs.suid_dumpable = 0 na “ / etc/sysctl.soubor conf

za druhé, konfigurovat Exec štít:

  • přidání jádra.exec-shield = 1 na “ / etc/sysctl.conf “ soubor

třetí, povolit randomizované umístění oblasti virtuální paměti:

  • přidání jádra.randomize_va_space = 2 na “ / etc/sysctl.soubor conf

závěrečná slova

V tomto krátkém příspěvku jsme pokryli mnoho důležitých konfigurací pro zabezpečení Linuxu. Ale právě jsme poškrábali povrch vytvrzování Linuxu—existuje spousta složitých, drsných konfigurací. Chcete-li se dozvědět více o tom, jak ztvrdnout servery Linux pro lepší zabezpečení, podívejte se na mé kurzy Pluralsight.

Gus Khawaja je bezpečnostní konzultant a autor společnosti Pluralsight. Pracuje v oblasti bezpečnosti, IT a vývoje webových aplikací a vytváří kurzy pro Pluralsight. Gus úspěšně dodává a vyvíjí IT řešení pro společnosti po celé Kanadě. Po dlouholetých zkušenostech s informatikou obrátil svou pozornost na kybernetickou bezpečnost a důležitost, kterou bezpečnost přináší tomuto minovému poli. Jeho vášeň pro etické hackování se mísila s jeho pozadím v programování a z něj se stal moudrý švýcarský armádní nůž profesionál v oblasti informatiky.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.