Ir al contenido principal

HTTP - HTTPS con Apache: Varias Interfaces, Módulo Seguro y Autentificación Básica

Vamos a configurar 3 sitios:

  • intranet.eldominio.es, en el directorio /var/www/intranet, interfaz IP1 y puerto 80.
  • publico.eldominio.es, en el directorio /var/www/publico, interfaz IP2 y puerto 80 (HTTP)
  • privado.eldominio.es, en el directorio /var/www/privado, interfaz IP2 y puerto 80 (HTTP) redireccionado al 443 (HTTPS)
    Este sitio tendrá una carpeta privada con acceso restringido.





Configuración de 2 interfaces:
1ª -






2ª -



Encendemos el servidor debian.

# rm /etc/udev/rules.d/70-persistem-net.rules
# reboot

# nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
allow-hotplug eth1
iface eth0 inet dhcp
iface eth1 inet dhcp

# service networking restart
# ifconfig -a



# apt-get install apache2




# netstat -putan|grep apache



# ps -aux|grep apache



Creo las carpetas WEBs:
# cd /var/www
# mkdir intranet publico privado
# cp index.html intranet/
# cp index.html publico/
# cp index.html privado/






# cd privado/



# mkdir apuntes


# cd /etc/apache2/




# nano ports.conf
NameVirtualHost 192.168.56.101:80
NameVirtualHost 192.168.1.62:80
Listen 80





Creo los sitios:
# cd sites-available/

# cp default intranet
# cp default publico
# cp default privado







# nano intranet
        ServerAdmin mariujesus@hotmail.com

        ServerName intranet.eldominio.es
        DocumentRoot /var/www/intranet
       
                Options FollowSymLinks
                AllowOverride None
       

        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error_intranet.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access_intranet.log combined





# nano publico
        ServerAdmin mariujesus@hotmail.com

        ServerName publico.eldominio.es
        DocumentRoot /var/www/publico
       
                Options FollowSymLinks
                AllowOverride None
       

       
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error_publico.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access_publico.log combined






# nano privado
        ServerAdmin mariujesus@hotmail.com
       
        ServerName privado.eldominio.es
        DocumentRoot /var/www/privado
       
                Options FollowSymLinks
                AllowOverride None
       

       
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
       

       
                AllowOverride All
       

       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined






# cp default-ssl privado-ssl
# nano privado-ssl

        ServerAdmin mariujesus@hotmail.com

        DocumentRoot /var/www/privado
       
                Options FollowSymLinks
                AllowOverride None
       

       
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error_privado.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/ssl_access_privado.log combined




Activo los sitios:
# a2ensite intranet
# a2ensite publico
# a2ensite privado
# a2ensite privado-ssl





Activo el modulo seguro y lo configuro:
# a2enmod ssl



# a2enmod rewrite



# nano /var/www/privado/.htaccess
ReWriteEngine   On
ReWriteCond     %{HTTPS} off
ReWriteRule (.*) https://%{HTTP_POST}%{REQUEST_URI}







Activo el modulo de autentificación básica y configuro:
# a2enmod auth_basic




# htpasswd -c /etc/apache2/usuarios alum1
         alum1 / alum1
# htpasswd -c /etc/apache2/usuarios alum2
         alum2 / alum2




# nano /var/www/privado/apuntes/.htaccess
AuthType Basic
AuthName "ALUMNOS MOLONES"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /etc/apache2/usuarios
Require user alum1
Require user alum2




Reiniciamos el servidor
         # service apache2 restart


En mi host REAL:
$ sudo nano /etc/hosts
192.168.56.101 intranet.eldominio.es
192.168.1.62 publico.eldominio.es
192.168.1.62 privado.eldominio.es



Verificaciones en el navegador de la máqina Real:






Comentarios

Entradas populares de este blog

Configuración y Uso de Pandora FMS 5.0 SP3

CONFIGURACIÓN DE LA RED Lo primero que se debe de hacer es conocer la red que necesitas monitorizar, las distintas redes que posees y configurar las interfaces del CentOS donde tienes instalado Pandora FMS para que este sistema pueda verlas. Si haces un ping a alguna de estas redes, este debería responderte. Un ejemplo de como configurar distintas redes en CentOS sería el siguiente, donde las X son las que corresponda a tú red: # cd /etc/sysconfig/network-scripts/ # cat ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x.1 NETMASK=255.255.255.0 DNS1=10.x.x.x DOMAIN=dominio.local DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no UUID=920d0ead-e3ad-4c99-8c79-617812986fb4 ONBOOT=yes # cat ifcfg-eth0:0 DEVICE=eth0:0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x....

Mensajería OpenFire: Instalación y Configuración

Exportamos una nueva OVA de DEBIAN. Configuramos su interfaz: # rm /etc/udev/rules.d/70-persistem-net.rules # reboot Preparamos la conexión remota: # apt-get install ssh #ifconfig -a Instalación paso a paso: $ ssh root@192.168.1.198 Necesitaremos en la instalación de  mensajería   OpenFire : Servidor LAMP •           Linux •           Apache •           MySQL •           PHP phpadmin y Java # apt-get install apache2 php5 mysql-server phpmyadmin # apt-get install openjdk-6-jdk Descarga y puesta en funcionamiento de OpenFire: # wget http://download.igniterealtime.org/openfire/openfire_3.9.1_all.deb # dpkg -i openfire_3.9.1_all.deb Para saber que está funcionando: # netstat...

pfsense: Proxy Squid3 instalación y configuración

Nuestra máquina de pfsense con 2 adaptadores , uno en adaptador puente y otra en solo anfitrión: Me conecto desde el interfaz anfitrión al pfsense desde el navegador: Nos movemos a: System / Package/Available Packages/instalamos squid3 Service / Proxy server Configuramos en la pestaña de General las siguientes opciones: LAN Proxy Port: 3128 Allow users on interface(picado) Transparent Proxy(picado) Enabled logging(picado) Log Store Directory: /var/squid/logs Administrator email: email administrador Language: es SAVE Nos aseguramos que squid está corriendo: Status / Service Con esta configuración debemos tener internet en nuestro cliente Windows. RESTRICCIONES Y PERMISOS Podemos configurar las restricciones en la pestaña Service / Proxy server / (pestaña)ACLs Por ejemplo, restringimos el acceso a google.es: En Service / Proxy server / Local Cache o...

FireWall de PFsense: NAT

NAT Network address transletion - Traducciones de direcciones de red Se diferencia de la tabla filter, que con estas reglas se redirecciona. Si queremos que nuestro servidor web de servicio al exterior, tiene una dirección interna, pero si sale con esta IP, al salir se corta la IP. Que el router coja esta IP interna de este servidor Web y la cambie por la IP publica del route se llama NAT. Esto que hace el router automáticamente es lo que vamos a hacer ahora. SNAT: source NAT(origen) DNAT: destination NAT(destino) SNAT, cambiamos el origen. Windows manda el paquete y llega a pfsense, y este cambia el origen PAQUETE: origen: wXP (192.168.56.2) ↔ WAN (80.21.21.21) destino: google.es DNAT, cambiamos el destino Queremos dar servicio web, pero mi servidor esta en una red privada, en la 10.0.0.2. Al dar la IP de mi WAN, debo hacer que llegue a mi servidor. Cada vez que llegue un paquete a la Wan al puerto, en este caso, 80, l...

FireWall de PFsense: Reglas de Filtro 1/3

FILTER RULES (Reglas de Filtro) Para instalar el PFsense te recuerdo el enlace donde se explica en mi blog: http://mjesussuarez.blogspot.com.es/2013/12/instalacion-y-uso-de-pfsense.html A partir de este punto, entramos en PFsense a partir de la IP LAN: 192.168.56.2 Las 2 opciones mas interesantes de ver sobre cortafuegos en PFsense es NAT y Rules . Aunque usaremos también los Aliases . Dentro de interfaces tenemos LAN y WAN, pero también podemos asignar interfaces, como por ejemplo una zona demilitarizada(DMZ) para alojar en esta rama un Servidor Web . Para crear una interfaz nueva debemos ir a Interfaces / assign / VLANs . Pero que es una VLAN . Significa que físicamente están todas las redes unidas, pero Virtualmente se han formado LANs independientes y que no se ven unas a otras, o si se ven, pero están separadas virtualmente como si estuvieran separadas de forma física. Pero este tema lo trataremos mas adelante, ahora haremos...