CloudLinuxNetworkScriptSicurezza

OpenVPN Server – CentOS 7 x64

twitterlinkedin

In questo documento viene descritta la procedura per installare un server OpenVPN per la connettività verso l’azienda da sedi mobili remote. La soluzione è compatibile con i nuovi standard di sicurezza Apple ed utilizzabile dai sistemi operativi iOS, MAC OS, Microsoft Windows.

La configurazione proposta prevede la distribuzione lato client del certificato CA embedded nel file di configurazione e la preparazione di username/password per l’accesso account.

Per la preparazione del sistema operativo CentOS 7 x64 seguire l’articolo al link http://vlab.abconsultinggroup.eu/centos-7-perfetta-installazione-e-preparazione/ .

Installazione servizi

# yum install epel-release
# yum install openvpn easy-rsa -y

Configurazione chiavi RSA

# /usr/share/easy-rsa/2.0
# nano vars

# . vars
# ./clean-all
# ./build-ca
# ./build-key-server openvpn.abconsulting.local
# ./build-dh

Configurazione OpenVPN Server

# nano /etc/openvpn/server.conf
local 10.0.0.14
dev tun
proto udp
port 1194


ca /usr/share/easy-rsa/2.0/keys/ca.crt
cert /usr/share/easy-rsa/2.0/keys/openvpn.abconsulting.local.crt
key /usr/share/easy-rsa/2.0/keys/openvpn.abconsulting.local.key
dh /usr/share/easy-rsa/2.0/keys/dh2048.pem

user nobody
group nobody

server 10.8.0.0 255.255.255.0

persist-key
persist-tun

client-to-client

push "redirect-gateway def1"
push "dhcp-option DNS 10.0.0.1"
push "dhcp-option DOMAIN abconsulting.local"

status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
client-cert-not-required
username-as-common-name

Configurazione routing

# nano /etc/sysctl.conf

# sysctl -p
# systemctl start iptables
# iptables -F
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens32 -j MASQUERADE
# iptables-save > /etc/sysconfig/iptables
# systemctl enable iptables
# systemctl restart network.service

 il valore ens32 dipende dalla scheda di rete

Start e auto esecuzione server OpenVPN

# systemctl start openvpn@server.service
# systemctl enable openvpn@server.service

File di configurazione client

es: abgroup.ovpn


client
dev tun
proto udp
remote <ip pubblico della rete> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
<ca>
il contenuto di questa parte è da ricavare eseguendo il comando
cat /usr/share/easy-rsa/2.0/keys/ca.crt e incollare qui all'interno
da
-----BEGIN CERTIFICATE-----
a
-----END CERTIFICATE-----
compresi
</ca>
auth-user-pass
verb 3

 

twitterlinkedin