Regola in entrata Amazon EC2 Security Group con un IP dinamico


12

Sto cercando chiarimenti su quello che vedo come un potenziale problema con i gruppi di sicurezza EC2.

Sto creando un gruppo di sicurezza per la connessione alle istanze di Linux. Ho creato regole "ovunque" per l'accesso HTTP e HTTPS.

Per la mia regola SSH, il tutorial di Amazon dice che dovrei limitare l'accesso in entrata al mio indirizzo IP pubblico .

  1. Quello che non capisco è come sia sicuro o fattibile se il tuo indirizzo IP pubblico è dinamico?

  2. Il mio indirizzo IP è dinamico, quindi cosa succede quando il mio ISP cambia il mio IP pubblico e non posso più ssh nella mia istanza?

Link alla guida all'installazione che sto utilizzando: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (passaggio 7 di "Crea un gruppo di sicurezza 'è ciò che mi sembra problematico)

Risposte:


6

Quello che non capisco è come sia sicuro o fattibile se il tuo indirizzo IP pubblico è dinamico?

Questa soluzione potrebbe funzionare se trovi che il tuo IP non cambia spesso o se hai bisogno di accedere solo per un breve periodo. Aggiunge un ulteriore livello di sicurezza poiché SSH non è esposto al traffico al di fuori del CIDR fornito.

Se un CIDR specifico non funziona, puoi provare su o più intervalli CIDR della scheda che il tuo ISP probabilmente utilizzerà, ciò limiterà comunque l'accesso da una grande percentuale di Internet, e questo è un vantaggio per la sicurezza.

cosa succede quando il mio ISP cambia il mio IP pubblico e non riesco più ad accedere alla mia istanza?

Puoi accedere alla Console AWS o utilizzare l'interfaccia della riga di comando per aggiornare al volo la regola del gruppo di sicurezza.

È possibile scrivere uno script che interagisce direttamente con la CLI. Potrebbe essere semplice come qualcosa che controlla il Port 22 ruletuo IP attuale e lo aggiorna se è diverso. Ovviamente l'esecuzione di un tale script potrebbe sollevare più domande di sicurezza stessa :)

Un firewall IP è il modo migliore per proteggere SSH?

Mentre è bello limitare il traffico ssh a fonti IP affidabili solo dove pratico, la cosa che rende ssh sicuro è l'uso di chiavi private e configurazione ragionevole.

Elementi chiave da considerare:

  • Aggiungi una passphrase alla tua chiave privata SSH
  • Disabilita l'autenticazione password su SSH
  • Disabilita il login root su SSH
  • Controlla tutti gli account utente per le chiavi pubbliche SSH

Potresti anche fare alcune cose per sbarazzarti del "rumore" associato agli attacchi di forza bruta:

  • Esegui ssh su una porta più alta
  • Utilizzare software come fail2ban che registrerà dinamicamente numerosi tentativi falliti e bloccherà gli intervalli IP per determinati periodi di tempo

4

Va bene limitare l'accesso al server SSH in base all'indirizzo IP, ma SSH non si basa su questo per la sua sicurezza. Se si disabilitano gli accessi con password ( PasswordAUthentication no) e si utilizza solo l'autenticazione con chiave privata, nessuno può accedere senza la chiave privata. É sicuro.

Quindi, in altre parole, non devi preoccuparti delle regole del firewall se non vuoi.


1
Devi preoccuparti di un attacco mirato al tuo computer locale per afferrare il file chiave, ma se non stai eseguendo qualcosa che si occupa di dati sanitari / carta di credito / governo le probabilità sono probabilmente minime.
ceejayoz,

3

È possibile aggiungere un intervallo CIDR al gruppo di sicurezza che rappresenta il superset di tutti gli IP che l'ISP può assegnare a voi.

O quello, oppure usa l'API AWS per aggiornare dinamicamente il tuo gruppo di sicurezza.


3

Esistono un paio di soluzioni più recenti a questa domanda precedente:

Dall'interno di AWS: come aggiornare automaticamente i gruppi di sicurezza per Amazon CloudFront e AWS WAF utilizzando AWS Lambda

Aggiornamento remoto dalla sorgente dinamica (script node.js): script nodo aws-ec2-ssh-secgroup-update

Aggiornamento remoto dall'origine dinamica (script Python): aggiungi automaticamente l'IP pubblico corrente al gruppo di sicurezza per consentire il traffico su una porta specifica


0

Puoi utilizzare il comando aws_ipadd per aggiornare e gestire facilmente le regole del gruppo di sicurezza AWS e inserire nella whitelist il tuo IP pubblico con porta ogni volta che viene modificato.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.