Diferència entre revisions de la pàgina «Posada en producció - G1»
Línia 20: | Línia 20: | ||
* <b>Limit Login Attempts Reloaded</b> plugin muy útil para evitar ataques de fuerza bruta, implementando un limite en los intentos de acceso de usuario. | * <b>Limit Login Attempts Reloaded</b> plugin muy útil para evitar ataques de fuerza bruta, implementando un limite en los intentos de acceso de usuario. | ||
− | [[Fitxer:Limitlogin.PNG| | + | [[Fitxer:Limitlogin.PNG|400px|Plugin Limit Login]] |
+ | |||
+ | Configuración del plugin, con el fin de evitar ataques de fuerza bruta: | ||
+ | |||
+ | [[Fitxer:Ajustes_plugin_limit_acces.PNG|350px|Plugin Limit Login Configuración]] | ||
<h2> 27. Implementar HTTPS y HSTS (HTTPS only) en cloud externo.</h2> | <h2> 27. Implementar HTTPS y HSTS (HTTPS only) en cloud externo.</h2> |
Revisió del 16:52, 29 març 2022
Tornar a Projecte IETI Cloud - Grup 1.
26. Puesta en producción web higiene postural dockeritzada en cloud externo (Azure, AWS)
Debemos realizar lo mismo que hicimos en local, crear un directorio wp y dentro de el tendremos el docker-compose.yml y los otros dos ficheros, con el fin de poner una dificultad más a la hora de encontrar datos sensibles, como las contraseñas.
Este seria el directorio /wp:
. ├── docker-compose.yml ├── mysql_password_DB.txt └── mysql_password_root.txt
A continuación, utilitzamos el comando siguiente:
sudo docker-compose up -d
Ahora tenemos creado nuestra pagina de wordpress, podemos acceder desde la dirección ip de nuestra maquina de azure con el puerto 8000.
20.91.207.181:8000
26.1 Seguridad en nuestra pagina higiene postural/wordpress
Con el fin de mejorar la seguridad ante possibles amenazas, vamos a implementar algunos plugins.
- Limit Login Attempts Reloaded plugin muy útil para evitar ataques de fuerza bruta, implementando un limite en los intentos de acceso de usuario.
Configuración del plugin, con el fin de evitar ataques de fuerza bruta:
27. Implementar HTTPS y HSTS (HTTPS only) en cloud externo.
En primer lugar abriremos los puertos en azure:
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https 8000/tcp open http-alt
Compraremos un dominio gratuito en freenom, donde tambien añadiremos un subdominio:
cloud-ieti-jas.tk
www.cloud-ieti-jas.tk
Nos conectamos a la maquina por ssh:
ssh -i Wordpress_keyNuevo.pem [email protected]
Instalamos apache y certbot.
Tendremos que activar estos modulos:
a2enmod proxy a2enmod proxy_http a2enmod headers a2enmod ssl a2enmod rewrite
A continuación debemos generar el certificado para nuestra pagina web de higiene postural, implementando el clerbot:
sudo certbot --apache -d www.cloud-ieti-jas.tk
Nos generara un nuevo fichero de configuración (sitio), donde encontraremos añadidos los certificados ssl, aunque todavia debemos añadir algunas instrucciones.
/etc/apache2/sites-available/cloud-ieti-jas-le-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName www.cloud-ieti-jas.tk ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined RequestHeader set X-Forwarded-Proto https RequestHeader set X-Forwarded-Port 443 ProxyPreserveHost On SSLEngine On SSLProxyEngine On ProxyPass / http://localhost:8000/ ProxyPassReverse / http://localhost:8000/ Header always set Strict-Transport-Security "max-age=15780000; includeSubDomains" Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.cloud-ieti-jas.tk/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.cloud-ieti-jas.tk/privkey.pem </VirtualHost> </IfModule> <IfModule mod_ssl.c> <VirtualHost *:80> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined RewriteEngine on RewriteCond %{SERVER_NAME} =cloud-ieti-jas.tk RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> </IfModule>
Una vez hecho, debemos deshabilitar y habilitar el sitio y reiniciar apache:
a2dissite cloud-ieti-jas-le-ssl.conf systemctl restart apache2 a2ensite cloud-ieti-jas-le-ssl.conf systemctl restart apache2
Resultado:
29. Monitorització en cloud extern
Application Insights
Application Insights es una característica de Azure Monitor que proporciona administración extensible del rendimiento de aplicaciones (APM) y supervisión para aplicaciones web en vivo. Los desarrolladores y DevOps profesionales pueden usar Application Insights para:
- Detectar automáticamente las anomalías de rendimiento.
- Ayudar a diagnosticar problemas mediante herramientas de análisis eficaces.
- Ver lo que hacen realmente los usuarios con las aplicaciones.
- Ayudar a mejorar continuamente el rendimiento y la facilidad de uso de las aplicaciones.
Application Insights:
- Admite una amplia variedad de plataformas, como .NET, Node.js, Java y Python.
- Funciona para aplicaciones hospedadas en el entorno local, híbrido o en cualquier nube pública.
- Se integra con procesos de DevOps.
- Tiene puntos de conexión a muchas herramientas de desarrollo.
- Puede supervisar y analizar la telemetría de aplicaciones móviles mediante la integración con Visual Studio App
Configuración
Test de Ping
Este TEST DE PING lo haremos para saber la conectividad de la pagina web.
30. Sistema de backups (nivell 0 + incrementals) i estimació costos
Configuración del sistema de Backups
1. Primero de todo creamos una directiva de Backup, con todos los parámetros que deseamos.
2.Esta seria nuestra configuración de los backup, en la que hemos elegido que se hagan las copias de seguridad cada día y a las 2AM, también hemos configurado que las instantáneas duren 5 días para no ocupar mucho espacio.
3.Ya tendríamos configurado los backup.
Hacemos una primera copia de seguridad, ya que nos recomienda Azure hacer una copia de seguridad inicial.
1. Elegimos cuanto tiempo queremos que sea permanente la copia de seguridad inicial.
2. Configuramos el backup inicial.
3. Ya tendriamos el primer backup realizado.
Estimación de costes
Se divide en dos tipos de coste, el coste por el servicio y el coste por GB :
Coste por el servicio del BACKUP
Coste por GB