systemadmin.es > Seguridad > Usar chroot en OpenVPN

Usar chroot en OpenVPN

Usar chroot en los daemons de un servidor es un añadido de seguridad. Vamos a ver como usar chroot en OpenVPN.

En el caso de OpenVPN es tan simple como usar la directiva chroot en el fichero de configuración:

chroot /usr/local/etc/openvpn/chroot

En el caso que se use configuración especifica para los clientes (el client-config-dir) debemos mover dicho directorio dentro del chroot con los permisos adecuados. Por ejemplo:

# ps -fea | grep [o]penvpn
nobody    9660  2193  0 Feb04 ?        00:00:09 openvpn --config /usr/local/etc/openvpn/putxet.conf --syslog openvpn

Tal como vemos en el ps (o en el fichero de configuración):

# cat /usr/local/etc/openvpn/putxet.conf | grep user -A 1
user nobody
group nobody

El daemon una vez se ha inicializado pasa a ejecutarse con el usuario nobody, por lo que en chroot deberemos dejarlo con los permisos adecuados para ello:

# chown -R nobody. /usr/local/etc/openvpn/chroot 
# ls -la /usr/local/etc/openvpn/chroot/
total 12
drwxr-x--- 3 nobody nobody 4096 Feb  4 13:12 .
drwxr-x--- 5 root   root   4096 Feb  4 13:12 ..
drwxr-x--- 2 nobody nobody 4096 Feb  4 13:38 ccd

Al arrancar el servicio veremos en los logs el siguiente mensaje:

Feb  5 13:13:31 putxet openvpn[19018]: chroot to '/usr/local/etc/openvpn/chroot' and cd to '/' succeeded

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>