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

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
navody:vps:incidenty [2023/12/11 08:49] – persistent conf for Debian manikstudionavody:vps:incidenty [2024/04/15 07:15] (aktuální) – Serazeno podle abecedy aither
Řádek 5: Řá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 14: Řá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í:
  
Řádek 31: Řádek 135:
  
 ==== Debian ==== ==== Debian ====
 +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: 
 +
 <code> <code>
-iptables-save+/etc/iptables/rules.v4 
 +/etc/iptables/rules.v6
 </code> </code>
  
 +Při instalaci se balíček zeptá, zda si přejete aktuální pravidla uložit. Využí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 ===== 
-===== open-memcached ===== +Ve VPS máš službu rediskterá je dostupná z internetu. Ve výchozím stavu běží na portu **6379**. 
-memcached bývá zneužíván k amplification útokůmkdy útočník využije tvůj memcached +Je vhodné redis nastavit tak, aby poslouchal jen na localhostuípadně jej zabezpečit firewallem.
-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 istupuješ z vícero VPS, +
-nastav si firewall tak, aby nebyl dostupný z veřejného Internetu.+
  
navody/vps/incidenty.1702284573.txt.gz · Poslední úprava: 2023/12/11 08:49 autor: manikstudio