OpenVPN e IPSec verso AWS

L’azienda per la quale lavoro utilizza quotidianamente AWS, al cui interno abbiamo diverse VPC. In una di queste VPC sono presenti delle istanze sulle quali girano servizi web e database che non devono essere accessibili pubblicamente (sia per necessità che per sicurezza).

Siccome tutti i computer all’interno della rete aziendale devono poter accedere a questi servizi web, abbiamo messo in VPN l’intera sede con AWS, nello specifico con il VPC di cui sopra. Le istruzioni per creare la connessione VPN IPSec sono disponibili sul sito di AWS al seguente link.

Abbiamo però l’esigenza di permettere ad alcuni utenti particolari di poter accedere ai servizi web anche da remoto, sempre mediante connessione VPN. Ora, siccome sia la connessione Site-To-Site che le connessioni Client-To-Site con AWS sono a pagamento (per i costi vedere qui) abbiamo pensato bene di permettere ai client remoti di connettersi ai servizi web passando dalla connessione VPN Site-To-Site, in modo da abbattere i costi e sfruttare la connessione già in essere con AWS.

Lato azienda abbiamo un firewall pfSense che è tra quelli supportati da AWS per la creazione di VPN IPSec (qui l’elenco). Questo firewall è utilizzato anche per l’accesso degli utenti remoti mediante connessione OpenVPN.

Con un paio di modifiche sul firewall pfSense e nel VPC di AWS, ora i client remoti collegati alla rete aziendale possono raggiungere i servizi web pubblicati in AWS senza problemi.

Schema

Per permettere ciò abbiamo modificato quanto segue:

Firewall Interno

  1. Dal menu VPN – IPSec cliccare sul bottone Show Phase 2 Entries (1) per la connessione VPN con AWS,
  2. Cliccare quindi sul bottone Add P2 per aggiungere una nuova fase 2 alla connessione in essere,
  3. Alla voce Local Network selezionare Network e come valore inserire quello del tunnel network OpenVPN assegnato agli utenti remoti. Ad esempio 192.168.130.0/24.
    Per verificarlo è sufficiente andare in VPN – OpenVPN.
    Alla voce Tunnel Network è riportata l’informazione desiderata,
  4. Le altre impostazioni sono identiche a quelle riportate nella fase 2 già presente per la connessione con AWS,
  5. Salvare e confermare il riavvio del servizio,
  6. Andare quindi in OpenVPN – Server e editare il Server OpenVPN utilizzato per la gestione dei client remoti,
  7. Nella sezione Tunnel Settings abilitare la voce Redirect IPv4 Gateway – Force all client-generated IPv4 traffic through the tunnel.
    In questo modo tutto il traffico generato dal client remoto passerà attraverso la connessione OpenVPN.
    In alternativa è possibile non abilitare l’opzione di cui sopra ma riportare, nel campo IPv4 Local Network(s), le reti alle quali il client potrà accedere.
    Nello specifico saranno la subnet interna (es. 192.168.1.0/24) e la subnet impostata per il VPC di AWS al quale siamo collegati in VPN (es. 172.16.0.0/16),
  8. Per evitare problemi con la risoluzione dei nomi DNS, nella sezione Advanced Configuration inserire nel campo Custom options la seguente stringa:
    push "dhcp-option DNS <DNS Server>"
    Dove <DNS Server> andrà sostituito con il DNS da utilizzare per la risoluzione dei nomi di dominio. Questo comando informa il client remoto di utilizzare il DNS Server specificato nella stringa,
  9. Premere quindi il bottone Save in fondo alla pagina per salvare le modifiche.
  10. Verificare che ci sia una regola del firewall che permetta il passaggio di traffico sulla interfaccia OpenVPN (Firewall – Rules – OpenVPN).

AWS

Occorre aggiungere il nuovo tunnel anche nella fase 2 lato AWS.

  1. Connettersi alla console web e andare nella dashboard VPC, quindi selezionare Site-to-Site VPN Connections e selezionare la VPN da modificare. Dal menu in basso selezionare il tab Static Routes e premere Edit,
  2. Nella pagina di editing, cliccare Add Another Rule ed inserire il Tunnel Network OpenVPN, ad esempio 192.168.130.0/24.
  3. Verificare nel Security Group per la VPC in questione che sia permesso il traffico in ingresso dal Tunnel Network 192.168.130.0/24.

Come ultimo step occorre abilitare la nuova fase 2 impostata sulla connessione IPSec.
Tornare nel menu VPN – IPSec sul firewall interno, cliccare Show Phase 2 Entries (2) e abilitare la nuova fase 2 cliccando sul bottone Enable.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *