Cloudové servery mohou být ohroženy různými faktory:slabými hesly, slabými ip tabulkami, starými verzemi softwaru se známými exploity a tak dále.
Pokud byl váš cloudový server kompromitován, nepropadejte panice. Panika vede ke špatným rozhodnutím, která by mohla situaci ještě zhoršit. Místo toho se snažte pochopit, co se stalo, a zajistěte, aby váš cloudový server nebyl znovu ohrožen stejným způsobem. Cílem tohoto článku je pomoci vám poučit se ze svých chyb a vyhnout se opakování stejných chyb.
Tento článek popisuje některé techniky a nástroje, které můžete použít k prozkoumání vašich serverů, pokud máte podezření, že byly napadeny. Tyto nástroje byste měli použít před přechodem do záchranného režimu (další informace o záchranném režimu naleznete v části Kontrola ohrožení zabezpečení:Vyšetřování záchranného režimu). Cloudový server použitý pro tento článek používal Ubuntu® 8.10. Demonstrované kroky jsou však podobné pro ostatní distribuce Linuxu.
Důležité upozornění
Než budete pokračovat, musíte učinit důležité rozhodnutí. Plánujete zapojit policii a stíhat útočníka? Pokud tak učiníte, nechte napadený systém na pokoji a neprovádějte v něm žádné změny. Jakékoli změny, které provedete po útoku, by mohly poskvrnit důkazy a zkomplikovat vyšetřování. Z tohoto důvodu je běžnou zásadou vypnout systém po zjištění kompromitace a nechat jej vypnutý, dokud nebudou orgány činné v trestním řízení připraveny prošetřit.
Zkontrolujte síťová připojení
Začněte vyšetřování kontrolou síťových připojení vašeho cloudového serveru.
Použijte netstat -an
příkaz, který vytváří výstup podobný následujícímu příkladu, který zkontroluje, zda jsou na vašem cloudovém serveru otevřená zadní vrátka.
netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 284 1.2.3.4:6697 5.6.7.8:34506 ESTABLISHED
V tomto příkladu je otevřený port 6697. Tento port běžně používají servery IRC (Internet Relay Chat). Pokud neprovozujete svůj vlastní chatovací server, není to dobré znamení. Všechna připojení k tomuto portu můžete zjistit pomocí následujícího tcpdump
příkaz:
tcpdump src port 6697
Tento příkaz zachytí všechny pakety s cílovým portem 6697.
Použít lsof
Mnoho systémů založených na UNIXu používá seznam otevřených souborů (lsof
) nástroj příkazového řádku pro hlášení seznamu všech otevřených souborů a procesů, které je otevřely. Ve výchozím nastavení Linux zachází se vším, včetně zařízení, jako se souborem. Tím vznikne lsof
velmi mocný nástroj.
Ne všechny virtuální počítače (VM) mají lsof
nainstalován ve výchozím nastavení, takže jej možná budete muset nainstalovat pomocí yum
nebo apt-get
pokud uvidíte následující odpověď:
-bash: lsof: command not found
Můžete například použít lsof
abyste viděli, který uživatel má otevřený konkrétní soubor:
sudo lsof /etc/passwd
Pokud objevíte uživatelské jméno pod kontrolou vetřelce, můžete použít lsof
zobrazíte všechny běžící procesy vetřelce:
sudo lsof -u hisUserName
lsof
také vám pomůže zkontrolovat síťová připojení. Prozkoumání různých aspektů vašeho cloudového serveru pomocí více nástrojů je důležité, protože pokud máte podezření, že je systém kompromitován, nemůžete si být jisti, které příkazy poskytnou spolehlivé výsledky. Také lsof
poskytuje některé možnosti, které netstat
ne.
Chcete-li vypsat všechny otevřené zásuvky internetového protokolu (IP) přidružené k serveru Secure Shell (SSH) vašeho cloudového serveru, spusťte následující příkaz:
sudo lsof -i:22
Přehled
V tomto článku jste se naučili některé techniky pro odhalování zadních vrátek a sledování vetřelců na vašem serveru. Tyto techniky vám pomohou vyhnout se opakování jakékoli situace nebo chyby, která vedla ke kompromisu, takže je méně pravděpodobné, že budete znovu napadeni stejným způsobem. V dalším článku Kontrola ohrožení zabezpečení:Vyšetřování záchranného režimu se dozvíte, jak prozkoumat váš cloudový server v záchranném režimu.