viernes, 28 de noviembre de 2008

Configuración Apache con SSL. Acceso a web seguras

¡Hola! en este tutorial aprenderemos a configurar Apache para tener paginas de acceso seguro. Para ello haremos lo siguiente:

En primer lugar tendremos que instalar el modulo de SSL. Para ello desde el terminal escribimos:
sudo aptitude install ssl-cert


Ahora necesitamos un certificado para tener paginas web de acceso segurado, para tener el certificado introducimos en el terminal:
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/apache2.pem


El comando make-ssl-cert es el que crea el certificado, cuando lo ejecutemos nos saldrá un asistente para configurar el certificado que dará unas preguntas.

1ª Tendremos que introducir el código del idioma de nuestro país que es (ES para España).



2ª Ahora nos pedirá el nombre de nuestra provincia.



Después nos pedirá el nombre de nuestra localidad.



4ª Ahora nos pedirá el nombre de nuestra compañía u organización.



5ª Tendremos que especificar que servidor es el que genera el certificado:



6ª Y por ultimo la dirección de correo que va asociada a el certificado.



Una vez terminada la creación del certificado, tendremos que configurar el servidor para que lo configure.

Tendremos que crear una carpeta dentro de /var/www con el nombre de websegura, sería así:
sudo mkdir /var/www/websegura


En esta carpeta tendremos que poner una pagina index.html la cual es a la que vamos a acceder con https.

A continuación editaremos el fichero que se encuentra en:
/etc/apache2/ports.conf
En este archivo lo que haremos sera escribir una linea con el contenido, Listen 443 , ya que el protocolo https utiliza el puerto 443.

Lo siguiente será editar el archivo,

/etc/apache2/sites-available/defaul


En este archivo lo que haremos será habilitar SSL e indicar la ruta donde se encuentra el contenido del certificado. Mi web de cara al publico sera websegura.prueba.com utilizando https. Este es el contenido del fichero defaul.




Ahora habilitaremos el modulo SSL en el servidor Apache utilizando:

sudo a2enmod ssl


También tendremos que modificar otro fichero llamado hosts que se encuentra en:
/etc/hosts


Añadimos la siguiente linea para resolver localmente el nombre de nuestro servidor.

ip_servidor websegura.prueba.com


Tendremos que sustituir ip_servidor por la dirección de nuestro servidor.

Una vez realizados todos los pasos reiniciaremos el servidor apache usando:
sudo apache2ctl restart


Ahora accederemos a nuestra pagina tecleando:
https://websegura.prueba.com


Después nos saldrá un mensaje de aleta de seguridad diciendo que el certificado no esta emitido por una autoridad certificada, nosotros pulsaremos en "aceptar" como se muestra en la imagen:



Y ya nos saldrá nuestra pagina index.html con certificado.

Espero que os sea de utilidad, hasta la próxima.

martes, 25 de noviembre de 2008

Autenticación de Apache

¡Hola! en este tutoríal crearemos un usuario y grupo de autenticación para que solo unos usuarios inscritos por nosotros puedan acceder a cierta página.

El primer paso es tener instalado Apache si no es así introducimos este código para la instalación:
sudo aptitude install apache2-mpm-prefork

Una vez instalado apache vamos con la configuración.

1º Creamos un directorio dentro de /var/www/.
sudo mkdir clase

En este directorio debemos introducir la página simple de (index.html)
2º Ahora debemos crear un directorio donde almacenar las contraseñas dentro de /var de la siguiente forma:
sudo mkdir passwd

3º Ahora se crea el archivo con el usuario de la siguiente forma:
htpasswd -c /var/passwd/.htpasswd alumno

Ponemos el punto delante de htpasswd para que no sea visible.
-c solo se pondrá para el primer usuario que creemos, ya que si lo escribimos cada vez que creemos un usuario reemplazará al anterior creado.
Al crear el fichero pedirá contraseña para ese usuario:
4º Ahora creamos un fichero dentro de:
sudo gedit /var/www/clase/.htaccess

con el siguiente contenido:


-AuthUserFile sirve para indicar donde se encuentra almacenada los usuarios

Una vez creado todos los archivos anteriores tendremos que modificar el archivo de configuración del sitio web que se encuentra:
/etc/apache2/sites-available en el archivo que hemos creado anteriormente llamado sitio1
E introduciremos el siguiente contenido:


Directory es para indicar donde se encuentra el archivo que hemos creado anteriormente de configuración. Con esto sería suficiente para tener restringida una página a un usuario, ahora solo queda reiniciar el servidor y ya lo tendremos, para reiniciar haremos lo siguiente:
apache2ctl restart


Pero con esto solo restringiríamos la página a un solo usuario, pero si queremos permitir el acceso a más de un usuario debemos configurar lo siguiente.

1º Creamos un fichero dentro de /var/passwd con el nombre que nosotros deseemos yo le he dado el nombre de "group"donde pondremos una lista de los usuarios que le vamos a permitir el acceso.
El contenido del archivo contendrá el nombre que le vamos a dar al grupo, con el listado de los alumnos que le vamos permitir acceder a la página. Así quedaría:



Ahora deberemos modificar el fichero creado anteriormente que se encuentra en:
/var/www/clase/.htaccess


Y tendremos que modificar la linea AuthGroupFile donde tendremos que poner la ruta donde esta guardado el fichero del grupo, también tendremos que modificar la última linea donde tendremos que modificar el Require y ponerle el grupo. Quedaría así:


Reiniciamos apache con:
apache2ctl restart


Una vez reiniciamos comprobamos que funciona:



vemos como nos pide nombre de usuario y contraseña, con esto estaría terminado. Espero que os sea de utilidad hasta la próxima.

lunes, 17 de noviembre de 2008

Creación de hosts virtuales basados en nombre

va¡Hola! En este tutorial crearemos hosts virtuales basados en nombre.

Para ello creamos 2 archivos dentro de:
/etc/apache2/sites-available

donde le pondremos a las dos la misma IP pero distinto ServerName.
El primero se llamara sitio1 y el otro sitio2, para crearla utilizamos en el terminal:
gedit sitio1 para el primero y gedit sitio2 para el segundo

Ahora configuraremos el interior del archivo sitio1 y sitio2 quedaría así:

sitio1


sitio2


Vemos que la única diferencia es el ServerName donde le hemos dado un nombre diferente a cada uno y el DocumentRoot donde hemos puesto la ruta de la carpeta que hemos tenido que crear una carpeta para cada uno donde guarda su pagina index.html para cada sitio.

Vamos con la creación de dichas carpetas. Para ello entramos en el directorio:
/var/www


Y creamos una carpeta para cada sitio usando:
mkdir sitio1.com
. para el sitio1 y
mkdir sitio2.com 
para el sitio2

Dentro de cada carpeta creamos el index.html usando:
gedit index.html


Este es el interior de las paginas index.html



Ahora para que al introducir nuestro ServerName se vea la pagina index.html referente al ServerName correspondiente deberemos configurar el hosts que se encuentra dentro de:
cd /etc 

gedit hosts


Dentro de hosts deberemos introducir nuestra IP con el ServerName correspondiente como se muestra a continuación:



También tendremos que modificar el archivo default que se encuentra dentro de:
/etc/apache2/sites-available


Es necesario modificarlo para introducir en la primera fila donde pone NameVirtualHosts nuestra IP como se muestra a continuación:



Una vez modificados dichos archivos vamos a reiniciar apache usando:
/etc/init.d/apache2 restart


Ahora comprobaremos su funcionamiento, primero desde Internet introducimos uno de los ServerName en este caso www.sitio1.com, y vemos que funciona.


Y ahora haremos lo mismo pero introduciendo www.sitio2.com.



Y con esto se terminaria el tutorial espero que os sea de utilidad hasta la próxima.

viernes, 14 de noviembre de 2008

Creación de hosts virtuales basados en direcciones IP

¡Hola! En este tutorial os enseñare como crear host virtuales basados en IP.

Para ello lo primero que tendremos que saber que eth tenemos porque lo vamos a necesitar a la hora de crear el host virtual, para verlo pondremos en el terminal:
ifconfig

y ahí no lo mostrara.

Ahora vamos con la creación del host virtual.
Para ello en el terminal escribiremos:
ifconfig ethn: n nueva IP netmask mascara

Siendo "n" como la eth que hemos visto antes con el ifconfig, y la siguiente "n" como la nueva eth. La "nueva IP" sera una IP que nosotros queramos y la mascara la correspondiente a esa IP.

Una vez creada para tener dos hosts virtuales sobre las IP antes configuradas tendremos que crear dos archivos para cada uno de los hosts para ver que funciona con el host virtual y con nuestra IP física.
Se crea desde el directorio:
/etc/apache2/sites-available

Ahí crearemos los archivos. Al primero le daremos el nombre de sitio1, para crearlo:
gedit sitio1

Y al segundo lo nombraremos con sitio2. Para crear el sitio2, hacemos lo mismo que antes
gedit sitio2
.

En el interior de sitio1 escribiremos el siguiente contenido:


En el DocumentRoot escribiremos el directorio donde mas adelante crearemos la pagina web para mostrar al introducir nuestra IP, que en este caso es /var/www/sitio1.com

Ahora habilitaremos el fichero usando:
a2ensite sitio1
Para el sitio2 este a sido su contenido:



La diferencia en el contenido de este fichero es que la dirección le hemos puesto la nuestra física, el ServerName es correspondiente a la pagina que va a mostrar a este sitio2 y el DocumenRoot es donde nosotros hemos guardado la pagina y el nombre que le hemos dado.

También deberemos habilitar el sitio2:
a2ensite sitio2

Después iremos a crear la pagina web que vamos a mostrar.
Para ello dentro de...
/var/ww


Creamos una carpeta donde después guardaremos el fichero, que sería así:

mkdir sitio1.com y mkdir sitio2.com

Aquí se muestra como están creados ambos sitios:


Entramos en sitio1.com usando cp, y creamos el archivo index.html para ello usamos:
gedit index.html


Donde en este caso e escrito el siguiente contenido:



Realizamos la misma operación para el sitio2.com, primero entramos usando el cp al sitio2.com y creamos el archivo index.html como lo hemos echo anteriormente.
El contenido del sitio2 es el mismo que le he dado al sitio1.
Guardamos ambas paginas y reiniciamos el servidor apache usando.
 /etc/init.d/apache2/ restart 


Ahora vamos a comprobar que funciona con ambas IP, para ello nos vamos a Internet y en la dirección ponemos la del host virtual, y nos debe mostrar el contenido del sitio1 como se muestra a continuación.



Y a continuación con la IP física:



Y con esto termino el tutorial espero que os sea de utilidad.

viernes, 7 de noviembre de 2008

Instalación y configuración de Apache

Hola, en este tutorial os enseñare ha instalar y configurar Apache.

Primero instalaremos Apache, para ello entramos en el terminal e introducimos el siguiente comando:
sudo aptitude install apache2-mpm-prefork
Una vez que se a instalado, para comprobar que funciona una de las formas sería, en Internet escribiremos localhost y nos debería salir la pantalla index.html de apache.

Y con esto sería suficiente para tener instalado Apache.

Ahora lo modificaremos para ver Apache con un dominio que nosotros queramos, para ello tenemos que introducir el siguiente comando desde el terminal:
cd /etc/apache2 
y desde este directorio modificaremos el archivo apache2.conf después de hacer la copia de seguridad usando cp.>
Al iniciar apache saldrá un error para quitarlo tendremos que poner lo siguiente.
En el archivo apache.conf lo que debemos introducir es la siguiente linea.
ServerName y el nombre del dominio que queramos utilizar en este caso sera www.tutorialapache.es
Aquí muestro el pantallazo de como sería:



Pero con esto no sería suficiente también deberemos modificar el archivo hosts que se encuentra dentro de:
/etc/hosts


Que deberemos introducir también el dominio que utilizamos antes como se muestra a continuación:



Una vez modificado estos archivos vamos con la creación de la página web que nosotros configuraremos para que apache nos la muestre como predeterminado.
Dentro de:
cd /var/www hemos creado el archivo con el comando gedit y el nombre que le queramos dar en este caso gedit apache.html


Aquí muestro el contenido que he introducido yo:



Para que en la página se muestren también las tildes y las eñes tendremos que introducir este linea:

AddDefaultCharset UTF-8 dentro del fichero que se encuentra en /etc/apache2/conf.d con nombre charset



Ya que la tenemos creada, vamos a configurar apache para que
la ponga como predeterminada, que por defecto, buscaría index.html,
para ello tendremos que:
cd /etc/apache2/sites-available y dentro del directorio tendremos que modificar
el archivo default para ello, gedit default (recomiendo siempre realizar una copia de seguridad del archivo por si le sucede algo,
lo podeis hacer con cd default y el nombre del nuevo archivo por ejemplo default.original)


Dentro de este archivo tendremos que poner correctamente la linea de DocumentRoot
tendremos que poner la ruta donde hemos creado la página que sería:
 /var/www
E introduciremos DirectoryIndex, con ello lo que haremos es que apache busque nuestra página creada en primer lugar para ello,
al lado de
DirectoryIndex escribiremos el nombre de nuestra página, apache.html.

Con esto sería suficiente vamos a comprobarlo.

Reiniciamos apache para que guarde y cargue todas las modificaciones realizadas para ello introducimos:
/etc/init.d/apache2 restart


Ahora iriamos en Internet pondríamos nuestro nombre de dominio que era www.tutorialapache.html nos debería salir el contenido de nuestra página apache.html, aquí esta el resultado.



Con esto se termina el tutorial, espero que os sea de utilidad hasta la próxima.

viernes, 24 de octubre de 2008

Creación de servidor DNS esclavo usando Webmin

Hola en este tutorial aprenderemos a crear un servidor DNS maestro utilizando Webmin.
Para entrar en Webmin en la barra de URL escribiremos nuestro local host que es 127.0.0.1 y el puerto de Webmin que por defecto es 10000.
Nos pedirá nuestro usuario y contraseña y con eso ya podemos entrar.
Una vez dentro que hacer clic sobre servidores y nos saldrá una lista donde tendremos que volver a hacer clic sobre servidores de DNS BIND como mostramos a continuación.



Una vez dentro, haremos clic sobre crear una nueva zona subordinada donde ya dentro tendremos tendremos que introducir una serie de datos.



Ya una vez dentro de crear una zona maestra tendremos que introducir una serie de datos:
1º Tipo de zona, aquí lo dejaremos por defecto.
2º Nombre del dominio, donde deberíamos introducir el dominio del servidor maestro al cual seremos esclavos en este caso (servimaster.com).
3º Archivo de registro, que lo pondremos en automático.
4º Servidores maestro, donde pondremos la IP del servidor escrito antes en este caso (192.168.1.36).

Una vez introducidos todos los datos correctamente pulsaremos en crear."




Una vez creada deberemos aplicar los cambios para ello deberemos pulsar en la casilla aplicar cambios
.


Ahora comprobaremos que lo hemos echo correctamente para ello entraremos en nuestro servidor esclavo y pulsaremos sobre direcciones donde nos debe poner las direcciones que tenia guardadas el servidor.



Otra forma de comprobarlo seria usando la consola del BIND para ello haremos clic sobre otros dentro del menú del Webmin y en la lista que nos saldrá haremos clic en consola de BIND.
Aquí haremos un dig con el pc seguido de nuestro nombre del domino esclavo y nos dará la IP del servidor, por ejemplo
dig pc36.servidores.com




Con esto terminados el tutorial espero que os sea útil, hasta la próxima.



jueves, 16 de octubre de 2008

Creación de servidor DNS maestro mediante el terminal

Para crear un servidor DNS maestro mediante el terminal debemos hacer lo siguiente:

Lo primero y principal es abrir el terminal y situarnos en el directorio etc usando
cd /etc
Antes de comenzar deberemos elegir el nombre del dominio que en este caso sera iesmarquesdecomares.com. sin olvidar el punto al final.

Una vez elegido el dominio tendremos que modificar el archivo
/etc/resolvf.conf
para que las peticiones nos lleguen a nuestro servidor eso se hace introduciendo en la primera linea nameserver 0.0.0.0

Después seguiremos con la creación del fichero
 /etc/bind/named.conf.local
el cual es creado para guardar la el nombre del dominio que seria asi (zone "iesmarquesdecomares.com."), el tipo de servidor que queremos ser (en este caso "master" que se escribiría así: (type master;)
y el directorio donde guardaremos las direcciones que le podemos llamar como queramos pero que en este caso sera (file "/etc/bind/iesmarquesdecomares.com.hosts") que es donde almacenaremos las direcciones. Así quedaría:



El siguiente paso es crear el archivo
 gedit iesmarquesdecomares.com
del dominio con el siguiente contenido.

Debemos introducir:
- El nombre del dominio que hemos decidido como es "iesmarquesdecomares.com".
- Los recursos de registro que es "SOA"
- Seguido el nombre del equipo que nosotros diremos que es "DNS-desktop".
- Nuestra dirección de correo ejemplo: DNSmaestro@...

A continuación introducimos los direcciones de host que queramos. ejemplo: pc21 junto con nuestro nombre de dominio. "pc 21.iesmarquesdecomares.com." junto a su dirección ip: ejemplo= 172.1.1.11
Quedaría así:



Por ultimo deberemos reiniciar el servidor con
/etc/init.d/bind9 restart
y si nada falla, nos deberá dar ok.
Ahora haremos un dig a unas de las direcciones que hemos incluido. ejemplo pc21.iesmarquesdecomares.com y nos deberá dar su ip.

martes, 14 de octubre de 2008

Creación de servidor DNS maestro

En esta practica configuraremos un equipo para que sea DNS maestro estos son los pasos a seguir:

1. Entramos en Webmin y hacemos clic en servidores se abrirá una lista y hacemos clic en servidor de DNS BIND




2. Hacemos clic en crar una nueva zona maestra.



3. Aquí pondremos el nombre del dominio que le queremos dar, el servidor maestro y el correo electrónico y pulsamos crear



4. Una vez creada nos saldrá un menú donde tendremos que hacer clic en dirección para introducir las direcciones de los equipos que necesitamos.



5. Introduces el nombre del equipo junto a tu nombre de dominio con punto al final y también debes introducir la IP de ese equipo y pulsamos crear.



6. Debe salir este cuadro para ver que esta creado.



7. Pulsamos el botón aplicar cambios para arrancar el servidor BIND.



8. Una vez creado todo lo anterior nos vamos al terminar, y cambiamos de directorio.



9. Ahora configuramos el archivo resolv.conf usando un sudo. Debemos poner como IP del nameserver 0.0.0.0



10. Aquí mostramos el contenido del resolv.conf.




11. Ahora haremos un dig al pc que antes cogimos su dirección para ver si nos da su dirección IP.




12. Aquí mostramos la dirección del equipo al cual le hicimos el dig en este caso pc36.