Mostrando entradas con la etiqueta apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta apache. Mostrar todas las entradas

martes, 31 de mayo de 2016

Certificado selfsigned para apache


En cualquier directorio temporal creamos la RSA private key

openssl genrsa -des3 -out server.key 1024


Creamos el csr (Certificate signing request)

openssl req -new -key server.key -out server.csr


Quitamos la palabra de paso para que apache no nos la pida cada  vez que se inicia.

mv server.key server.key.org
openssl rsa -in server.key.org -out server.key



Creamos el certificado selfsigned

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


Luego copiamos el server.crt en la ruta /etc/pki/tls/certs/server.crt
y el server.key en /etc/pki/tls/private/server.key

la configuración de ssl en apache se encuentra el el fichero /etc/httpd/conf.d/ssl.conf

tendremos que configurar estas entradas:

SSLCertificateFile /etc/pki/tls/certs/server.crt

SSLCertificateKeyFile /etc/pki/tls/private/server.key


Fuente: http://www.zunisoft.com/2008/10/kb-xampp-ssl-configuration-on-ubuntu.html

jueves, 3 de septiembre de 2015

Apache: baneo de ips por códigos de error y palabras clave.

Este "jail" es sencillo y efectivo permite banear las ips en el momento aparece en el log de accesos de apache alguno de los códigos de error que especificamos en el "failregex" del filtro.
Es necesario incluir en "ignoreregex" las palabras clave de aquellos falsos ataques, errores que provoca por ejemplo owncloud con las subidas de instantáneas (cuando tenemos sincronizado nuestro android para que suba las fotos automáticamente).
Añadimos las siguientes líneas al archivo de conguración jail.local

[apache-misc]
enabled = true
filter = apache-misc
action = iptables-multiport[name=apache-misc,port="80,443"]
sendmail-whois[name=apache-misc, dest=alertas@micorreo.com, sender=alertas@micorreo.com, sendername="Fail2Ban"]
logpath = /opt/lampp/logs/access_log
maxretry = 1

maxretry: Especifica cuantos intentos vamos a dejar antes de banear la ip.

Ahora creamos el archivo de filtrado en /etc/fail2ban/filters.d/apache-misc.conf y dentro de el colocamos el siguiente contenido:

[Definition]
failregex = .*"[A-Z]* /(cms|user|muieblackcat|db|cpcommerce|wp-login|joomla|awstatstotals|wp-content|wp-includes|pma|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|pmadb|phpmyadmin1|phpmyadmin2).*"
.*\" (502|500|417|416|415|414|413|412|404|405|403|401|400)
ignoreregex = .*\"GET \/.*(ciruela|press|mailto|domestic|word|externalShares).*
.*\"HEAD \/.*SubidasInstant.*
.*\"GET \/.*SubidasInstant.*

Todas estas palabras clave son a modo de ejemplo. Son las que podría un atacante intentar localizar.
Lo que si me ha funcionado son las dos últimas líneas para evitar los falsos errores 404 que provocaba owncloud.

Reiniciamos fail2ban

service fail2ban restart

Fuente:http://www.linux-magazine.com/Online/Features/Intrusion-Detection-with-fail2ban

Apache: mitigando ataque DOS con fail2ban

Básicamente configurando de este modo fail2ban conseguimos parar a un atacante que haga exageradas peticiones GET o POST que podrían dejar frito nuestro servidor. Añadimos las siguientes líneas al archivo de conguración jail.local

[http-dos]
enabled = true
filter = http-dos
action = iptables-multiport[name=http-dos,port="80,443"]
sendmail-whois[name=http-dos, dest=alertas@micorreo.com, sender=alertas@micorreo.com, sendername="Fail2Ban"]
logpath = /opt/lampp/logs/access_log
maxretry = 300
findtime = 300
bantime = 300

maxretry: Especifica cuantos intentos vamos a dejar antes de banear la ip.
findtime: Es el período de tiempo en segundos que estamos contando los “reintentos” (300 segundos = 5 minutos).
bantime: Es el tiempo que debemos esperar para liberar las peticiones, osea el tiempo que la IP estará baneada, en este caso se trata de 5 minutos.

Ahora creamos el archivo de filtrado en /etc/fail2ban/filters.d/http-dos.conf y dentro de el colocamos el siguiente contenido:

[Definition]
failregex = .*\"(GET|POST).*
ignoreregex =

Reiniciamos fail2ban

service fail2ban restart

Una manera sencilla de comprobar el funcionamiento de nuestra configuración anterior es utilizando ab (Apache Benchmark - parte del paquete apache2-utils) , así:

ab -n 500 -c 10 http://tu-sitio-web-punto-com:80/

Fuente:http://rootear.com/seguridad/mitigar-ataques-ddos-fail2ban

miércoles, 12 de agosto de 2015

Owncloud - The "Strict-Transport-Security" HTTP header is not configured . . .

Editamos httpd.conf. Con este Header el servidor web informa a los navegadores que nunca cargue una página utilizando http. Deben cagar páginas solo como https

Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

Para redireccionar los accesos http a https

<VirtualHost *:80>
   ServerName localhost
   Redirect permanent / https://mi.url/
</VirtualHost>,

Fuente: https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/harden_server.html