martes, 30 de enero de 2018

ACTIVAR SEGURIDAD EN APACHE

ACTIVAR SEGURIDAD EN APACHE
 
Para que el servidor pase a ser seguro debemos activar el modulo SSL accediendo al Servidores>Apache webserver>Configuración Global>Configuración de módulos apache
 
 
 
El archivo que almacena los puertos de escucha se ubica en /etc/apache2/ports.conf que comprueba la directiva <IfModule> que incluye la escucha del puerto TCP 443 si el modulo SSL se encuentra activado.
 
 
CREACION DE HOST VIRTUAL HTTPS
 
Accederemos a Apache Webserver y seleccionamos "Crear Host Virtual"
 
 
 
 
y creamos un archivo Index.html en el interior del directorio "/var/www/httpssl" en mi caso y si no disponemos de un directorio especifico para el protocolo SSL lo creamos.
 
 
 
 
 
En un caso real debemos de solicitar a la CA (Autoridad de certificación), en nuestro caso vamos generar nuestro certificado CA, para realizar las comprobaciones correspondientes.
 
USAREMOS TINYCA2
 
Primero rellenamos lo campos haciendo relación al servidor aulaser.com....
 
 
 
y extraemos el certificado de CA y las claves, las guardamos en sitio seguro y localizable para configurar a webmin para el uso de las claves para cifrar la comunicación.
claves CA en mi caso
Certificado de clave privada: webmaster@aulaser.com-cert.pem
Archivo de clave privada: webmaster@aulaser.com-key-pem
 
 
En webmin debemos de indicar la ubicación de las claves de publica y privada de CA como se muestra a continuación.
 
 
 
Vamos configuramos la lectura de claves del Autoridad de certificación, clicamos en la bola del mundo del nuevo host virtual
 

 
accedemos a "Opciones SSL".....
 
 
y indicamos la ubicación de las claves que va a utilizar para realzar la autenticación de sitio web y la confidencialidad de los datos.
 
 
 
y aplicar los cambios en webmin.
 
¡¡¡IMPORTANTE PARA QUE EL CLIENTE PUEDA VISUALIZAR LA PAGINA MEDIANTE PROTOCOLO SEGURO DEBE DE ACEPTAR EL CERTIFICADO DE AUTORIDAD QUE A SIDO ENVIADO POR EL SERVIDOR!!!
 
en mi caso ya se acepto realizando la comprobación
 
y asi poder visualizarlo
 
 
 
 
y comprobamos en el navegador el certificado de nuestro servidor. (Las los siguientes pasos son para el Navegador Mozilla Firefox, en otros navegadores es similar).
 
 
 
 
 
al final del apartado.....
 
 
 
 
y veremos como a guardado el fichero de la CA Autoridad de certificación.
 
 
 
 
y como se puede comprobar aparece el cadadito verde cuando se accede al servidor web medienate HTTPS haciendo uso de protocolo HTTP y SSL.
 
 
 
 
 
 
 


jueves, 25 de enero de 2018

CREACION DE HOST VIRTUAL EN WEBMIN


Configuración de un host virtual en apache para disponer de distintos sitios web en el mismo equipo,
basándose principalmente en la IP y seguidamente en el puerto, si en algún caso los sitios tiene la misma IP y PUERTO para decidir que sitio va a responder a la petición de la red utilizara el Cammon Name(CN) o www.aulaser.com, como veremos a continuación:

hay dos tipos de Hots Virtuales:
HOSTS VIRTUALES BASADOS EN NOMBRE
HOSTS VIRTUALES BASADOS EN IP

¡¡¡¡ IMPORTANTE SI EN ALGUNO DE LOS CASOS COINCIDEN LA IP Y EL PUERTO PARA DECIDIR DE QUE DIRECTORIO VA A CARGAR LA INFORMACION SE FIJARA EN EL NOMBRE DEL SERVIDOR O CNAME !!!!

host virtual con distinto contenido index.html, responde en el servidor web dependiendo como realicemos la llamada en el cliente o navegador web.
Crearemos una nueva carpeta llamada Linux en /var/www/ y descargaremos un index de cualquier pagina Linux, para descargarla en nuestro servidor con el comando "wget

Aquí tenemos un ejemplo de lo que sucede con los puertos:

https://www.ejemplolinux.com"  y continuación vamos a crear un nuevo host virtual que para comunicarse usara la misma IP pero el PUERTO será el 81.


 
rellenamos los campos "Puertos" y "Raiz para el documento"...crear ahora.

comprobamos con la dirección servidor.aulaser.com o lo que es igual 192.168.100.254 por el puerto 80:
en el que disponemos del indexado de directorios


en cambio si accedemos a servidor.aulaser.com o lo que es igual 192.168.100.254 por el puerto 81 aparecerá la nueva web que hemos cargado anteriormente y configurado como nuevo host virtual:




ya tenemos creado el host virtual, en el cual dentro de su directorio tenemos descargado el index.html de la pagina web linuxtotal.

a continuación modificaremos la ip haciendo uso de la dirección de la dirección ip y haciendo uso del mismo puerto:
en lugar de cargar el indexado de servidor web cargara la web descargada de Linux






en cambio si la ip y el puerto coinciden el servidor escogerá el que disponga de nombre de servidor y si el nombre de servidor coincide cargara los directorios por orden alfabetico.

jueves, 18 de enero de 2018

ACTIVACION DE MODULO USERDIR

ACTIVACION DE MODULO USERDIR


A continuación activaremos el modulo USERDIR para permitir a los usuarios del sistema puedan tener su espacio de contenidos web en su propio directorio /home. Para este modulo se pueda cargar es necesario habilitar userdir.load y userdir.conf contiene la configuración de dicho modulo.

una de las cosas buenas de las que dispone apache es que puede cargar dinamicamente al tratarse de
objetos compartidos dinamicos DSO, la extensión de apache es .so

Cuando se activa un modulo en apache se crea un enlace simbolico de los archivos correspondientes
del directorio mods-avaiable y mods-enabled, cada modulo tiene asociado un archivo de carga y otro de configuración NombreModulo.conf y NombreModulo.load.



Para activarlo debemos de acceder a "Configuración de Modulos de apache"


y activar modulo seleccionado.
 
Ahora debemos de añadir userdir.conf y userdir.load en mods-enabled desde mods-avaiable
Y a continuacion configuraremos el directorio que deseamos acceder detro del sistema de archivos del usuario.



el archivo userdir.load contiene la directiva de carga del modulo




y userdir.conf....



En este directorio es donde podremos introducir los trabajos realizados con html, php, etc ... es en el directorio "~/public_html" , cada directorio indexado con apache debe de tener un archivo index.html para que el servidor reconozca la entrada del sitio web.



la sección <Directory> indica que todos los home del sistema disponen de su espacio "~/Public_html" podrán ser listados sus contenidos.
Para configurar el modulo debemos de ir a "Opciones de documento" del servidor por defecto,

 







y comprobamos el acceso a la web...... indicando en la URL www.aulaser.com/~"usuario"/



el usuario alumno en este caso ya dispone de su directorio compartido con el servidor apache y poder trabajar desde su cuenta de usuario del sistema.
 si deseamos acceder sin el uso de "~" deberemos de configurar de la siguiente manera




-------------------------------------------------------------------------------------------------------------------------

jueves, 11 de enero de 2018

SERVICIO HTTP CON WEBMIN-LINUX

UN POCO SOBRE HTTP

HTTP  es un protocolo sin estado no recuerda nada reCliente /Servidor, cada cliente mediante su navegador introduce la URL o lo que es lo mismo la dirección de internet, que realiza la consulta con el servidor según su formato, en el caso de http hace uso de formatos como PHP, MySQL, java, HTML etc, y la estructura de la URL es de la siguiente manera:
[Protocolo]://[Nombre Servidor o Dirección]:[Puerto]:[Ruta de recurso]

Lo que quiere decir que los cliente o usuarios pueden acceder a la ubicación indicada en su navegador por que esta siendo decodificado por el programa de navegación, Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome, etc...

El cliente establece una conexión SOKET con el servidor. y solicita la pagina mensaje REQUEST el servidor responde si no existe la dirección responde con un código de error, si la DIRECCION es CORRECTA el servidor responde enviando la información del contenido de la pagina para que se pueda visualizar en el cliente siendo interpretado .

Comprobamos el estado de servicio http




La instalación del software apache es sencilla, podemos realizarla desde el gestor de aplicaciones del Sistema Operativo buscamos la aplicación Apache2 o bien ejecutando en el terminal:

* sudo apt-get install apache2

Iniciar Apache:
/etc/init.d/apache2 start

Parar Apache:
/etc/init.d/apache2 stop

Reiniciar Apache:
/etc/init.d/apache2 restart

 Nos dirigiremos a la ubicación "/var/www/ de apache donde se encuentra el archivo Index.htm por defecto de apache, lo podemos modificar a nuestro gusto en lenguaje HTML.







Para resolver las situaciones de "falta de memoria" del protocolo, además de  recordar la información de la sesión actual(que se pierde al cerrar el navegador) hace uso de los coockies. Las operaciones que se pueden solicitar al servidor son las siguientes:

GET: Pide una representación del recurso especificado. Por seguridad no debería ser usado por aplicaciones que causen efectos ya que transmite información a través de la URI agregando parámetros a la URL. La petición puede ser simple, es decir en una línea o compuesta de la manera que muestra el ejemplo. Ejemplo:
GET /images/logo.png HTTP/1.1 obtiene un recurso llamado logo.pngEjemplo con parámetros:
/index.php?page=main&lang=es

POST: Envía los datos para que sean procesados por el recurso identificado. Los datos se incluirán en el cuerpo de la petición. Esto puede resultar en la creación de un nuevo recurso o de las actualizaciones de los recursos existentes o ambas cosas.

READ: Pide una respuesta idéntica a la que correspondería a una petición GET, pero en la respuesta no se devuelve el cuerpo. Esto es útil para poder recuperar los metadatos de los encabezados de respuesta, sin tener que transportar todo el contenido.

Los MIME (Extensiones multipropósito de correo de Internet) son una forma abierta o extensible  sirven para representar el contenido de los datos, son de gran importancia, se aseguraran de que ninguno de los datos distintos no tendrán el mismo nombre.
*Controlado por la  IANA (Autoridad de asignación de numero en internet).

El archivo de configuración principal es /etc/Apache2/Apache2.conf

A continuación accederemos al servidor webmin......


 


accedemos a Configuración Global" :



disponemos de ...
  • Redes y Directorios: Se configura la red a la que se da servicio y el puerto de escucha.

  • Tipos MIME: Muestra la lista de extensiones compatibles con apache, como por ejemplo poder reproducir imágenes, videos , etc...

  • Usuarios y Grupos: Se determina quien es el usuario por defecto de apache y al grupo al que pertenece. por defecto son www-data/www-data.

  • Varios: Permite configurar algunos detalles como la información que se visualiza en la cabecera http de servidor, nombre y ruta del archivo de bloqueo del mismo, el archivo que almacena el PID, etc ...

  • Archivo de Opciones Por-Directorio: el usuario puede crear archivos con opciones especificas para un determinado directorio. el archivo se suele llamar ".htaccess" estas directivas se aplican a todos los archivos y subdirectorios de ese directorio a menos que se indicque lo contrario en otro archivos de opciones

  • Configuración de Modulos: Muestra el listado de modulos disponibles de apache.

  • Opciones de edición: Desde que podemos modificar los archivos de de configuración de apache como "apache2.conf", en el se muestran la el las líneas de configuración relacionadas con Opciones por-directorio(.htaccess)

 ya tenemos la configuración principal realizada


SERVIDOR WEB POR DEFECTO FUNCIONANDO Y PREPARADO

jueves, 4 de enero de 2018

SERVIDOR SSH

SERVIDOR SSH

Un servidor SSH simplemente es un servidor de acceso remoto a otra maquina haciendo uso del terminal para poder realizar una comunicación entre dos maquinas conectadas en distintas ubicaciones mediante un túnel encriptado, lo que añade mas seguridad a la comunicación, ssh permite realizar además de CRemoto, transferencias de archivos con mucha mas seguridad y la gestión del sistema sin que nuestras acciones remotas puedan ser interceptadas y visualizadas por algún software Sniper e impedir que si se captura el trafico de la red pueda ser legible por nadie solo por el emisor y el receptor.
Disponemos de diferentes herramientas para hacer uso de este servicio, tanto en entorno grafico como en terminal.
-Terminal: Telnet, rlogin y Secure Shell (SSH).
-Entorno Grafico: VNC para distribuciones linux y los servicios de Terminal server en Windows.

Es importante tener en cuenta que SSH proporciona soporte para las comunicaciones seguras que funcionen sobre el  protocolo TCP, ya que por ese motivo hace uso de mecanismos de criptografía y la Autenticación se realiza de forma transparente para el usuario.
*La versión libre mas importante de SSH es la que desarrolla OpenSSH, que requiere de la instalación del paquete OpenSSL que dispone de las librerías para el encriptado de las comunicaciones a través de OpenSSH que se instala con una dependencia de OpenSSH.

PRINCIPALES CARACTERISTICAS DE SSH

*Por defecto hace uso del purto 22 TCP y UDP y el protocolo SSH sigue el modelo de Cliente/Servidor.
*Autenticación de usuarios de varias formas
- Por sistema de llaves.
- Por contraseña.
*Permite su funcionamiento con otros sistemas de autenticación como Kerberos, PGP o PAM
*Implementado para la mayoría de sistemas operativos y plataformas.
*Hace uso de algoritmo simétrico para proteger la comunicación.
*Clave Privada y publica(enviada por el servidor).

para establecer una conexión remota ssh, es ¡¡¡MUY IMPORTANTE !!! enrrutar en el Firewall adecuadamente las interfaces de red de cada host, como sabemos desde la red local a la red externa salen todas las peticiones que realicemos , en cambio tiene restringida todas las entradas excepto el puerto 80 TCP que es poder donde se comunica el protocolo HTTP , entre otros que los programas en el momento de su instalación de reconfiguraron en su momento de forma transparente para el usuario,

INSTALAR SERVIDOR APACHE EN UBUNTU EN PASOS PREVIOS
instalación:
sudo apt-get install openssh-server

Iniciar servidor SSH:
/etc/init.d/ssh start

Parar servidor SSH:
/etc/init.d/ssh stop

Reiniciar servidor SSH:
/etc/init.d/ssh restart


Lo principal es indicar que el archivo de configuración principal se encuentra en "~/.ssh/sshd_config" en el podemos configurar las opciones de acceso mediante protocolo SSH.

los apartados mas importantes son:
port 22 (por defecto, recomendable cambiarlo)-----------------------------> Puerto de escucha ssh
Protocolo 2------------------------> Versión del protocolo
Hostkey /etc/ssh/ssh_hosts_rsa_key --> contenedor de las llaves privadas
PubKeyAuthentication yes -----> Autenticación de clave publica
PasswordAuthentication yes ---> Habilitación de autenticación normal, en caso de que falle las demás atenticaciones.
X11Forwarding yes -------------> Ejecuta control remoto en entorno grafico.

una vez instalado el cliente ssh  podremos acceder de dos formas :

ssh -l usuario "maquina o IP"
o
ssh usuario@"maquina o IP"

de esta forma podremos aceder al servidor de forma cifrada sin uso de claves de autenticación de usuario, y tener en cuenta que como cada servicio disponde de subpocesos demonio, en el caso de ssh la ubicación del proceso es en /usr/sbin/sshd este seria en el servidor, en el cliente la ubicación del archivo es en /usr/bin/ssh.

si queremos acceder mediante la clave publica del usuario debemos de generarla con un generador de llaves como por ejemplo "PuttyKey.exe" el cual genera dos archivos que son las clave Publica/Privada,
La clave privada la cargaremos en Putty , de esta forma realizaremos una comunicación mediante cifrado asimétrico.

 
 
cargamos la clave del directorio especifico
 
 


Para que el servidor SSH pueda autenticar la clave Publica del usuario la debemos añadir en ~/.ssh/auhorized_key, es decir debemos de copiar el contenido de la clave publica en el archivo "authorized_keys" y reiniciamos el servidor ssh.





 cuando accedemos con putty a un servidor mediante autenticación saldría un mensaje similar a este....
 
 
a partir de ahora la comunicación se esta realizando mediante autenticación.

SERVIDOR WEB SEGURO-FIRMA DIGITAL

SERVIDOR WEB SEGURO-FIRMA DIGITAL Un servidor web decimos que es seguro en el momento que se garantiza la autenticación y confidencialida...