servidor ssl
DESCRIPTION
Servidor SSL, Servidor Web Apache, en Ubuntu 10.4TRANSCRIPT
UNIVERSIDAD TECNOLOGICA DE LA REGION NORTE DE GUERRERO
INGENIERIA EN TECNOLOGIAS DE LA
INFORMACION
SEGURIDAD DE LA INFORMACIÓN
SERVIDOR SSL
PRESENTA:
T.S. U. SANTA EDITH DE LA CRUZ GONZÁLEZ
PROFESOR:
JOSE FERNANDO CASTRO DOMINGUEZ
Noviembre 2011.
T.S.U. Santa Edith De la Cruz González
1
INDICE
SERVIDOR SSL ................................................................................................................................ 2
INTRODUCCION ......................................................................................................................... 3
¿QUÉ ES WEBMIN? .................................................................................................................... 4
INSTALACION DE WEBMIN EN UBUNTU ......................................................................................... 5
INSTALACION DE WEBMIN ......................................................................................................... 6
EMITIR SSL A SERVIDOR APACHE2 EN UBUNTU ............................................................................ 17
¿QUÉ ES EL SERVIDOR APACHE? ............................................................................................... 18
INSTALACION DE APACHE2 SOBRE UBUNTU 10.4 ..................................................................... 19
EMISION DEL CERTIFICADO SSL A APACHE2 CON WEBMIN ....................................................... 22
CONCLUSIONES ............................................................................................................................ 28
T.S.U. Santa Edith De la Cruz González
2
SERVIDOR SSL
________________________________________________________________________________
T.S.U. Santa Edith De la Cruz González
3
INTRODUCCION
SSL (Secure Socket Layers) es un proceso que administra la seguridad de las
transacciones que se realizan a través de Internet. El estándar SSL fue
desarrollado por Netscape, junto con Mastercard, Bank of America, MCI y Silicon
Graphics. Se basa en un proceso de cifrado de clave pública que garantiza la
seguridad de los datos que se envían a través de Internet. Su principio consiste en
el establecimiento de un canal de comunicación seguro (cifrado) entre dos equipos
(el cliente y el servidor) después de una fase de autenticación.
El sistema SSL es independiente del protocolo utilizado; esto significa que puede
asegurar transacciones realizadas en la Web a través del protocolo HTTP y
también conexiones a través de los protocolos FTP,POP e IMAP. SSL actúa como
una capa adicional que permite garantizar la seguridad de los datos y que se ubica
entre la capa de la aplicación y la capa de transporte (por ejemplo, el protocolo
TCP).
De esta forma, SSL es transparente para el usuario (es decir, el usuario puede no
conocer que está usando SSL). Por ejemplo, un usuario que utiliza un navegador
de Internet para conectarse a una página Web de comercio electrónico protegido
por SSL enviará datos cifrados sin tener que realizar ninguna operación especial.
Actualmente, casi todos los navegadores soportan el protocolo SSL. Por
ejemplo, Netscape Navigator muestra un candado cerrado para indicar la conexión
a un sitio Web con seguridad SSL y un candado abierto en el caso opuesto, en
tanto que Microsoft Internet Explorer muestra un candado sólo si establece una
conexión con un sitio Web SSL.
En Internet Explorer En Mozilla
Un servidor de Web seguro tiene una dirección URL que empieza con https://, en
el que la "s" obviamente significa secured, seguro.
T.S.U. Santa Edith De la Cruz González
4
¿QUÉ ES WEBMIN?
Webmin es una interfaz web para la administración de sistemas Linux (Unix).
Usando cualquier navegador podemos configurar las cuentas de usuario, Apache,
DNS, apagado del equipo, compartir archivos, etc. Además, elimina la necesidad
de editar manualmente los archivos de configuración (como /etc/passwd) y nos
permite manejar el sistema desde el propio equipo o remotamente.
Webmin está escrito en Perl y ejecuta tanto su propio proceso como su servidor
web por lo que no necesitamos tener instalado Apache o cualquier otro servidor
web, pero convive sin problemas con ellos. Por defecto se comunica a través del
puerto TCP 10.000, y puede ser configurado para usar SSL.
T.S.U. Santa Edith De la Cruz González
5
INSTALACION DE WEBMIN
EN UBUNTU ________________________________________________________________________________
T.S.U. Santa Edith De la Cruz González
6
INSTALACION DE WEBMIN
La instalación de Webmin se ira haciendo por los siguientes pasos:
1. Se actualizan los repositorios de la aplicación en la que se instalara el
Webmin:
2. Se actualizan todo lo que tenemos instalado:
T.S.U. Santa Edith De la Cruz González
7
3. Se instalan los paquetes que hacen falta para la instalación de Webmin y
configurar el SSL:
4. Descargamos la última versión de Webmin que viene siendo la 1.5.7.0:
T.S.U. Santa Edith De la Cruz González
8
5. Se procede a instalar el Webmin:
T.S.U. Santa Edith De la Cruz González
9
6. Una vez instalado se puede acceder a Webmin escribiendo en el
navegador: https://localhost:10000 y nos manda un advertencia de
seguridad y le daremos clic en Añadir excepción:
T.S.U. Santa Edith De la Cruz González
10
7. Nos aventara la siguiente ventana, en la cual daremos primero clic en
Obtener Certificado y en segundo lugar le daremos clic en el botón
Confirmar excepción de seguridad:
8. Ahora ya se puede iniciar sesión en Webmin. Nos pedirá el nombre de
usuario y contraseña o cualquier otro usuario del sistema que tenga
privilegios de administrador y se da clic en Ingresar:
T.S.U. Santa Edith De la Cruz González
11
9. Ya tenemos acceso a la interfaz de Webmin:
T.S.U. Santa Edith De la Cruz González
12
10. Ahora en el menú que nos muestra daremos clic en Webmin y luego en el
submenú buscamos Configuración de Webmin y cuando nos muestre la
interfaz de configuración haremos clic en Encriptación SSL:
T.S.U. Santa Edith De la Cruz González
13
11. Al dar clic en Encriptación SSL nos avienta la siente ventana y es en las
que el usuario puede configurar el SSL para incrementar la seguridad de
su servidor en el uso de conexiones con encriptación. Dentro de la primera
pestaña del menú podremos desactivar el modulo, como así también si
queremos ingresar algún certificado en forma manual:
T.S.U. Santa Edith De la Cruz González
14
12. En la siguiente pestaña podremos ver la información referente al certificado
actual del sistema. El cual es el que tuvimos que validar para poder
comenzar la primer sesión con Webmin:
13. En la siguiente pestaña “Per-IP” es para que en caso en que necesitemos
utilizar distintos certificados para cada dirección IP.
T.S.U. Santa Edith De la Cruz González
15
14. En “Create Certificate” podremos crear nuestros propios certificados,
permitiendo no solo introducir nueva información corporativa sino que
también el largo de clave, como así también la utilización en forma
inmediata de la clave generada:
T.S.U. Santa Edith De la Cruz González
16
15. Pueden presentarse casos en los que se requiera autenticar con
certificados de terceros o generados anteriormente desde otro equipo se
deberá usar las opciones de la pestaña “Upload Certificate”:
T.S.U. Santa Edith De la Cruz González
17
EMITIR SSL A SERVIDOR
APACHE2 EN UBUNTU ________________________________________________________________________________
T.S.U. Santa Edith De la Cruz González
18
¿QUÉ ES EL SERVIDOR APACHE?
Apache es un servidor Web, es el más usado en los Sistemas Linux. Los
servidores web se usan para servir páginas web solicitadas por equipos cliente.
Los clientes normalmente solicitan y muestran páginas web mediante el uso de
navegadores web como Firefox, Opera o Mozilla.
Los usuarios introducen un Localizador de Recursos Uniforme (Uniform Resource
Locator, URL) para señalar a un servidor web por medio de su Nombre de
Dominio Totalmente Cualificado (Fully Qualified Domain Name, FQDN) y de una
ruta al recurso solicitado. Por ejemplo, para ver la página web del sitio web de
Ubuntu, un usuario debería introducir únicamente el FQDN. Para solicitar
información específica acerca del soporte de pago, un usuario deberá introducir el
FQDN seguido de una ruta.
El protocolo más comunmente utilizado para ver páginas Web es el Hyper Text
Transfer Protocol (HTTP). Protocolos como el Hyper Text Transfer Protocol sobre
Secure Sockets Layer (HTTPS), y File Transfer Protocol (FTP), un protocolo para
subir y descargar archivos, también son soportados.
Los servidores web Apache a menudo se usan en combinación con el motor de
bases de datos MySQL, el lenguaje de scripting PHP, y otros lenguajes de
scripting populares como Python y Perl. Esta configuración se
denomina LAMP (Linux, Apache, MySQL y Perl/Python/PHP) y conforma una
potente y robusta plataforma para el desarrollo y distribución de aplicaciones
basadas en la web.
T.S.U. Santa Edith De la Cruz González
19
INSTALACION DE APACHE2 SOBRE UBUNTU 10.4
A continuación explicare como instalar Apache2 en Ubuntu 10.4 y también se
emitirá el correspondiente certificado SSL en el servidor Apache2.
Para que quede un poco más claro el Protocolo SSL nos brinda un servicio de
Seguridad de Encriptación en los datos confidenciales que viajan a través del
negocio electrónico o de comercio, es utilizado principalmente por los bancos para
saber que es un sitio seguro, sin más ni más procedemos a la instalación del
servidor Apache2.
Significa dar enter: ↵
PASOS: DESCRIPCIÓN:
1. Abrimos una terminal en la cual introduciremos el siguiente comando:
sudo apt-get install apache2 ↵ , nos pedirá el password para poder
instalar el servidor.
T.S.U. Santa Edith De la Cruz González
20
2. Habilitamos el modulo SSL con el comando:
sudo a2enmod ssl ↵ y nos mandará un mensaje como aparece en la
siguiente pantalla y eso significa que el modulo está habilitado.
3. Habilitamos la configuración SSL por default:
sudo a2ensite default-ssl ↵
T.S.U. Santa Edith De la Cruz González
21
4. Reiniciamos al servidor Apache2:
sudo /etc/init.d/apache2 restart ↵
Con los primeros 4 pasos queda habilitado nuestro certificado en el servidor
Apache puedes verificar entrando al navegador primero como http://localhost/ o
http://127.0.0.1/ y en segundo entrando con la url: https://localhost/ o
https://127.0.0.1/ y veras la diferencia entre http y https.
T.S.U. Santa Edith De la Cruz González
22
EMISION DEL CERTIFICADO SSL A APACHE2 CON WEBMIN
Para emitir la certificación se seguirán los siguientes pasos:
PASOS: DESCRIPCIÓN:
1. Para crear la llaves primero que nada debemos poner el comando para
subir en la carpeta que se va a crear la llave:
cd /etc/apache2 ↵
sudo openssl genrsa –des3 –out server.key 1024 ↵
Luego de poner el segundo comando nos pedira una clave y la
introducimos y nos pedirá verificarla.
T.S.U. Santa Edith De la Cruz González
23
2. Creamos el nuevo certificado con la llave SSL:
sudo openssl req –new –key server.key –out server.csr ↵
Mediante una serie de preguntas que nos ira pidiendo se va a emitir
nuestro certificado, sin olvidar poner la contraseña que creamos en el
primer paso.
3. Creamos un certificado autofirmado:
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key
-out server.crt ↵
Y de igual manera nos pedirá introducir la contraseña
T.S.U. Santa Edith De la Cruz González
24
4. Aun seguimos en etc/apache2$ para cambiar de carpeta la llave y el
certificado con los siguientes comandos:
sudo cp server.crt /etc/ssl/certs/ ↵
sudo cp server.key /etc/ssl/private/ ↵
5. Abrimos el archivo de configuración default-ssl, primero que nada
debemos subir a la carpeta donde se encuentra el archivo default-ssl:
cd /etc/apache2/sites-available ↵
y luego introduciremos el segundo comando que sirve para abrir el
archivo y modificarlo:
sudo nano default-ssl ↵
T.S.U. Santa Edith De la Cruz González
25
6. En el archivo default-ssl se pondran las siguientes lineas y habilitamos
la siguiente configuración:
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
Después guardamos los cambios con ctrl+c y salimos ctrl+x:
7. Habilitamos el archivo con el siguiente comando estando en raíz:
sudo a2ensite default-ssl ↵
T.S.U. Santa Edith De la Cruz González
26
8. Se reinicia apache con el siguiente comando:
sudo /etc/init.d/apache2 restart ↵
9. En nuestro navegador ponemos: http://localhost/ nos manda a la página
del servidor apache sin ningún certificado.
T.S.U. Santa Edith De la Cruz González
27
10 En nuestro navegador pondremos: https://localhost/ y nos manda a la
página del servidor Apache con certificado:
T.S.U. Santa Edith De la Cruz González
28
CONCLUSIONES En esta documentación básicamente hemos visto el procedimiento de cómo
instalar el Webmin para hacer uso del SSL en Ubuntu desde la terminal mediante
comandos.
La instalación se llevó a cabo de manera fácil y sencilla, y como hemos explicado
anteriormente el SSL es una clave pública que nos sirve para que los datos viajen
de manera cifrada en el negocio electrónico.
En estos tiempos la seguridad es fundamental para muchas transacciones.
Mediante el uso de SSL se ha conseguido aumentar la seguridad en las
conexiones de cliente-servidor.
SSL nos ayuda a mantener la confidencialidad e integridad de los datos durante la
comunicación, protegiendo así datos los datos confidenciales como números de
tarjetas de crédito en las diferentes transacciones del comercio electrónico, envió
de información privada, en una intranet o a través de internet o una organización.
Aunque no hay que olvidar que los ataques pueden ser múltiples y cada vez más
sofisticados, lo que obliga a una permanente investigación de mejora de los
diferentes protocolos de seguridad, se puede decir que un uso correcto de estos
protocolos nos proporciona hoy en día un nivel de seguridad "bastante aceptable".
También se pudo apreciar cómo se llevó a cabo la emisión de un certificado a un
servidor web, que tal vez no es muy laborioso pero se tuvo que investigar para
poderlo realizar.