Instalando Nginx con soporte php (Gentoo)

febrero 16, 2008 at 2:38 am (linux, Servidores, Tips, Unix, www)

Instalación de nginx

Para tener instaladon nginx en gento , lo haremos desde el portage

# emerge nginx

Arrancamos nginx:

# /usr/local/sbin/nginx

y comprobamos que funciona introduciendo en el navegador nuestra URL:

http://midominio.com/

Lo único que nos queda para tener nginx funcionando es crear un script que arranque el servidor web cuando arranque el VPS:

# kill `cat /usr/local/nginx/logs/nginx.pid`
# vi /etc/init.d/nginx
# chmod +x /etc/init.d/nginx
# /usr/sbin/update-rc.d -f nginx defaults

Siendo /etc/init.d/nginx:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
                --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
                --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile \
                /usr/local/nginx/logs/nginx.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile \
                /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

Configuración del virtual host de nginx que servirá PHP

Supongamos que el virtual host de nginx en el que funcionará el blog basado en WordPress es blog.midominio.com. En este caso, en el fichero de configuración de nginx, que será /usr/local/nginx/conf/nginx.conf, tendremos que añadir, de momento:

    server {
        listen       80;
        server_name  blog.midominio.com;

        access_log /var/log/nginx/blog.midominio.com/access.log;
        error_log  /var/log/nginx/blog.midominio.com/error.log;

        location / {
            root   /var/www/blog.midominio.com;
            index  index.html;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

El directorio para los logs, /var/log/nginx/blog.midominio.com, y el directorio para las páginas, /var/www/blog.midominio.com, pueden ser otros. En cualquier caso, los deberemos crear a mano. Después de cualquier cambio en el fichero de configuración de nginx es necesario un restart:

# /etc/init.d/nginx restart

Llegados a este punto, podemos crear un index.html en /var/www/blog.midominio.com y ver que carga correctamente en el navegador:

http://blog.midominio.com/

Instalación de PHP

La instalación de PHP es realmente sencilla:

# emerge install php5-cli php5-cgi php5-mysql
$ php -v
PHP 5.2.0-8+gentoo (cli) (built: Dec 29 2007 14:49:25)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Instalación de FastCGI

La implementación de FastCGI que vamos a utilizar es la que viene con lighttpd. Lo que haremos será compilar lighttpd, pero no instalarlo. Copiaremos a mano el proceso spawn-fcgi:

wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.gz
gunzip lighttpd-1.4.18.tar.gz
tar xvf lighttpd-1.4.18.tar
cd lighttpd-1.4.18/
./configure
make
sudo cp src/spawn-fcgi /usr/bin/spawn-fcgi

Ahora que ya tenemos FastCGI, crearemos un script para lanzarlo, al que llamaremos /usr/bin/php-fastcgi, y cuyo contenido será:

#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi

Crearemos también el script de arranque y parada para cuando rearranquemos el servidor. Le llamaremos /etc/init.d/php-fastcgi, y su contenido será:

#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case "$1" in
    start)
      $PHP_SCRIPT
      RETVAL=$?
  ;;
    stop)
      killall -9 php5-cgi
      RETVAL=$?
  ;;
    restart)
      killall -9 php5-cgi
      $PHP_SCRIPT
      RETVAL=$?
  ;;
    *)
      echo "Usage: php-fastcgi {start|stop|restart}"
      exit 1
  ;;
esac
exit $RETVAL

Damos los permisos adecuados y añadimos php-fastcgi a los scripts de arranque y parada:

# chmod 755 /etc/init.d/php-fastcgi
# chmod 755 /usr/bin/php-fastcgi
# /usr/sbin/update-rc.d -f php-fastcgi defaults

Nos queda volver a editar el fichero de configuración de nginx, /usr/local/nginx/conf/nginx.conf, donde añadiremos, en la sección del servidor virtual que hemos creado, la configuración necesaria para que los scripts PHP sean redireccionados al proceso FastCGI. También en esta sección, deberemos cambiar la página de inicio de index.html a index.php y añadir una regla de reescritura para que WordPress funcione correctamente. Con todos estos cambios, la sección completa del servidor virtual de nginx para el blog quedaría:

    server {
        listen       80;
        server_name  blog.midominio.com;

        access_log /var/log/nginx/blog.midominio.com/access.log;
        error_log  /var/log/nginx/blog.midominio.com/error.log;

        location / {
            root   /var/www/blog.midominio.com;
            index  index.php;
            if (-e $request_filename) {
              break;
            }
            rewrite ^/(.+)$ /index.php?q=$1 last;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/blog.midominio.com$fastcgi_script_name;
            include        conf/fastcgi.conf;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

El fichero de configuración de FastCGI será /usr/local/nginx/conf/fastcgi.conf:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Para probar que funcionar, después de rearrancar nginx, podemos crear en /var/www/blog.midominio.com el siguiente fichero index.php:

<? phpinfo(); ?>

Si introducimos en el navegador la URL http://blog.midominio.com obtendremos una página con información sobre nuestra instalación de PHP.

Script de Instalación Multidistro

Para los mas vagos he preparado un script de instalación multi Distro, Una vez instalado y con todas las  Dependencias cumplidas , Paquetes de compilacion las bindutils nos permitira hacer funcionar el script Para alguna duda o ampliación del script dejen comentarios.    PD: Una vez instalado deveras añadir el runlevel que quieres que te inicie de forma manual.

Descargar Instalador

Permalink Dejar un comentario

ssmtp en gmail

febrero 14, 2008 at 2:57 am (1, linux, Servidores, Tips, Unix)

ssmtp es una pequeña herramienta que nos permitira enviar correos usando el comando mail o mutt desde la linea de comandos , de hecho ssmtp actua como un smtp relay reenviando nuestros correos a nuestra cuenta de gmail.

Esta herramienta puede ser util por ejemplo en scripts donde queremos enviar datos desde mail sin disponer de un MTA instalado localmente.

Tambien puede ser util en la configuración de las notificaciones de Nagios (Sistema de Monitorización) , para permitir la notificación en los servidores de correo de nuestra empresa.

Instalando ssmtp

En este how-to uso gentoo aunque puede ser adaptado facilmente a tu distribución favorita.

Para instalar ssmtp en gentoo usaremos el siguiente comando.

# USE=”ipv6 -mailwrapper -md5sum ssl” emerge ssmtp

Una vez instalado simplemente es configurar ssmtp:

necesitaremos dos archivos

$ ls -l /etc/ssmtp/
total 16
-rw-r–r– 1 root root 89 feb 9 01:39 revaliases
-rw-r–r– 1 root root 192 feb 9 01:38 ssmtp.conf

Configurando ssmtp.conf

root=usuario@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=usuario@gmail.com
UseSTARTTLS=YES
AuthUser=usuario
AuthPass=tu_password
FromLineOverride=YES

Los datos que debes remplazar por los datos de tu cuenta estan marcados en negrita.

El AuthUser= debe escribirse sin @gmail.com

Configurando revaliases

root:name@gmail.com:smtp.gmail.com:587
mainuser:name@gmail.com:smtp.gmail.com:587

Con esto asocia un usuario local a nuestra cuenta de gmail , logicamente tendremos de remplazar name@gmail.com por nuestra cuenta que configuremos en ssmtp.conf

Probando si funciona

Si todo funciona bien podremos enviar correos usando

$ echo “esto es una prueba” | mail -s “PRUEBA” destinatario@domain.com

Permalink 1 comentario

Redireccionar de HTTP a HTTPS en apache

febrero 14, 2008 at 12:57 am (Apache, Seguridad, Servidores, Tips)

Aquí un pequeño tip para que nuestro apache redireccione las peticiones http a https

si el usuario usa http://http://www.dominio.com

sera redirigido a https://http://www.dominio.com

es tan simple como añadir esta directiva en nuestro VirtualHost

 RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

Permalink 2 comentarios

fr33project , un Blog a bajo nivel

febrero 10, 2008 at 9:46 am (Seguridad, Unix)

Fr33project es el Blog de David Reguera Garcia , un buen amigo especializado en bajo nivel.

En su blog puedes ver algunas cosas interesantes como:

  • Documentación sobre seguridad y bajo nivel.
  • Herramientas de Explotación
  • Herramientas para trabajar con el bajo nivel

En conclusion un blog de calidad sobre el tema , con articulos muy elaborados y muy buenas herramientas.

Ademas esta en español y ingles

http://fr33project.org/

Permalink 1 comentario

Uninformed , Informando de lo que otros no informan

febrero 1, 2008 at 11:03 am (Redes, Seguridad, Unix)

Uninformed es una publicación electronica sobre seguridad informatica con contenido underground.

Entre su contenido podemos destacar:

  • Seguridad informatica
  • Programación a bajo nivel
  • Ingeniería Inversa
  • Técnicas de Explotación

En este nuevo numero concretamente el 9 se incluye:

Permalink 1 comentario

De vi a la shell

enero 30, 2008 at 1:20 pm (Servidores, Tips, Unix, vim)

Algunas veces estamos editando un fichero con vim y queremos salir a la shell, pero no queremos  perder la parte donde estamos editando ,  o tener que logearnos de nuevo por ssh , pues bien, si estamo en el modo comando de vim (Tecla ESC) es tan fácil como teclear :shell, y para volver al fichero que estamos editando tecleamos exit.

Permalink 1 comentario

Bloquear MSN con Squid

enero 28, 2008 at 12:11 pm (Redes, Servidores, Tips, Unix)

Para el que no lo sepa , squid es un proxy cache que funciona en servidores Unix , es un equivalente al ISA Server de microsoft

En muchas redes de empresas , institutos es necessario bloquear el messenger para que la gente no se distraiga.

Edita el archivo de configuracion de Squid /etc/squid/squid.conf
acl block_port port 1863
http_access deny block_port
#ultima linea
http_access allow all

Si por ejemplo quieres que se aplique esta restriccion a toda la red menos a una ip determinada

por ejempla la 192.168.1.10
acl block_port port 1863
acl no_block_port_ip src 192.168.1.10
http_access deny block_port !no_block_port_ip
http_access allow all
Una vez cambiada la configuracion reiniciaremos Squid :
/etc/init.d/squid restart

Permalink 3 comentarios

Permisos con ACL

enero 27, 2008 at 2:01 am (1, linux, Redes, Seguridad, Unix)

Los permisos de linux están bien siempre que no dispongamos de un grupo muy grande de usuarios , si es asi se haria muy lioso ya que tendríamos un /etc/group muy grande. Una forma Elegante de arreglar este problema es usando las ACL (Listas de Control de Acceso)

A groso modo una ACL es una lista de usuarios o grupos Linux y sus correspondientes permisos de acceso que tienen a un fichero o directorio.

Instalando y activando las ACL

Para aumentar la granularidad de los permisos en tu sistema debes tener en cuenta:

  • El nucleo debe soportar y estar compilado para soportar atributos extendidos y ACL
  • El sistema de ficheros tiene de montarse con atributos extendidos y ACL
  • Se tienen de instalar las utilidades de espacio de usuario (chacl,getfacl y setfacl) para establecer el ACL.

Una vez claros estos conceptos pasamos a activar ACL.

Soporte ACL del núcleo de sistema

La gran mayoría de distros actuales ya soportan ACL puedes comprobar si tienes soporte con este comando.

# grep POSIX_ACL /boot/config-`uname -r`
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_TMPFS_POSIX_ACL is not set

Como podéis tenemos activados en el kernel si no es asi recompilamos el kernel marcando estas opciones.

File systems —>

[*] ReiserFS extended attributes

[*] ReiserFS POSIX Access Control Lists

Soporte ACL en /etc/fstab

Una vez que tengamos soporte ACL necesitaremos configurar /etc/fstab para activar los susodichos permisos .

Los sistemas de ficheros montados con acl tendrán la palabra clave “acl” en las porciones de opciones de montaje de sus entradas en el fichero.

Ejemplo

/dev/sda6 /usr reiserfs noatime,acl,user_xattr 1 2

/dev/hda1 /opt ext3 defaults 0 0

Como podéis ver sda6 tiene soporte acl en el punto de montaje , si quisiéramos dar soporte acl a hda1 seria tan fácil como al punto de montaje acl

/dev/hda1 /opt ext3 defaults,acl 0 0

Una vez actualizado el fichero /etc/fstab debemos remontar el sistema de fichero.

Ejemplo para hda1

# mount -o remount,acl /dev/hda1

Soporte ACL en el espacio de usuario

El último paso para usar ACL asegurarse de que las aplicaciónes de espació de usuario estén presentes en el sistema

En Debian o Ubuntu puedes comprobar asi

# dpkg -l |grep acl
ii acl 2.2.42-1ubuntu1 Access control list utilities
ii libacl1 2.2.42-1ubuntu1

Tambien puedes comprobar buscando las herramientas

# type -a getfacl

getfacl is /usr/bin/getfacl

Si ACL no esta instalado puedes instalarlo desde el manejador de paquetes de tu distribución en debian por ejemplo.

# apt-get install acl

Formato ACL

Linux soprta 2 tipos básicos de ACL:

  • ACL de control de directorios y ficheros
  • ACL de directorio (Mascaras) ACL que toman por defecto los ficheros creados en ese directorio.

La ACL se representa por tres campos separados por “:”

Campo 1

Entrada

  • “u” Ususario
  • “g” Grupo
  • “o” Otro
  • “m” Mascara

Campo 2

El segundo campo esta formado por:

  • UID (ID numérico de usuario)
  • GID (ID numérico de grupo)
  • Vacío (Asume UID,GID del Creador)

Campo 3

  • El tercer campo es el de acceso y puede ser representado de 2 maneras.
  • Cadena estándar RWX (las cadenas se pueden remplazar por – sino queremos dar acceso de ese tipo)
  • Cadena simbólica + ^

Herramientas

  • chacl : Permite cambiar,examinar o eliminar ACL
  • getfacl : Permite examinar acl para encontrar archivos o directorios
  • setfacl : Establece ACL a fichero o directorio.

Mostrar ACL

Para el ejemplo usare un directorio con archivos que he creado con touch.

> ls -l
total 0
-rw-r–r– 1 tuxed tuxed 0 2008-01-26 03:03 lerele
-rw-r–r– 1 root root 0 2008-01-26 03:03 pass
-rw-r–r– 1 root root 0 2008-01-26 03:02 user

La acl para el directorio siguiente es

> getfacl .
# file: .
# owner: root
# group: root
user::rwx
group::rwx
other::rwx

La acl por defecto para el fichero lerele es esta

> getfacl lerele
# file: lerele
# owner: tuxed
# group: tuxed
user::rw-
group::r–
other::r–

La acl para el directorio el qual no se le ha asignado coje los de umask.

Establecer ACL

Hay tres maneras de establecer un ACL

  1. Usando el comando setfacl el qual sobrescribe qualquier ACL anterior.
  2. Usando el comando setfacl con la opción -m (Modifica ACL)
  3. Usando chacl para modificar una ACL existente.

En esta ocasión mostrare como se cambian las acl con chacl , ya que este no sobrescribe la ACL existente, y ademas proporciona algo mas de información de como realmente funcionan las acl

Ejemplo

Añadiremos al usuario aitor como alguien que puede leer el fichero lerele , usaría chacl (cambiar la ACL) del siguiente modo:

$ chacl u::rw-,g::r–,o::—,u:aitor:r–,m::rw- lerele

Esta es la forma en la que se ve una acl en la vida real , el hecho de que sea una comando tan largo es que se debe definir los puntos ya nombrados anteriormente el propietario de fichero, grupo propietario y otros

para entendernos mejor la porción u::rw,g::r–,o::— es la ACL existente y la porción u:aitor:r–,m::rw- especifica el nuevo usuario el nuevo usuario que quiero añadir a dicha acl y la mascara de derechos efectivos cuando se añada.

La mascara de derechos efectivos es la unión de todos los permisos ya existentes de UGO para un fichero o directorio. esta se tiene al añadir un usuario a la ACL.

Para comprobar que hemos sido añadidos a la acl usaremos

$ getfacl lerele
# file: lerele
# owner: tuxed
# group: tuxed
user::rwx
group::r–
other::—
user:aitor:r–
mask::rw-

Ahora que ya sabemos como funciona acl podriamos poner que aitor tenga permisos de lectura y escritura a lerele

$ chacl u::rw-,g::r–,o::—,u:aitor:rw-,m::rw- lerele

como veis le hemos añadido permisos de escritura

$ getfacl lerele
# file: lerele
# owner: tuxed
# group: tuxed
user::rwx
group::r–
other::—
user:aitor:rw-

Pues espero que hos guste.

Permalink Dejar un comentario

Como proteger el acceso remoto por ssh

enero 21, 2008 at 11:09 am (Redes, Seguridad, Servidores, Tips, Unix)

Según la wikipedia:

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X arrancado..

Asegurar SSH

SSH ya de por si es un protocolo seguro , pero podemos afinar mas los parametros para que sea aun mas seguro

Pasos que seguiremos

  • Deshabilitar SSH 1
  • Autenticación basada en clave
  • No permitir autenticación por Password
  • Cambiar el puerto por Defecto
  • No Permitir logeo como root
  • Banear ips tras 5 logins erroneos

Deshabilitar SSH 1

Puesto que la versión del protocolo ssh 1 hay algunas inseguridades , que mejor manera que usar el protocolo 2 que es mucho mas seguro. Para esto editaremos el fichero de configuración de ssh en /etc/ssh/sshd_config

dejaremos la opción protocolo así

Protocolo 2

Eso significa – aceptar la versión 2 del protocolo, y nada más. Guardar el fichero de configuración y reiniciar sshd.

# /etc/init.d/sshd restart

Autenticación basada en clave

Entrar con usuario y password está bien , pero podemos tener mas seguridad usando un par de claves publica y privada

Creando nuestra clave publica (En nuestra maquina Cliente)

ssh-keygen -t rsa

Al ejecutar este comando nos pide una clave le asignamos una y luego deberemos colocar en esa maquina remota la clave RSA publica que acabamos de generar ( ~/.ssh/id_rsa.pub ) en el directorio ~/.ssh/authorized_keys de el servidor ssh.

Habilitamos Autenticación por Clave (En el Servidor)

Ahora es momento de volver a configurar /etc/ssh/sshd_config para habilitar la autenticación con las claves anteriormente añadidas ~/.ssh/authorized_keys del servidor ssh.

En /etc/ssh/sshd_config :

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Deshabilitar la autenticación por password

Para poder hacer util lo anteriormente mencionado dejaremos solo la autenticación por clave eliminando la autenticación por password para esto editaremos de nuevo /etc/ssh/sshd_config

PasswordAuthentication no

De está forma se elimina el impacto de ataques por fuerza bruta.

Cambiar el puerto por defecto

Para asegurar aun mas nuestro sistema cambiaremos el puerto por defecto de este modo evitaremos exploits tipicos de Script Kidies

/etc/ssh/sshd_config remplazamos la linea

Port 22

por

Port 25142

Donde 25142 puede ser otro puerto.

No permitir logeo como root

Puesto que root es el usuario con mas privilegios y el que se suele intentar explotar pues no permitiremos el logeo como root añadiendo en /etc/ssh/sshd_config

PermitRootLogin no

Banear a las ips que hacen mas de 5 logeos erroneos

Para esto usaremos una herramienta llamada fail2ban

instalamos fail2ban

# apt-get install fail2ban

una vez instalado crearemos una directiva para ssh

# vi /etc/fail2ban/jail.local

añadiendo la siguiente directiva

[ssh]enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

reiniciamos fail2ban

# /etc/init.d/fail2ban restart

Nota: Cada vez que se hace un cambio en /etc/ssh/sshd_config tenemos de reiniciar sshd para ser aplicado /etc/init.d/sshd restart

Espero que os guste 😀

Permalink 2 comentarios

IP detras de Proxys en los logs de apache

enero 17, 2008 at 7:21 am (1)

Mucha gente que se dedica a hacer gamberradas por internet suelen usar proxys pensandose que asi estan protegidos aqui un simple tip para los logs de apache en apache2.conf

LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" xcombined
        CustomLog /var/log/apache2/tuxed.es-access.log xcombined

Justamente la cabecera X-Forwarded-For es la que contiene nuestra ip

Permalink Dejar un comentario

« Previous page · Next page »