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»

Instalar Zend Optimizer 3.2.8 en CentOS 5 32bits y 64bits

A continuación os dejo aqui los pasos a seguir para instalar y configurar Centos 5 32 bit.

cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.2.8/ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
tar -zxvf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
cd ZendOptimizer-3.2.8-linux-glibc21-i386
./install

Y aqui os dejo aqui los pasos a seguir para instalar y configurar Centos 5 64bit.

cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.2.8/ZendOptimizer-3.2.8-linux-glibc23-x86_64.tar.gz
tar -zxvf ZendOptimizer-*.tar.gz
cd ZendOptimizer-*
./install.sh

Solamente he tenido la oportunidad de hacer la instación en Centos 5 64bit con el servidor corriendo con Plesk 9.0.1 y no he tenido ningún problema, es sumamente fácil y sencillo y para toda la familia 😀

Para comprobar que teneis activo el módulo de php Zend optimizer debereis tipear:

php -v

Si lo teneis activo os saldra algo parecido a esto:

PHP 5.2.8 (cli) (built: Jan  5 2009 16:59:12)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies

Si teneis alguna duda decirlo ehhhh¡¡¡¡¡¡ un saludoooo sysadmins¡¡¡¡¡¡

Optimizar PHP : Instalar Zend Optimizer + Suhosin + XCache

A la hora de ejecutar PHP de forma eficiente, nos toca aprender un par de cosas sobre cachés, desactivar logs, etc. de igual forma que Apache. En este artículo describo directamente como cambiar algunas cuestiones de configuración, instalar XCaché, Zend Optimizer y Suhosin para que se ejecuten con PHP. Recomiendo tomarse un tiempo con cada tema para investigarlo bien y comprenderlo.

La configuración

En un servidor en producción, convienen los siguientes cambios en la configuración de php.ini:

Nos aseguramos que no desvelamos la versión de PHP:

expose_php = Off

Aumentar el límite de memoria si sabemos que algún script puede necesitarla:

memory_limit = 64M

Nos aseguramos de no mostrar ningún tipo de error si algo falla (para evitar desvelar paths y otra información que pudiera ser sensible)

display_errors = Off

Y si queremos ganar algo de velocidad, no es mala idea desactivar el logging de errores también. Se supone que el servidor en producción no es para debugging:

Continuar leyendo «Optimizar PHP : Instalar Zend Optimizer + Suhosin + XCache»

Saber que locale están instalados en el servidor con PHP

Si intentamos mostrar una fecha en PHP es posible que nos encontremos que salga con el formato:

July 31, 2007

Para que se muestre correctamente debemos usar el “locale” correcto que haga que se muestre la fecha en el formato adecuado. Los locales más habituales son del estilo de éstos:

es_ES
es_ES.ISO_8859-1

Para establecer un locale se usa la siguiente función:

@setlocale(LC_TIME, 'es_ES');

El problema es que hay que hay que poner el nombre exacto del locale ya que de otra forma no funcionará. Aquí tenéis un sencillo script en PHP que te ayudará a saber qué locales están instalados en tu servidor:

<?php
echo "<hr><br>'Locale' disponibles:<br>";
echo '<pre>';
system('locale -a');
echo '‘;
?>

Si quieres que se muestren sólo los españoles:

<?php
echo "<hr><br>'Locale' disponibles:<br>";
echo '<pre>';
system('locale -a | grep -i es');
echo '‘;
?>