Underc0de

[In]Seguridad Informática => Seguridad web y en servidores => Mensaje iniciado por: blackdrake en Febrero 22, 2015, 04:16:34 PM

Título: Conviertete en todo un experto de Apache (II-II)
Publicado por: blackdrake en Febrero 22, 2015, 04:16:34 PM
(http://www.namhuy.net/wp-content/uploads/2014/06/Apache-Logo-namhuy.png)

Si no habéis leido la primera parte, os lo recomiendo pues os ayudará a seguir con esta: http://underc0de.org/foro/seguridad-en-servidores/conviertete-en-todo-un-experto-de-apache-(i-ii) (http://underc0de.org/foro/seguridad-en-servidores/conviertete-en-todo-un-experto-de-apache-(i-ii))

Continuamos con el fichero /etc/apache2/sites-available

ServerAdmin

Permite configurar la dirección del administrador del servidor web que se mostrará si el servidor genera una página de error.

Código (bash) [Seleccionar]
ServerAdmin [email protected]

ServerName

Indica el nombre del servidor.

Código (bash) [Seleccionar]
ServerName www.underc0de.org:80

DocumentRoot
Indicamos el directorio raíz donde colocaremos las páginas web.

Código (bash) [Seleccionar]
DocumentRoot "/www/webs"

También es necesario cambiar la directiva Directory (que veremos más adelante)

Código (bash) [Seleccionar]
<Directory "/www/webs">

UserDir
Indica si se debe permitir que cada usuario de nuestro sistema tenga su propia carpeta personal en el servidor web.

Código (bash) [Seleccionar]
UserDir public_html

DirectoryIndex
Especifica la página por defecto que se buscará al acceder a un directorio de la jerarquía de nuestro sitio.

Código (bash) [Seleccionar]
DirectoryIndex index.html, index.htm, index.php, inicio.html

Si accedemos a un directorio que no contiene ninguno de los archivos especificados, Apache crea dinámicamente un archivo que lista los contenidos:

(http://www.acunetix.com/wp-content/uploads/2012/11/backup-dir3.png)

Esto lo podemos deshabilitar con la directiva (Dentro de <Directory>:

Código (dos) [Seleccionar]
Options -Indexes

Por lo que ahora saldrá Forbidden:

(http://www.webreference.com/programming/apache_errors/403.gif)
Alias
Permite crear alias para archivos o directorios

Código (bash) [Seleccionar]
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons"/>
Options Indexes MultiViews
AllowOverride None
Order allow, deny
Allow from all
</Directory>


Activando/Desactivando módulos en Apache2


Para activar un módulo usamos el comando a2enmod con el nombre del módulo:

Código (bash) [Seleccionar]
sudo a2enmod speling

Automáticamente nos informa de lo que está sucediendo:

Código (text) [Seleccionar]
Enabling module speling.
To activate the new configuration, you need to run:
service apache2 restart


Para desactivarlo lo haremos igual pero con el comando a2dismod

Código (bash) [Seleccionar]
sudo a2dismod speling

Hosts Virtuales en Apache2

Apache puede servir varios sitios web desde un único servidor web. El cliente nunca diferenciará si son sitios en servidores diferentes o en la misma máquina.

La configuración del servidor virtual por defecto se puede consultar aquí:

Código (bash) [Seleccionar]
sudo nano /etc/apache2/sites-available/default

(En estas últimas versiones de apache puede ser que el archivo se llame 000-default.)

(https://xabiamezaga.files.wordpress.com/2014/01/03.png?w=545&h=408)

Como comenté antes, podemos desactivar el listado de los contenidos de una carpeta con la siguiente linea:

Código (bash) [Seleccionar]
Options -Indexes

Si queremos activarlo, utilizamos:

Código (bash) [Seleccionar]
Options Indexes


Accedemos a /etc/apache2/sites-available y creamos un nuevo archivo (se recomienda que tenga el nombre del dominio + .conf)

Código (bash) [Seleccionar]
<VirtualHost *:80>

        ServerAdmin [email protected]

        ServerName  www.underc0de.org

        ServerAlias underc0de.org www.underc0de.org

        # Indexes + Directory Root.

        DirectoryIndex index.php

        DocumentRoot /var/www/underc0de

</VirtualHost>


Guardamos... y ejecutamos lo siguiente:

Código (bash) [Seleccionar]
sudo a2ensite underc0de.org.conf

Reiniciamos apache

Código (bash) [Seleccionar]
sudo /etc/init.d/apache2 reload

O bien podemos usar:

Código (bash) [Seleccionar]
sudo service apache2 restart

Y ya tendremos nuestro dominio funcionando y apuntando a ese directorio (obviamente las DNS del servidor tienen que estar correctamente configuradas), el directorio al que apunta (/var/www/underc0de) se puede crear antes o después.

En caso de querer desactivar el dominio..

Código (bash) [Seleccionar]
sudo a2dissite acceso.ovh

Y reiniciamos apache

Código (bash) [Seleccionar]
sudo /etc/init.d/apache2 reload

O bien podemos usar:

Código (bash) [Seleccionar]
sudo service apache2 restart


Y hasta aquí el tutorial de Apache, espero que os haya servido.

Un saludo.
Título: Re:Conviertete en todo un experto de Apache (II-II)
Publicado por: D3ivid en Febrero 22, 2015, 04:35:06 PM
Fenomenal tuto super completo gracias por compartir blackdrake :)
Título: Re:Conviertete en todo un experto de Apache (II-II)
Publicado por: Gabriela en Febrero 22, 2015, 07:40:51 PM
Como todos tus aportes, Blackdrake: estupendos.!!!
Claro, explicado y continuado de la parte I.

Gracias

Gabi
Título: Re:Conviertete en todo un experto de Apache (II-II)
Publicado por: opadrino en Junio 11, 2015, 02:25:50 PM
Muchas gracias por el tutorial, todo muy bien explicado.

Saludos