miércoles, 16 de mayo de 2012

Seguridad en Elastix

Para quienes tienen un Elastix y por alguna razón muy poderosa lo necesitan con el puerto 80 abierto y apache activo en Internet ahí les va este tip, no pongo mas pues no he necesitado otro más.

Usar las dos opciones de control de acceso que nos ofrece apache:

  1. Uso de autenticación dentro de una directiva Directory.
  2. Denegación de acceso basado en dirección IP.

Bien, asumo que quien lee esto sabe moverse en el sistema, la configuración del Apache de Elastix define un archivo llamado /etc/httpd/conf.d/elastix.conf dentro de este se define la directiva Directory que aplicara algunas configuraciones al contenido de la ruta "/var/www/html", para que se solicite un usuario y contraseña que se validara por apache, agregaremos estas lineas:


   AuthName "Elastix Access"
   AuthType Basic
   AuthUserFile /var/www/html/htpasswd.users
   Require valid-user


Dentro de la directiva Directory, antes de aplicar la configuración reiniciando el apache necesitamos crear el archivo  /var/www/html/htpasswd.users, ejecutando el siguiente comando siendo root:

htpasswd -c /var/www/html/htpasswd.users <usuariox>

en donde se nos solicitara dar y confirmar la contraseña para el nombre de usuario que estamos creando, ya que creamos este archivo, ahora si ejecutamos un:

service httpd restart

y listo, ahora al accesar a la interfaz web de Elastix pedirá un usuario y contraseña, antes de pasar a la autentización del propio Elastix.

Ahora para controlar el acceso en base a la IP que se usa para la conexión, como Elastix no agrega un virtual server adicional, por lo tanto usa el default, el archivo en que debemos hacer cambios es:

/etc/httpd/conf/httpd.conf

En este archivo buscaremos las lineas  (estas lineas se encuentran dentro de otra definición de la directiva Directory para la ruta: "/var/www/html"):


    Order allow,deny
    Allow from all

y las sustituiremos por algo parecido a:


        Order deny,allow
        Deny from all
        Allow from X.X


Con estas lineas definimos que por default se deniega el acceso a todos y solo abrimos (en este caso), a las ips que coincidan con los primeros dos octetos que definamos como valores de las X, por ejemplo, si la linea fuera:

      Allow from 192.168.25 (ojo no hay punto al final)

apache permitiría conexiones de las ips que pertenezcan al segmento de red 192.168.25.0, es decir todo el rango 192.168.25.1-192.168.25.254, ya definido esto pues a darle otro:

service httpd restart

y ya estuvo.















No hay comentarios:

Learning PHP, MySQL & JavaScript (Sixth Edition)

  Capitulo 4. Código: 11.php <?php   $level = $score = $time = 0; ?> Código: 12.php <?php   $month = "March";   if ($mont...