Protože je dnes tolik našich osobních a profesních údajů dostupných online, je důležité, aby se každý – od profesionálů po běžné uživatele internetu – naučil základy zabezpečení a soukromí. Jako student jsem mohl získat zkušenosti v této oblasti prostřednictvím své školní iniciativy CyberPatriot, kde jsem měl příležitost komunikovat s odborníky z oboru, abych se dozvěděl o kybernetických narušeních a základních krocích k vytvoření zabezpečení systému.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Tento článek podrobně popisuje šest jednoduchých kroků ke zlepšení zabezpečení vašeho linuxového prostředí pro osobní použití na základě toho, co jsem se doposud naučil jako začátečník. Během své cesty jsem používal nástroje s otevřeným zdrojovým kódem, abych urychlil proces učení a seznámil se s koncepty vyšší úrovně souvisejícími se zabezpečením mého linuxového serveru.
Tyto kroky jsem testoval pomocí Ubuntu 18.04, verze, kterou znám nejlépe, ale tyto kroky budou fungovat i pro jiné distribuce Linuxu.
1. Spustit aktualizace
Vývojáři neustále hledají způsoby, jak učinit servery stabilnějšími, rychlejšími a zabezpečenějšími opravami známých zranitelností. Pravidelné spouštění aktualizací je dobrým zvykem, abyste dosáhli maximálního zabezpečení. Spusťte je pomocí:
sudo apt-get update && apt-get upgrade
2. Povolit ochranu firewall
Povolení brány firewall usnadňuje řízení příchozího a odchozího provozu na vašem serveru. V systému Linux můžete použít mnoho aplikací brány firewall, včetně firewall-cmd a Uncomplicated Firewall (UFW). Používám UFW, takže mé příklady jsou pro něj specifické, ale tyto zásady platí pro jakékoli rozhraní, které si vyberete.
Nainstalujte UFW:
sudo apt-get install ufw
Pokud chcete svůj server ještě více zabezpečit, můžete odmítnout příchozí a odchozí připojení. Upozornění:Tím se váš server odřízne od světa, takže jakmile zablokujete veškerý provoz, musíte určit, která odchozí připojení jsou z vašeho systému povolena:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Můžete také napsat pravidla pro povolení příchozích připojení, která potřebujete pro osobní použití:
ufw allow <service>
Chcete-li například povolit připojení SSH:
ufw allow ssh
Nakonec povolte firewall pomocí:
sudo ufw enable
3. Posílení ochrany heslem
Implementace zásad silných hesel je důležitým aspektem zabezpečení serveru před kybernetickými útoky a úniky dat. Některé osvědčené postupy pro zásady hesel zahrnují vynucení minimální délky a určení stáří hesla. K provedení těchto úkolů používám balíček libpam-cracklib.
Nainstalujte balíček libpam-cracklib:
sudo apt-get install libpam-cracklib
Chcete-li vynutit délku hesla:
- Otevřete
/etc/pam.d/common-password
soubor. - Změňte minimální délku znaků všech hesel změnou parametru
minlen=12
řádek na libovolný počet znaků.
Chcete-li zabránit opětovnému použití hesla:
- Ve stejném souboru (
/etc/pam.d/common-password
), přidejte řádekremember=x
. - Pokud například chcete uživateli zabránit v opětovném použití jednoho ze svých posledních pěti hesel, použijte:
remember=5
.
Chcete-li vynutit stáří hesla:
- Najděte následující řádky v
/etc/login.defs
soubor a nahraďte je vámi preferovanou dobou (dny). Například:PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14
Chcete-li vynutit specifikace znaků:
- Čtyři parametry pro vynucení specifikací znaků v heslech jsou
lcredit
(malá písmena),ucredit
(velká písmena),dcredit
(číslice) aocredit
(jiné znaky). - Ve stejném souboru (
/etc/pam.d/common-password
), vyhledejte řádek obsahujícípam_cracklib.so
.- Na konec tohoto řádku přidejte následující:
lcredit=-a ucredit=-b dcredit=-c ocredit=-d
- Například následující řádek vyžaduje, aby hesla obsahovala jedno každého parametru. Čísla můžete změnit na základě preferované úrovně zabezpečení heslem:
lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
- Na konec tohoto řádku přidejte následující:
4. Zakažte nepodstatné služby, které jsou náchylné k zneužití
Nejlepším postupem je deaktivovat nepotřebné služby. To umožňuje otevření menšího počtu portů pro využití.
Nainstalujte balíček systemd:
sudo apt-get install systemd
Podívejte se, které služby běží:
systemctl list-units
Rozpoznejte, které služby by mohly způsobit potenciální zranitelnost vašeho systému. Pro každou službu:
- Zastavte službu, pokud je aktuálně spuštěna:
systemctl stop <service>
- Zakažte spuštění služby při spouštění:
systemctl disable <service>
- Po spuštění těchto příkazů zkontrolujte stav služby:
systemctl status <service>
5. Zkontrolujte naslouchací porty
Otevřené porty mohou představovat bezpečnostní rizika, proto je důležité zkontrolovat porty, které na vašem serveru naslouchají. K zobrazení všech síťových připojení používám příkaz netstat:
netstat -tulpn
Číslo portu zjistíte ve sloupcích adresy. Jakmile najdete otevřené porty, zkontrolujte je, abyste se ujistili, že jsou všechny nezbytné. Pokud tomu tak není, upravte, jaké služby máte spuštěné, nebo upravte nastavení firewallu (nebo nechte fail2ban, aby to upravil za vás).
6. Vyhledat malware
Antivirový skenovací software může být užitečný k tomu, aby se viry nedostaly do vašeho systému. Jejich použití je jednoduchý způsob, jak udržet váš server bez malwaru. Mým preferovaným nástrojem je open source software ClamAV.
Nainstalujte ClamAV:
sudo apt-get install clamav
Aktualizace virových signatur:
sudo freshclam
Prohledejte všechny soubory a vytiskněte infikované soubory, když je nějaký nalezen, zazvoní:
sudo clamscan -r --bell -i /
Skenování můžete a měli byste automatizovat, abyste si je nemuseli pamatovat nebo trávit čas ručním prováděním. Pro jednoduchou automatizaci, jako je tato, můžete použít časovače systemd nebo svůj oblíbený cron.
Udržujte svůj server v bezpečí
Nemůžeme ponechat odpovědnost za zabezpečení serverů na jedné osobě nebo organizaci. Vzhledem k tomu, že se oblast hrozeb stále rychle rozšiřuje, je na každém z nás, abychom si byli vědomi důležitosti zabezpečení serverů a použili některé jednoduché a účinné osvědčené bezpečnostní postupy.
Toto je jen několik z mnoha kroků, které můžete podniknout, abyste udrželi svůj linuxový server v bezpečí. Prevence je samozřejmě jen část řešení. Tyto zásady by měly být kombinovány s přísným monitorováním útoků typu Denial of Service, prováděním systémové analýzy s Lynis a vytvářením častých záloh.
Jaké open source nástroje používáte k zajištění bezpečnosti vašeho serveru? Řekněte nám o nich v komentářích.