Processi minimi richiesti con porte aperte su AWS?

3

Recentemente ho avviato una casella AWS da utilizzare per un sito Web pubblico e sembra che siano aperte le porte seguenti ... Sono stato convinto da tempo che è una buona idea ridurre al minimo la superficie di attacco su qualsiasi box chiudendo tutto ciò che non è effettivamente necessario, ma sto riscontrando problemi nel trovare una documentazione su ciò di cui questi processi potrebbero essere sicuri da eliminare per una macchina AWS. Presumo che ci siano alcune cose che devono essere presenti per il monitoraggio / console / api interno di AWS, ma forse non tutte? (gli indirizzi effettivi sono stati redatti)

[ec2-user@ip-172-xxx-xx-xxx conf]$ sudo lsof -i -n -P
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68 
dhclient   2134     root    4u  IPv6   9256      0t0  UDP [fe80::xxx:xxx:xxx:xxx]:546 
rpcbind    2242      rpc    6u  IPv4   9823      0t0  UDP *:111 
rpcbind    2242      rpc    7u  IPv4   9824      0t0  UDP *:721 
rpcbind    2242      rpc    8u  IPv4   9825      0t0  TCP *:111 (LISTEN)
rpcbind    2242      rpc    9u  IPv6   9826      0t0  UDP *:111 
rpcbind    2242      rpc   10u  IPv6   9827      0t0  UDP *:721 
rpcbind    2242      rpc   11u  IPv6   9828      0t0  TCP *:111 (LISTEN)
rpc.statd  2263  rpcuser    5u  IPv4   9900      0t0  UDP 127.0.0.1:743 
rpc.statd  2263  rpcuser    8u  IPv4   9903      0t0  UDP *:45443 
rpc.statd  2263  rpcuser    9u  IPv4   9906      0t0  TCP *:34732 (LISTEN)
rpc.statd  2263  rpcuser   10u  IPv6   9909      0t0  UDP *:36988 
rpc.statd  2263  rpcuser   11u  IPv6   9912      0t0  TCP *:36559 (LISTEN)
ntpd       2434      ntp   16u  IPv4  10406      0t0  UDP *:123 
ntpd       2434      ntp   17u  IPv4  10410      0t0  UDP 127.0.0.1:123 
ntpd       2434      ntp   18u  IPv4  10411      0t0  UDP 172.xx.xxx.xx:123 
sendmail   2454     root    4u  IPv4  10476      0t0  TCP 127.0.0.1:25 (LISTEN)
sshd      22860     root    3u  IPv4  32220      0t0  TCP *:22 (LISTEN)
sshd      22860     root    4u  IPv6  32222      0t0  TCP *:22 (LISTEN)
  • sshd - ovviamente lo voglio,
  • ntp - sembra parlare con un server Amazon locale ma anche * quindi forse ritagliarlo in configurazione ...
  • sendmail - sta solo ascoltando localmente ma forse lo spegni, poiché la posta inviata dal sito web dovrebbe comunque utilizzare un vero server di posta.
  • rpcbind, rpc.statd - ascoltano tutti, quindi non mi piace, a meno che Amazon non ne abbia bisogno per loro.
  • dhclient - probabilmente deve rimanere? anche se ora la casella dovrebbe avere un IP impostato, quindi in teoria il dhcp potrebbe non essere più richiesto (ma come funziona AZ questo non è chiaro).

Tieni presente che conosco tutto sui gruppi di sicurezza della console amazon , quindi so già che posso controllare l'accesso dall'esterno a quel livello, ma ovviamente queste istanze vivono anche in una rete interna AWS e se alcuni malware o cracker compromettono qualche altro box su quella rete, o parte dell'hardware di rete di AZ preferirei dare loro meno opzioni per attaccare questa scatola.

Quindi la domanda è: che cosa è sicuro rimuovere nell'ambiente AWS ?

    
posta Gus 22.10.2016 - 19:35
fonte

2 risposte

2

Hai ragione, lsof su un AWS EC-2 non fornisce una buona immagine di ciò che si può accedere al tuo box dall'esterno. Come già citato nella domanda, AWS ti fornisce un firewall aggiuntivo a un livello superiore (puoi modificarlo dalla console utente). Pertanto, le tue uniche preoccupazioni sono ntp e rpcbind rispetto alla rete locale .

AWS modifica la configurazione della tua macchina aggiungendo le linee a /etc/rc.local (o almeno lo fa su Debian lì), non usa rpc .

Sosterrò che puoi disabilitare praticamente tutto, ma questo:

dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68

Dato che è il modo in cui la tua macchina può ricevere l'IP locale riassegnato, sia dal nuovo DHCP che al termine del lease. (La versione IPv6 del client DHCP a 546 dipende da te. Puoi certamente lasciarla, ma puoi chiuderla se sei paranoico. Non avere un IPv6 non dovrebbe essere problematico per un paio di anni in più.)

Tutti i pezzi rimanenti dipendono da te. Ma un paio di cose potrebbero essere intelligenti:

  • Certamente vuoi SSH, ma non è necessario eseguirlo sulla porta 22 . Esecuzione di SSH su una porta non standard è pratica comune di indurimento. (ATTENZIONE: ricorda di testare prima questo! Non vuoi avere SSH in esecuzione su una porta che il firewall non ti permetterà di connettere.)
  • ntp è buono da avere ed è un software ben collaudato. Potresti o meno preoccuparti di avere il tempo sincronizzato.
  • Se non conosci un motivo per cui rpcbind , non ne hai bisogno. La cosa più comune in cui viene utilizzato il servizio rpc sono i supporti di rete (file system di rete), se il server è autonomo non è necessario. (I dischi AWS non usano rpc per essere montati, lo fanno a livello di virtualizzazione.)
  • sendmail (probabilmente postfix in realtà, la tua macchina sembra una Debian) è già in esecuzione su localhost come dovrebbe.
  • Per un sito web aprirai le porte 80 e 443, ma è ovvio.
risposta data 22.10.2016 - 20:06
fonte
1

Vorrei aggiungere che, se si sta eseguendo all'interno di un VPC in cui si definisce lo spazio IP privato, è possibile configurare l'istanza EC2 con un IP statico e disattivare anche DHCP.

Se sei un paranoico, utilizza una macchina dedicata dall'ultimo CVE di AWS che era un bug Xen che consentiva agli ospiti sullo stesso computer fisico di accedere l'un l'altro.

    
risposta data 23.10.2016 - 04:23
fonte

Leggi altre domande sui tag