Come Utilizzare AWS VPN per Bloccare l’Accesso al Tuo Server

0
196
Elaine333/Shutterstock

Se si desidera eseguire un server in una rete privata, è necessario utilizzare una VPN per connettersi ad esso. AWS VPN gestita servizio OpenVPN in grado di gestire questo per voi, e consentono di bloccare l’accesso del pubblico per il tuo protetto istanze.

Client VPN vs Site-to-Site VPN

AWS ha due diversi tipi di VPN disponibili per l’uso. Il primo, e più semplice, è il Client VPN. Questo è completamente gestito elastico servizio VPN basata su OpenVPN. Combinato con OpenVPN client abilitato sul dispositivo, questo permette agli utenti di accedere al tuo AWS infrastruttura ovunque come se fossero nella stessa rete.

Questo consente ai dipendenti di connettersi direttamente ai server in sottoreti private, come ad esempio i server di database, si preferisce non lasciare web-di fronte. Si può anche scegliere di bloccare SSH sul server pubblici da qualsiasi parte che non è sulla subnet locale, che consentirà solo di amministrazione da parte degli utenti connessi alla VPN.

Questo è abbastanza grande, e funziona abbastanza bene per le grandi aziende carichi di lavoro, ma se hai solo un paio di persone che hanno bisogno di connettersi, come si può essere abbastanza costoso. Client VPN ha due cariche—una quota fissa per ogni VPN associato con una subnet, e una tariffa oraria per ogni client connesso. La tv a pagamento è di $75 al mese, e il costo per utente è di $0,05 per ogni ora. Con uso moderato da poche persone, si può facilmente accumulare più di $100 in totale oneri per i Client VPN. E, naturalmente, si dovranno sostenere tutti gli standard di trasferimento dati spese per lo spostamento di dati in giro in AWS e su internet.

Tutti i Client VPN è davvero gestito il server OpenVPN, che è open source. Se avete un po ‘ di tempo, è possibile impostare il proprio server OpenVPN su un’istanza EC2, che avrà un costo significativamente inferiore. E ‘ abbastanza leggero, quindi se il $75 al mese, tassa sembra come un sacco di voi, probabilmente si può eseguire su un t2.micro istanza per una frazione del prezzo di Client VPN.

Il secondo VPN che AWS offre un Site-to-Site VPN. Piuttosto che il collegamento di più client remoti, Site-to-Site VPN collega il tuo AWS VPC direttamente alla vostra rete locale attraverso un tunnel sicuro.

Questo consente di spostare in loco applicazioni per il cloud e collegarli direttamente alla preesistente rete, utilizzando lo stesso firewall aziendale che avete posto, e senza cambiare il modo in cui gli utenti accedere alle vostre applicazioni. In un certo senso, Site-to-Site VPN semplicemente in modo sicuro estende la tua rete locale in cloud, consentendo di accedere a istanze EC2 scelto VPC come se fossero in rete.

Site-to-Site VPN è molto elastico, e supporta anche ridondante di failover di connessioni se il primario si perde la connessione per qualsiasi motivo. E ‘anche un prezzo un po’ diverso—sei il solo costo di $36 al mese, per ogni connessione, ma ti verrà addebitato $0,09 per GB di dati trasferiti al di fuori, sulla cima di standard AWS dati a pagamento.

Impostazione di un Client VPN

Ti mostreremo come impostare un Client VPN qui, in quanto è la più versatile e utile per le persone senza hardware locale.

Prima di iniziare, è necessario creare i certificati per il server e per ogni client per l’utilizzo. Si potrebbe generare questi con ACM, ma richiede l’impostazione di un privato, autorità di certificazione, che costa $400 al mese. Se non hai voglia di pagare quel costo, è possibile generare il loro utilizzo di easy-rsa da OpenVPN. Scaricare e inizializzare un nuovo CA:

git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa costruire-server-server completo nopass

Ora, generare un certificato client, in sostituzione di “client1.dominio.tld” con il nome del cliente e

./easyrsa build-client-full client1.dominio.tld nopass

Ora, abbiamo bisogno di caricare i certificati di ACM quindi sono utilizzabili anche con il Client VPN. Sono tutti situati nella pki cartella, in modo da cd che c’:

cd pki

e caricare il server cert utilizza questo piuttosto goffo di comando, assicurarsi che il proprio CLI regione è impostato per la stessa regione si sta creando il Client VPN in:

aws acm import-certificato
–certificato file://rilasciata/server.crt
–chiave privata file://privato/server.chiave
–certificato di catena di file://ca.crt

È inoltre possibile utilizzare il “Certificato di Importazione” pulsante in ACM, che vi consentirà di incollare il contenuto di ogni file, ma è più facile da copiare e incollare. Importare il certificato client nello stesso modo:

aws acm import-certificato
–certificato file://rilasciata/client1.dominio.tld.crt
–chiave privata file://privato/client1.dominio.tld.chiave
–certificato di catena di file://ca.crt

Ora, è possibile impostare il Client VPN. Dal VPC Management Console, fare clic su “Client VPN Endpoint” sotto “Network (VPN)” sezione nella barra laterale, e creare un nuovo endpoint.

In primo luogo, avrete bisogno di dare la VPN blocco CIDR che non viene utilizzata, il tuo attuale VPC. Potete trovare il tuo VPC blocco sotto il “Tuo Vpc” tab. Per esempio, se si utilizza il blocco predefinito di 172.31.0.0/16, è possibile impostare il Client VPN per 172.16.0.0/16, che non si sovrappongono.

A quel punto, incollare il COMITATO per le primarie certificato del server (è possibile trovare questo nella ACM Console), selezionare “Utilizza Autenticazione Reciproca,” e incollare il COMITATO per i certificati client. Si può usare questo client cert per più utenti, ma se si preferisce un modo migliore per gestire l’accesso, invece, è possibile utilizzare l’autenticazione di Active Directory con AWS Servizio di Directory.

Questo è tutto ciò che è necessario, quindi, andare avanti e fare clic su crea. Ti verrà addebitato appena creato.

Dovrete associare questa VPN con un particolare VPC e subnet. Da “Associazioni” scheda, fare clic su “Associa” e quindi selezionare la VPC e la subnet che si desidera utilizzare.

Se si utilizzano le impostazioni predefinite, avrete uno VPC disponibili e sottoreti multiple per ogni disponibilità di orario. Selezionare la disponibilità zona subnet attualmente in uso.

Al di sotto di “Autorizzazione” si desidera aggiungere un grado di regola che consente l’accesso alla sottorete è associata la VPN con. Questo può essere un più specifico blocco CIDR o l’intera subnet. Se si utilizza ANNUNCIO, inoltre, è possibile limitare l’accesso a un particolare gruppo.

Dal VPC console, fare clic su “Download Client di Configurazione.” Questo consentirà di scaricare un .ovpn file che è possibile utilizzare in qualsiasi OpenVPN client per connettersi alla VPN. Tuttavia, questo file viene solo da AWS con il certificato della CA del server, quindi avrete bisogno di aprirlo e incollare il /rilasciato/client1.dominio.tld.crt cert in un <cert /> blocco e /private/client1.dominio.tld.chiave keyfile in un < / chiave> blocco. Il tuo .ovpn file sarà simile al seguente:

client
dev tun
proto udp
remoto asdfa.cvpn-endpoint-0dbc42be17e0f2c68.prod.clientvpn.us-east-1.amazonaws.com 443
remoto-casuale-hostname
risol-retry infinite
nobind
persist-key
persist-tun
remoto-cert-tls server
crittografia AES-256-GCM
verbo 3
<ca>
—–BEGIN CERTIFICATE—–

CA

—–END CERTIFICATE—–

</ca>

<cert>
—–BEGIN CERTIFICATE—–

CLIENT DI FILE CRT

—–END CERTIFICATE—–
</cert>
<key>
—–BEGIN CHIAVE PRIVATA—–

CLIENT DI FILE DI CHIAVE

—–END CHIAVE PRIVATA—–
</key>

reneg-sec 0

Potrai anche aggiungere una stringa casuale di “remote cvpn-endpoint-xxxxxx” linea, in questo modo:

remoto asdfa.cvpn-endpoint-xxxxxx….