bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


waf

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
waf [2022/03/05 19:53]
enrique_mieza_sanchez [WAF: Web Application Firewall]
waf [2024/04/15 16:24] (actual)
enric_mieza_sanchez [WAF: Web Application Firewall]
Línia 1: Línia 1:
 ====== WAF: Web Application Firewall ====== ====== WAF: Web Application Firewall ======
  
-Un WAF o Web Application Firewall és un tipus particular de //Fireweall// que monitoritza el contingut del servei web HTTP , permetent bloquejar l'accés en cas que es detectin atacs com [[SQL injection]], cross-site-scripting (XSS), i similars.+Un WAF o Web Application Firewall és un tipus particular de //firewall// que monitoritza el contingut del servei web HTTP, permetent bloquejar l'accés en cas que es detectin atacs com [[SQL injection]], cross-site-scripting (XSS), i similars.
  
-{{ waf.png?600 }}+ 
 +{{ waf.png?550 }} 
 + 
 +Referencies 
 +  * [[Proxy Invers]] 
 +  * [[https://dementium2.com/administrador-neto/12-mejores-firewalls-de-aplicaciones-web-waf/|12 mejores aplicaciones WAF]] incloent versions //hardware// i //software//
 +  * [[https://diegooo.com/aws-athena-consulta-de-registro-cloudfront-y-waf/|WAF en AWS Cloud]]
  
 {{tag> #FpInfor #Ciber #Ceti #CiberMp03 #CetiMp03 #Asix #AsixMp17 web server mod_security waf firewall }} {{tag> #FpInfor #Ciber #Ceti #CiberMp03 #CetiMp03 #Asix #AsixMp17 web server mod_security waf firewall }}
Línia 10: Línia 16:
  
 ===== mod_security en Apache ===== ===== mod_security en Apache =====
 +
 +Farem una pràctica amb Apache2 en Ubuntu LTS i amb el clàssic mod_security.
  
 Referències: Referències:
-  * [[https://adalmau.notion.site/LAB-3-9-WAF-Web-Application-Firewall-19d81908114e4af79327e44ee799d1a1#5ceb0c600d794b039cbb217a985fc061|LAB mod_security i Docker d'Anton Dalmau]]+  * [[https://adalmau.notion.site/LAB-3-9-WAF-Web-Application-Firewall-19d81908114e4af79327e44ee799d1a1#5ceb0c600d794b039cbb217a985fc061|LAB mod_security amb Nginx i Docker d'Anton Dalmau]]
   * [[https://owasp.org/www-project-modsecurity-core-rule-set/|OWASP CRS - Code Rule Set]]   * [[https://owasp.org/www-project-modsecurity-core-rule-set/|OWASP CRS - Code Rule Set]]
 +  * [[https://resources.infosecinstitute.com/topic/analyzing-mod-security-logs/|Com analitzar els logs de mod_security]]
 +  * [[https://www.linuxbabe.com/security/modsecurity-apache-debian-ubuntu|mod_security en Ubuntu]] un tutorial més complert.
  
 +==== Instal·lació ====
 +  * Crea una màquina Ubuntu LTS. Pots utilitzar [[Vagrant]].
 +  * Instal·la Apache2 i **libapache2-mod-security2**
 +  * Activa mod_security amb<code>$ sudo a2enmod security2</code>
 +  * Activa la configuració estàndard de OWASP a la carpeta ''/etc/modsecurity'':<code># cp modsecurity.conf-recommended modsecurity.conf</code>
 +  * Reinicia Apache
  
-Guia: +==== Monitoritzant el trànsit ==== 
-  - Crea una màquina Ubuntu LTS +  * Visita la pàgina principal via IP (no amb nom de domini)
-  - Instal·la Apache2 i libapache2-mod-security2 +    * Mira els logs d'Apache. Veus algun arxiu especial? Què hi ha? (a grans trets) 
-  - Activa mod_security amb<code>$ sudo a2enmod security2</code> +    * Quanta informació hi ha aparegut amb una sola request? 
-  - Activa la configuració estàndard de OWASP fent<code># cp modsecurity.conf-recommended modsecurity.conf</code> +    * De què se'ns informa a ''errors.log''? 
-  - Reinicia Apache +    * Si apareix algun advertiment, quina severitat té? 
-  - Visita la pàgina principal i mira els logs d'Apache. +  Fes una pàgina amb un formulari (només cal el HTML, sense PHP ni processament) a <code>/var/www/html</code> 
-    * Veus algun arxiu especial? Què hi ha? Quanta informació hi ha aparegut amb una sola request? +  Intenta un atac de [[SQL injection]] com per exemple:<code>dades' OR 1=1; -- </code> 
-    * De què se'ns informa a ''errors.log''? Quina severitat té? +  De moment hauria de permetre enviar les dades igualment (està en mode //DectectionOnly//)
-  Fes una pàgina amb un formulari (només cal el HTML, sense PHP ni processament) a <code>/var/www/html</code> +  Mira els logs d'Apache. Quina severitat té ara l'avís?
-  Intenta un atac de [[SQL injection]] com per exemple:<code>dades' OR 1=1; -- </code> +
-  De moment hauria de permetre enviar les dades igualment. +
-  Mira els logs d'Apache. Quina severitat té ara l'avís? +
-  - Activem la política de bloqueig enlloc de només monitorització. Anem a ''/etc/modsecurity/modsecurity.conf'' i canviem:<code>SecRuleEngine DetectionOnly</code> per <code>SecRuleEngine On</code> +
-  - Reinicia Apache +
-  - Comprova ara què passa si intentes un atac de SQL injection.+
  
 +==== Bloqueig d'atacs ====
 +  * Activem la política de bloqueig enlloc de només monitorització. Anem a ''/etc/modsecurity/modsecurity.conf'' i canviem:<code>SecRuleEngine DetectionOnly</code> per <code>SecRuleEngine On</code>
 +  * Reinicia Apache
 +  * Comprova ara què passa si intentes diversos atacs de SQL injection. Com et bloqueja l'atac?
  
 +\\
  
 +===== Exercici =====
  
 +<WRAP todo>
 +Si has fet el 1r exerici de [[SQL injection]], pots modificar el Dockerfile que apareix al repositori per tal que l'Apache inclogui el ''mod_security''. Seguint les passes d'aquest tutorial hauria de ser molt similar.
  
 +Modifica-ho en el teu repositori on has fet el //fork// del projecte.
 +
 +</WRAP>
 +
 +\\
  
waf.1646510025.txt.gz · Darrera modificació: 2022/03/05 19:53 per enrique_mieza_sanchez