Crea facilmente .htaccess con Htaccess Editor

htaccess Editor es una libre herramienta online que permite generar rápidamente archivos .htacces para su sitio web.

Para utilizarlo, sólo tenemos que seleccionar una categoría a la izquierda, y editar los parámetros a gusto en la derecha.

Cuando haya definido todos los parámetros, basta con copiar y pegar el texto generado en un archivo que se llamara .htaccess y ponerlo en la carpeta raíz de los archivos de su sitio web (algo así como “public_html” si está utilizando una empresa de alojamiento ) O en un subdirectorio de la carpeta.

Continuar leyendo «Crea facilmente .htaccess con Htaccess Editor»

Evitar el hotlink mediante .htaccess

Aqui os dejo este codigo para evitar el hotlink en vuestras paginas, se coloca en el .htaccess

Para evitar el hotlink de todos los sitios, o sea, que no se vea una imagen alojada en nuestro servidor en ningún lado debemos agregar esto a nuestro htaccess:

# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !^http://tusitio.com$ [NC]
# RewriteCond %{HTTP_REFERER} !^http://tusitio.com/.*$ [NC]
# RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com$ [NC]
# RewriteCond %{HTTP_REFERER} !^http://www.tusitio.com/.*$ [NC]
# RewriteRule .*\.(gif|jpg|jpeg|png|bmp)$ – [F,NC,L]
(reemplazar tusitio.com por la url de tu sitio)

Estas lineas de código dicen que ningún fichero del tipo gif, jpg, jpeg, png o bmp puedan visualizarse desde cualquier otro sitio.

Continuar leyendo «Evitar el hotlink mediante .htaccess»

Controlar el ancho de banda en Apache con mod_cband en centos 5.2

Aqui os escribo  este tutorial de mod_cband que es un modulo de apache nos permite controlar el ancho de banda usado por los usuarios conectados al servidor, ya sea en forma individual o general.

Instalación:

Descargamos el modulo.
Pagina del proyecto: http://sourceforge.net/projects/cband/

# wget http://downloads.sourceforge.net/cband/mod-cband-0.9.6.1.tgz?modtime=1138205796&big_mirror=0

Descomprimimos las fuentes

# tar -xvf mod-cband-0.9.6.1.tgz

Instalando dependencias necesarias

# yum install http-devel

Compilando las fuentes

# ./configure
# make
# make install

Agregamos el modulo al apache en el archivo httpd.conf, por defecto se agrega automáticamente la linea al compilar, si no fuera el caso, agregar la siguiente linea

# vim /etc/httpd/conf/httpd.conf

LoadModule cband_module modules/mod_cband.so

También es necesario agregar

CBandScoreFlushPeriod 1
CBandRandomPulse On

Reiniciamos el apache

# /etc/init.d/httpd restart

Ahora a configurar los dominios virtuales del apache:

En mi caso lo tengo en /etc/httpd/conf.d/virtual.conf
Se puede dar el caso de tenerlo en el mimos httpd.conf

Configuraciones y Limitaciones por Sitio

CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 20kb/s 3 3

El parámetro CBandSpeed es una configuración Global para dicho Sitio, definimos que lo usuarios no podran sobrepasar los 1024Kbps, 10 respuestas por segundo y 30 conexiones abiertas.

El parámetro CbandRemoteSpeed es una configuración para cada usuario conectado en forma separada, definimos que el usuario en forma individual podra descargar a lo máximo 20Kb/s con 3 peticiones por segundo y 3 conexiones permitida.

Asi quedara nuestro virtual host

# vim /etc/httpd/conf.d/virtual.conf

«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
«<«/VirtualHost»>»

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.

Reiniciamos el apache

# /etc/init.d/httpd restart

y probamos nuestra web…. recomendaciones, podemos cambiar las variables, reiniciar el apache y probar.

Otras opciones

Podemos limitar el trafico mensual con:

CBandLimit 100M

Podemos ver en Linea el trafico y conexiones, etc (estatus de cband) con:

Creamos la carpeta

# mkdir /var/www/scoreboard

Le damos permisos para el apache

# chown apache:apache /var/www/scoreboard

Y agregamos al virtual host

CBandScoreboard /var/www/scoreboard
CBandPeriod 4W

«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»

Todo lo anterior se agrega al dominio virtual, quedando asi:

«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandLimit 1000M
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»
«<«/VirtualHost»>»

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.

Reiniciamos el apache

# /etc/init.d/httpd restart

De lo anterior limitamos el trafico mensual a 1GB
para ver las estadísticas:

http://miweb.com/cband-status o http://miweb.com/cband-status-me

A probar…
Suerte

Creacion de VirtualHost falso en Apache para mejorar la seguridad

Como todos sabemos, existen multiples aplicaciones que intentan descubrir vulnerabilidades de seguridad de una manera automatizada.

La inmensa mayoria intentan averiguar si está el mod_proxy activado y desprotegido para poder redirigir peticiones a otros servidores. Desgraciadamente, existen muchos servidores con una seguridad muy baja que son usados para atacar otros servidores web.

Ademas muchos virus se sirven de vulnerabilidades conocidas en servidores web sin parchear para propagarse.

Existe un pequeño hack poco utilizado para librarse del 99% de estas conexiones. Y es tan sencillo como crear un VirtualHost que dirija a un directorio vacio, y ponerlo el primero en la cadena de VirtualHost en nuestro httpd.conf.

Por ejemplo:

NameVirtualHost IP_de_mi_server:80
<VirtualHost IP_de_mi_server:80>
DocumentRoot /opt/null
ServerName mivhostnulo.com
</VirtualHost>

Seguido del resto de nuestros hosts.

Si quereis ver las peticiones que ese Virtualhost esta rechazando (no os asusteis) añadid una linea de log:

CustomLog /var/log/httpd/archivo_error_hostnulo.log combined