anotaciones que no quiero recordar, ni olvidar

me

Apache

Nos vemos

Ratio: 1 / 5

Iniciar activoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Estamos en 2016 y últimamente he apuntado cosas en esta web, sólo 2 o 3 de veces al año.

Si no estoy por aquí, estoy en otro sitio, nos vemos!

(Aquí quedan las anotaciones)

Apache htaccess allow/deny no funciona: AllowOverride

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Si en determinados directorios, quizás en aplicaciones del servidor, las directivas, o algunas de ellas, modificadas por ti mismo en el htaccess, no funcionan, mira esto:
http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride

Básicamente, que las directivas funcionen, pueden modificarse para determinados directorios; y posiblmenete en las apps hayan creado sus archivos de configuración en /etc/apache2/conf.d/ o /etc/apache2/sites-enabled/

Puedes editar el archivo de configuración pertinente y cambiar AllowOverride None por AllowOverride All

Y la proxima vez que actualizes, revisar los cambios de los config si procede. O puedes crear un archivo con tus configuraciones:

Mostrar/Ocultar código bash

Ver código
vim /etc/apache2/conf.d/miconfiguracion.conf

Y poner dentro esto, que habilita las directivas sobre el directorio /

Mostrar/Ocultar código bash

Ver código
<Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
</Directory>

Ir al achivo de apache al final del todo:

Mostrar/Ocultar código bash

Ver código
vim /etc/apache2/apache.conf

poner:

Mostrar/Ocultar código bash

Ver código
Include conf.d/miconfiguracion.conf

Editar la página por defecto de Apache, el fichero de "It Works!"

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Pues nada, si no sabes donde está el fichero que se muestra por defecto en tu servidor (el "It Works!") y quieres editarlo, aquí tienes la chuleta ;)

Mostrar/Ocultar código bash

Ver código
vim /var/www/index.html

Acceder y proteger con contraseña el "Server Status"

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

De forma predetermonada Apache viene con  el modulo "mod_status" el cual nos permite controlar visualmente las conexiones activas. Pero está habilitado para locahost, 127.0.0.1, por lo que o usamos lynx por consola o no podemos verlo.

Lo primero que comprobar es que el servidor apunta donde toca, vamos que entrando al nombre del servidor o la ip en un navegador web, no cargamos la web de un cliente, si no el default, el mensaje de apache "It works!".
Si no es así deberemos editar cada sitio web vía panel, o via consoloa, para que no resuelva en * si no en la IP:

Mostrar/Ocultar código bash

Ver código
vim /etc/apache2/sites-enabled/000-default

Y poniendo la ip del servidor en lugar del asterisco, en la primera líena:

Antes:

Mostrar/Ocultar código bash

Ver código
<VirtualHost *:80>

Ahora:

Mostrar/Ocultar código bash

Ver código
<VirtualHost XXX.XXX.XXX.XXX:80>

Una vez hecho esto podemos reiniciar apache para ver que todo vuelve a funcionar como toca:

Mostrar/Ocultar código bash

Ver código
apache2ctl restart

 Una vez hecho esto, vamos a editar la configuración del modulo status:

Mostrar/Ocultar código bash

Ver código
vim /etc/apache2/mods-enabled/status.conf

Y cambiaremos el tinerior del location, que debe ser cómo esto:

Mostrar/Ocultar código bash

Ver código
<Location /server-status>
        SetHandler server-status
        Order Deny,Allow
        Deny from all
        Allow from localhost ip6-localhost
</Location>

Por esto:

Mostrar/Ocultar código bash

Ver código
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Satisfy Any
 
 
    Allow from localhost ip6-localhost
 
 
    AuthType basic
    AuthName "Apache status"
    AuthUserFile /etc/apache2/passwd-server-status
    Require valid-user
</Location>

Guardamos, cerramos y sólo nos queda crear el fichero del usuario y la contraseña, lo hacemos con este comando, pero OJO, camia el USUARIOXXX por el que tu quieras.

Mostrar/Ocultar código bash

Ver código
htpasswd -c /etc/apache2/passwd-server-status USUARIOXXX

Mostrar/Ocultar código bash

Ver código
apache2ctl restart

Y entramos vía navegador web:

Mostrar/Ocultar código bash

Ver código
http://IPoNOMBREservidor/server-status

 

 

Evitar inyecciones MySQL o PHP con .htaccess

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo

Podemos protegernos a nivel genérico con htaccess, aunque lo recomendable es programar bie, nunca está de más redundar la seguridad.
Un ejemplo básico que podemos alimentar con más funciones o comandos conocidos para "fastidiar" una web:

Mostrar/Ocultar código bash

Ver código
RewriteCond %{QUERY_STRING} ^.*(curl|wget|drop|truncate).* [NC]
RewriteRule ^(.*)$ index.php [F,L]