Manual de seguridad, optimización de Apache, PHP y MySQL

Curso de seguridad php y mysql
optimización de Apache, PHP y MySQL

Completisimo Curso de aprendizaje de Mantenimiento, seguridad & Optimización de un Portal Web basado en Lenguaje PHP. Excelente contenido , material ideal para todos aquellos Webmaster que programan sus webs en este magnifico lenguaje!!
Consta de dos partes bien diferenciadas. La primera -teórica- describe el estado del arte de la seguridad en aplicaciones web así como conceptos generales de seguridad informática. Se incluyen  también algunas referencias y breves descripciones de herramientas útiles para la auditoría de aplicaciones web, además de una guía de administración para la creación de un entorno seguro bajo Apache, PHP y MySQL. La segunda parte -práctica- consiste en auditar el código de dos portales  web de características similares, depurarlo, proponer mejoras funcionales, y posteriormente  implementarlas. Como parte del desarrollo, se han escrito y experimentado con rutinas de protección  genérica contra “injecting”, para PHP. Continuar leyendo «Manual de seguridad, optimización de Apache, PHP y MySQL»

Hacer backup en plesk de todo el servidor con pleskbackup

Aqui os dejo el como hacer backup a todo un servidor web corriendo con el famoso panel de control Plesk:

Ejecutando la siguiente linea de comandos se hace un backup de todos los dominios, clientes, emails, en un servidor Plesk,  pero se omiten los archivos logs de los diferentes servicios:

pleskbackup –server -c –skip-logs

Podeis mirar las distintas opciones que nos da el comando pleskbackup en la guia oficial de la linea de comandos de Plesk.

Proteger carpetas en servidor web Apache con .htaccess y .htpasswd

Aprende a proteger directorios de tu página web mediante archivos .htaccess de una forma sencilla. Algunos paneles de control tienen la opción integrada, pero nunca está de más saber hacerlo manualmente. Sobre todo porque así es más extendible.

Requisitos

  • Al menos la enseñanza primaria o equivalente
  • Tener conceptos mínimos sobre .htaccess y .htpasswd y como editarlos
  • Necesidad de proteger una carpeta del alcance de los mirones, o encontrar diversión en hacerlo
  • 7 minutos de su tiempo

Conociendo a .htaccess y .htpasswd

Así se llaman los dos archivos más importantes para modificar cosas en nuestro servidor. No tienen ni extensión ni nombre, simplemente son así. Contienen texto plano, por lo que pueden ser editados con el Bloc de Notas, el Programmers Notepad, Gedit, nano, wim, … cualquier cosa que trabajo con texto plano (Word NO) El archivo .htaccess además de para proteger carpetas, sirve entre otras cosas para utilizarlo con el mod_rewrite de Apache y nos salgan urls cortas, como la de este tutorial . En esta ocasión, .htaccess establecerá el tipo de permiso necesario y qué usuarios pueden acceder a qué archivos, mientras que .htpasswd guardará el nombre de usuario y contraseña de cada uno de ellos.

.htaccess

Continuar leyendo «Proteger carpetas en servidor web Apache con .htaccess y .htpasswd»

Valores para optimizar servidor Apache

Antes de pasar nuestro servidor Web a entornos de producción en Internet deberíamos modificar:
Parámetros por defecto de timeout y keep Alive

Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

Un timeout de 2 minutos para una página web es demasiado, al igual que 15 segundos para mantener una conexión Keep Alive.

Timeout 60
KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 5

Por defecto damos demasiada información de nuestro servidor cambiamos:

ServerSignature On
ServerTokens OS

Por

ServerSignature Off
ServerTokens Prod

No space left on device: mod_rewrite… Solución para servidor web Apache

servidor apache

servidor apache

En alguna ocasión me he topado con que al reiniciar Apache después de matar todos los procesos con killall -9 httpd el servidor Apache no quiere arrancar, Apache start [FALLA], dando en el log el error de más arriba. Se trata de que Apache no ha liberado recursos del sistema y debemos hacerlo nosotros. En concreto se trata de semáforos. Linux tiene dos comandos que me ayudan a hacer esto (ipcs e ipcrm). Por si acaso antes vamos a eliminar los procesos zoombie:

Ver procesos zoombie:

# ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’

Matar procesos zoombie (tardará un poco):

# kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’ | awk ‘{print $2}’`

Este es el error al reiniciar o arrancar Apache:

[crit] (28) No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

Solución:

Revisar los semáforos de Apache

# ipcs -s | grep apache

Eliminamos todos los semáforos de los procesos de Apache

# ipcs -s | grep apache | perl -e ‘while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}’

Iniciar Apache

# service httpd start