Uživatelské nástroje

Nástroje pro tento web


navody:vps:incidenty

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
navody:vps:incidenty [2023/08/11 12:17] – vytvořeno Aithernavody:vps:incidenty [2024/04/15 07:15] (aktuální) – Serazeno podle abecedy aither
Řádek 1: Řádek 1:
 +<page>manuals:vps:incidents</page>
 ====== Upozornění na incidenty ====== ====== Upozornění na incidenty ======
 Pokud IP adresy z naší sítě rozesílají spam, popř. útočí na cizí systémy, často Pokud IP adresy z naší sítě rozesílají spam, popř. útočí na cizí systémy, často
Řádek 4: Řádek 5:
 členům, kteří by měli sjednat nápravu. Upozornění mohou být i preventivního členům, kteří by měli sjednat nápravu. Upozornění mohou být i preventivního
 charakteru, např. když máte veřejně dostupné služby, které jsou zneužitelné. charakteru, např. když máte veřejně dostupné služby, které jsou zneužitelné.
 +
 +===== Accessible-MySQL =====
 +Na portu **3306** máš přes **IPv4** veřejně dostupnou MySQL/MariaDB databází.
 +Pokud je to možné, tak nejlepší je nastavit databází tak, aby poslouchala
 +jen na localhostu, např. v ''my.cnf'':
 +
 +<code>
 +[mysqld]
 +bind-address = 127.0.0.1
 +</code>
 +
 +Chceš-li se k databází připojovat odjinud, můžeš povolit přístup konkrétním
 +IP adresám pomocí firewallu.
 +
 +===== Accessible-PostgreSQL =====
 +Na portu **5432** máš přes **IPv4** veřejně dostupnou PostgreSQL databází.
 +Pokud je to možné, tak nejlepší je nastavit databází tak, aby poslouchala
 +jen na localhostu. V ''postgresql.conf'':
 +
 +<code>
 +listen_addresses = localhost
 +</code>
 +
 +Chceš-li se k databází připojovat odjinud, můžeš povolit přístup konkrétním
 +IP adresám pomocí firewallu.
 +
 +===== Accessible-SMB =====
 +Na VPS máš nainstalovanou službu samba (smbd), která je dostupná z internetu,
 +což se obecně nedoporučuje. Je vhodné použít buď VPN a povolit přístup jen
 +přes síť VPN, nebo použít bezpečnější protokol, např. SFTP přes SSH.
 +
 +===== DNS-Open-Resolvers =====
 +Na portu **53** máš spuštěný DNS resolver, který je po **IPv4** dostupný z internetu.
 +DNS resolver by měl buď poslouchat jen na localhostu, nebo musí být nastaven tak, aby
 +odpovídal jen na dotazy z vybraných sítí, např. adresy tvých VPS, síť z tvojí VPN, atp.
 +
 +Volně dostupné DNS resolvery jsou zneužívány k amplifikačním útokům -- požadavek je mnohem
 +menší než odpověd, kterou DNS resolver zasílá zpět. Útočník toho využije a nechá odpověď
 +zaslat na adresu oběti.
 +
 +===== IPv6-Accessible-MySQL =====
 +Na portu **3306** máš přes **IPv6** veřejně dostupnou MySQL/MariaDB databází.
 +Pokud je to možné, tak nejlepší je nastavit databází tak, aby poslouchala
 +jen na localhostu, např. v ''my.cnf'':
 +
 +<code>
 +[mysqld]
 +bind-address = 127.0.0.1
 +</code>
 +
 +Chceš-li se k databází připojovat odjinud, můžeš povolit přístup konkrétním
 +IP adresám pomocí firewallu.
 +
 +===== IPv6-Accessible-PostgreSQL =====
 +Na portu **5432** máš přes **IPv6** veřejně dostupnou PostgreSQL databází.
 +Pokud je to možné, tak nejlepší je nastavit databází tak, aby poslouchala
 +jen na localhostu. V ''postgresql.conf'':
 +
 +<code>
 +listen_addresses = localhost
 +</code>
 +
 +Chceš-li se k databází připojovat odjinud, můžeš povolit přístup konkrétním
 +IP adresám pomocí firewallu.
 +
 +===== IPv6-DNS-Open-Resolvers =====
 +Na portu **53** máš spuštěný DNS resolver, který je po **IPv6** dostupný z internetu.
 +DNS resolver by měl buď poslouchat jen na localhostu, nebo musí být nastaven tak, aby
 +odpovídal jen na dotazy z vybraných sítí, např. adresy tvých VPS, síť z tvojí VPN, atp.
 +
 +Volně dostupné DNS resolvery jsou zneužívány k amplifikačním útokům -- požadavek je mnohem
 +menší než odpověd, kterou DNS resolver zasílá zpět. Útočník toho využije a nechá odpověď
 +zaslat na adresu oběti.
 +
 +===== malware =====
 +Ve VPS ti běží malware. Pravděpodobně máš bezpečností chybu v nějakém webu nebo jiné
 +veřejně dostupné službě. Možné je taky slabé heslo na SSH. Malware často udělá z VPS
 +součást botnetu, který pak útočí na jiné systémy, rozesílá spam a nebo těží kryptoměny.
 +
 +Důležitá indicie je uživatel, pod kterým malware běží, a umístění spustitelného
 +souboru. Pokud je to třeba uživatel ''www-data'', je hned jasné, že se tam dostal přes
 +nějaký web. V reportu je dále uvedeno umístění spustitelného souboru -- sám to zjistíš
 +s ''ls -l /proc/<pid>/exe'' a cgroup. Pomocí cgroup třeba identifikuješ, jestli
 +proces běží v nějakém docker kontejneru -- porovnej cestu v cgroup s ''docker ps''.
 +Pozor na to, že ''/proc/<pid>/cmdline'' (tj. to, co vidíš v topu a ps) může být vymyšlený.
 +
 +Jestliže malware běží pod neprivilegovaným uživatelem, může stačit procesy ukončit,
 +aktualizovat web, systém, změnit heslo uživatele, atp. Počítej s tím, že to mělo přístup
 +všude v systému, kam se dostane daný uživatel. Malware často používá cron
 +k opětovnému spuštění, zkontroluj jestli něco není ve ''/var/spool/cron''.
 +
 +Pokud malware běží pod rootem, tak máš větší problém, protože pokud s tím dopředu nepočítáš,
 +tak už s jistotou nezjistíš, co všechno změnil a kde si udělal zadní vrátka. Má přístup
 +ke všem tvým souborům, včetně konfiguračních souborů s hesly. Balíčkovací
 +systémy mívají funkci kontroly integrity nainstalovaných souborů, to už ale nezahrne
 +všemožné konfigurační soubory a tvoje aplikace a data. Nejjistější je VPS přeinstalovat
 +a nastavit jej znovu.
 +
 +===== open-memcached =====
 +memcached bývá zneužíván k amplification útokům, kdy útočník využije tvůj memcached
 +server k útoku na oběť díky tomu, že odpověd serveru je mnohem větší, než původní
 +požadavek. Pokud memcached používáš jen lokálně, nejlépe ho nastav tak, aby
 +poslouchal jen na localhostu. Jestliže k memcached přistupuješ z vícero VPS,
 +nastav si firewall tak, aby nebyl dostupný z veřejného Internetu.
  
 ===== open-portmapper ===== ===== open-portmapper =====
Řádek 13: Řádek 118:
 a nechat odpovědi z tvého serveru zasílat na adresu oběti. a nechat odpovědi z tvého serveru zasílat na adresu oběti.
  
-Portmapper poslouchá na portu 111. Tento port můžeme uzavřít, avšak je nutné+Portmapper poslouchá na portu **111**. Tento port můžeme uzavřít, avšak je nutné
 povolit existující spojení: povolit existující spojení:
  
 <code> <code>
 iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
 +
 iptables -A INPUT -p tcp --dport 111 -j DROP iptables -A INPUT -p tcp --dport 111 -j DROP
 iptables -A INPUT -p udp --dport 111 -j DROP iptables -A INPUT -p udp --dport 111 -j DROP
 +
 +ip6tables -A INPUT -p tcp --dport 111 -j DROP
 +ip6tables -A INPUT -p udp --dport 111 -j DROP
 </code> </code>
  
-Způsob perzistentní konfigurace firewallu záleží na použité distribuci.+Takto nastavené pravidla vydrží jen do prvního restartu VPS. Způsob perzistentní 
 +konfigurace firewallu záleží na použité distribuci.
  
-===== open-memcached ===== +==== Debian ==== 
-memcached bývá zneužíván k amplification útokům, kdy útočník využije tvůj memcached +Jednou z možností je balíček [[https://packages.debian.org/stable/admin/iptables-persistent|iptables-persistent]]který přes službu netfilter-persistent automaticky po bootu aplikuje uložená pravidla:  
-server k útoku na oběť díky tomu, že odpověd serveru je mnohem větší, než původní + 
-požadavekPokud memcached používáš jen lokálně, nejlépe ho nastav tak, aby +<code> 
-poslouchal jen na localhostu. Jestliže k memcached istupuješ z vícero VPS, +/etc/iptables/rules.v4 
-nastav si firewall tak, aby nebyl dostupný z veřejného Internetu.+/etc/iptables/rules.v6 
 +</code> 
 + 
 +Při instalaci se balíček zeptá, zda si přejete aktuální pravidla uložitVyužívá iptables-save a iptables-restore. Pravidla si můžeme uložit ručně
 +<code> 
 +iptables-save > /etc/iptables/rules.v4 
 +ip6tables-save > /etc/iptables/rules.v6 
 +</code> 
 + 
 +Příklady a zdroj: https://www.cyberciti.biz/faq/how-to-save-iptables-firewall-rules-permanently-on-linux/ 
 + 
 +===== Open-Redis ===== 
 +Ve VPS máš službu rediskterá je dostupná z internetu. Ve výchozím stavu běží na portu **6379**. 
 +Je vhodné redis nastavit tak, aby poslouchal jen na localhostuípadně jej zabezpečit firewallem.
  
navody/vps/incidenty.1691756228.txt.gz · Poslední úprava: 2023/08/11 12:17 autor: Aither