LinuxParty
En este documento se describe cómo agregar la autenticación de dos pasos WiKID para Apache 2.x utilizando mod_auth_radius en Ubuntu 12.04 Precise.
Es recomendable que considere utilizar mutual https authentication para las aplicaciones web que son dignos de la autenticación de dos factores. La Autenticación mutua significa que el sitio web de destino se autentica al usuario de alguna manera criptográficamente segura, frustrando más ataques man-in-the-middle. El uso de la criptografía es la clave. Mientras que algunos sitios utilizan una imagen en un intento de validar un servidor, debe tenerse en cuenta que cualquier hombre-en-el-medio podría simplemente reproducir dicha imagen.
El identificador de software WiKID realiza la autenticación mutua mediante la recuperación de un hash de certificado SSL del sitio web desde el servidor WiKID y compara el hash del certificado SSL descargado. Si ambas coinciden, el token iniciará el navegador por defecto al sitio de destino para el usuario. Si no coinciden se mostrará un error, al igual que en SSH. Para configurar la autenticación mutua para aplicaciones web, vea este tutorial.
Nuestra configuración fue como sigue:
- Ubuntu 12.04
- Apache 2.2.22-1
- libapache2-mod-auth-radio 1.5.8-1
Para la autenticación de dos factores, estamos usando WiKID, en este caso, la versión comercial.
Here's how it will work, when the user clicks on a two-factor protected link, they will be prompted for a username and password. The user generates the one-time passcode on their WiKID software token and enters it into the password prompt. Apache will route the username and one-time password to the WiKID server via mod_auth_radius. If the username and one-time password match what WiKID expects, the server will tell Apache to grant access. First, we add Apache to the WiKID Strong Authentication Server as a network client, then add radius to Apache. I assume you already have a WiKID domain and users setup.
Así es como va a funcionar, cuando el usuario hace clic en un enlace protegido de dos pasos, se le pedirá un nombre de usuario y contraseña. El usuario genera la contraseña en su WiKID software token y entra en la solicitud de contraseña. Apache encaminará el nombre de usuario y contraseña de una sola vez con el servidor a través de WiKID mod_auth_radius. Si el nombre de usuario y la contraseña coinciden como WiKID espera, el servidor que le dirá a Apache que permita el acceso. En primer lugar, añadimos Apache a WiKID Strong Authentication Server como un cliente de red, a continuación, agregue Radius a Apache. Supongo que usted ya tiene un dominio WiKID y configurado los usuarios.
Por lo tanto, para empezar añadiremos un nuevo cliente de red en el servidor Radius WiKID para el servidor web:
- Inicie sesión en la interfaz web del servidor WiKID (http://yourwikidserver/WiKIDAdmin).
- Seleccione la ficha Clientes de red.
- Haga clic en Crear nueva red de cliente.
- Complete la información solicitada.
- Para obtener la dirección IP, utilice la dirección IP del servidor web
- En Protocolo, seleccione Radius
- Pulse el botón Agregar y en la página siguiente, introduzca un secreto compartido
- No escriba nada en el cuadro Atributo de retorno (Return Attribute)
- Desde la terminal o mediante ssh, ejecute 'stop' y luego en 'Start' para cargar el cliente de red en el servidor Radius WiKID incorporado
Eso es todo por el servidor WiKID.
Ahora para obtener Apache listo para la autenticación de dos pasos. Inicie una nueva instalación de Ubuntu 12.04, que tenga instalado tanto apache como mod_auth_radius.
$ sudo apt-get install libapache2-mod-auth-radius
Ahora tiene que agregar dos cosas más a su apache2.conf y httpd.conf. Primero cree un directorio que será protegido por la autenticación de dos factores. En este caso, todo el sitio está protegido. Escriba esto en su apache2.conf:
<Directory /var/www> Options Indexes FollowSymlinks AuthType Basic AuthName "WiKID Two-factor authentication" AuthBasicAuthoritative Off AuthBasicProvider radius AuthRadiusAuthoritative on AuthRadiusActive On Require valid-user </Directory>
Tenga en cuenta la directiva "radio AuthBasicProvider". Eso deja el navegador de representación de credenciales en caché en el servidor WiKID, lo que claramente no va a funcionar para las contraseñas de una sola vez.
Ahora, en httpd.conf, escriba:
AddRadiusAuth wikid_server_address: 1812 wikidserver_shared_secret 5 AuthRadiusCookieValid 60
Usted tendrá que cambiar wikid_server_address a la dirección IP del servidor WiKID y wikidserver_shared_secret el secreto compartido que configuró anteriormente en el servidor WiKID. Tenga en cuenta que la línea AddRadiusAuth termina con 5 y no 5:3. El 3 en la configuración más adelante es para el número de veces para intentar una contraseña de uso. Para las contraseñas de una sola vez, sólo queremos que intentaron una vez, por lo tanto, lo dejamos vacío. El 5 es un 5 segundos el tiempo de espera. La directiva AuthRadiusCookieValid se establece durante 60 minutos.
Eso debería ser todo lo que necesita. Puede utilizar un archivo .htaccess, pero está mal visto. El método Directory se considera más seguro.
Con Radius le permite ejecutar la autenticación a través de su directorio con NPS on Windows/AD o Freeradius for OpenLDAP. Esta configuración le permite desactivar un usuario en un solo lugar - el directorio - que es mucho más seguro.
-
Apache
- Cómo cambiar el nombre del servidor Apache por cualquier cosa personalizando el servidor
- Cómo instalar Varnish y realizar una evaluación comparativa del servidor web
- 13 consejos para reforzar la seguridad del servidor web Apache en Servidores Linux
- Cómo administrar el servidor Apache usando la herramienta "Apache GUI"
- Crear un sitio web protegido, con usuario y contraseña
- Cómo instalar Joomla en Rocky Linux y AlmaLinux
- Incrementar el rendimiento de su Web usando Nginx como Proxy con Apache
- ¿Cómo usar IPv6 en Apache?
- Cómo configurar HTTPS en Apache Web Server con CentOS
- Usar el comando occ, cómo funciona.
- Redirigir todo tu viejo dominio al nuevo dominio a través de .htaccess
- Ejemplos y Trucos de uso y configuración del htaccess de Apache
- Seguridad de Joomla: Cómo asegurar su sitio web de Joomla durante la instalación
- Securizar tu servidor Web Apache con mod_security
- Asegurar tu servidor Web Apache con ModSecurity