ago 08 2011

Como regenerar el fichero httpd.conf

Category: Cpanel,apacheDavid González @ 19:23

Por un problema de espacio en disco, al realizar una tarea en el apache, el servidor se ha quedado sin espacio y no ha debido guardar correctamente el fichero de configuración (claro, todo esto lo sé a toro pasado).

El error que mostraba por pantalla al reiniciar apache era este:

no listening sockets available
shutting downUnable to open logs

Tras dar muchas vueltas, me he dado cuenta que el fichero de configuración de apache (httpd.conf) estaba vacío.

Por suerte, cpanel trae un script para regenerar este fichero. Guarda un fichero que es httpd.conf,v en el que guarda en texto plano, partes del fichero, fechas de modificaciones, el usuario que hizo los cambios, etc…

Para restaurar el fichero simplemente hay que ejecutar este script.

/scripts/rebuildhttpdconf

Entradas relacionadas

Etiquetas: , , ,


ago 05 2010

Compilar con módulo memcache de apache y php

Category: apacheDavid González @ 12:02

En un servidor con apache 2.0 y cpanel, tenía que meter el módulo memcache tanto de php como de apache.

Para compilar apache con este módulo, utilice el propio script de cpanel para recompilar /scripts/easyapache. Es muy sencillo de usar y en la lista de posibles módulos de apache apacere memcache. En cambio no aparece como módulo de php

Lo primero que intente es utilizar una solución que dio hace poco mi compañero sysadmin, en uno de sus post, con estas líneas:

root@tureceta [~]# cat /var/cpanel/easy/apache/rawopts/PHP.5.2.13
--enable-memcache
--enable-pcntl
--enable-sysvsem
--enable-sysvshm
--enable-sysvmsg

Lamentablemente no me funcionó (he de decir que sí me funcionó con otros módulos) y tuve que meter el módulo a mano, con estos sencillos pasos:

cd /usr/src/
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure
make
make install

Una vez que ha acabado, tenemos que modificar nuestro php.ini para indicar a php donde esta el módulo y así pueda cargarlo correctamente. En mi caso:

vim /usr/local/lib/php.ini
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
extension=memcache.so

Entradas relacionadas

Etiquetas: , ,


jul 12 2010

Deshabilitar regla del modsecurity para un sitio o dominio

Category: apacheDavid González @ 8:24

Ya vimos el otro día la receta para deshabilitar el modsecurity para un sólo dominio o sitio.

Si no queremos ser tan rudos y no es necesario, tenemos la posibilidad de deshabilitar una regla específica para un usuario o sitio.

Esto nos podría ser muy útil para alojamientos compartidos, en los que una regla “peligrosa” afecta a un usuario y este desea quitarla. Así el resto de cliente siguen protegidos.

Del mismo modo que vimos la otra vez, tendremos que modificar el virtual host con las siguientes líneas:

<ifmodule mod_security2.c>
  SecRuleRemoveById 1975856
</ifmodule>

Simplemente estamos indicando que si esta cargado el módulo del modsecurity, elimine la regla con Id 1975856.

Si nuestra regla no tuviera Identificador, podemos añadírselo sin ningún problema de esta forma

Antes:

#PHP Doc System Local File Inclusion Vulnerability
SecRule REQUEST_URI  "/index\.php" "chain"
SecRule ARGS:show "(\.\./\.\.|/)"

Después:

#PHP Doc System Local File Inclusion Vulnerability
SecRule REQUEST_URI  "/index\.php" "chain, id:1975856"
SecRule ARGS:show "(\.\./\.\.|/)"

Entradas relacionadas

Etiquetas: , ,


jul 06 2010

Deshabilitar módulo mod_security a un sólo usuario o por sitio

Category: apacheDavid González @ 8:30

A día de hoy, todas la medidas que se pueden adoptar para proteger un servidor son pocas. Una de las más conocidas y usadas bajo apache es modSecurity.

Mod_security es un firewall de aplicaciones Web que se ejecuta como un módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorizar el tráfico HTTP.

Existe la posibilidad de deshabilitar este módulo sólo a un usuario o a un sitio web modificando su virtualhost. No obstante quiero decir, que no aconsejo hacerlo, ya que dicho usuario será completamente vulnerable a ataques vía web.

Dependiendo de la configuración de apache, es posible realizar este modificación en el .htaccess de la propia home, pero por norma general las configuraciones “estandard” no lo permiten, así que sólo voy a explicar la opción de modificar el virtual host.

La solución pasa por añadir estas lineas en el virtual host del usuario o del sitio que queremos deshabilitar

<ifmodule mod_security2.c>
SecRuleEngine Off
</ifmodule>

Una vez hecho esto, habrá que reiniciar apache

/etc/init.d/httpd  restart

De esta forma, el dominio o dominios que accedan a este virtual host, no se verán afectados por las reglas configuradas en el modSecurity

Entradas relacionadas

Etiquetas: ,


abr 03 2010

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443

Category: LinuxDavid González @ 16:31

Alguna me ha pasado, que vas a reiniciar el apache de la forma habitual:

/etc/init.d/httpd restart

o

service httpd restart

y muestra este error:

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs

por alguna razón, existe algún procesos (que no es apache) que esta haciendo uso del puerto y el propio apache no puede matarlo para iniciarse nuevamente.

La solución es matar todos los procesos de apache y volver a arrancar:

killall -9 httpd
/etc/init.d/httpd start

o

service httpd start

Entradas relacionadas

Etiquetas: ,