Lo que tenemos clasificado como ‘Utilidades para test’
Flujo de las visitas con Google Analytics
sin comentarios, by the moment porfaplis, deja uno que "é grati"
Google, la todopoderosa, no cesa últimamente en su constante asedio a base de proporcionarnos estudiadas y competentes herramientas que se disfrazan bajo una piel de cordero ofreciéndonos soluciones mientras intentan esconder las obscuras intenciones del lobo más feroz de la red, y estas no son otras que el pago por servicio o SAAS y el absoluto control de cada byte que circula por internet.
Recientemente Google ha mejorado uno de sus servicios más famosos dentro de la comunidad de webmasters y propietarios de páginas web, el sistema de estadísticas y métricas web denominado GA o Google Analytics. La remodelada herramienta de tracking de visitas que nos traen es una muy mejorada funcionalidad para el control sobre el flujo de las visitas que va mucho más allá de lo que nos ofrecía Google Analytics hasta ahora, con un simple vistazo veremos el origen y el camino que conduce al usuario a una acción u otra.
La excelencia de esta optimizada funcionalidad es simple y directa, la fácil visión del camino seguido por el usuario, un arma muy poderosa si es concienzudamente es aplicada y usada en el análisis de los hábitos del cliente en tiendas virtuales, permitiéndonos maximizar los momentos del proceso de compra: llegada, descubrimiento, interés, confianza y compra.
Si bien esta funcionalidad a día de hoy aún no está presente en todas las cuentas de Google Analytics, pronto será nuestra nueva aliada. Una herramienta que hace que cada día sea más difícil escapar de los largos tentáculos de Google, no hay alternativa, al menos eso creo comparando servicios con servicios.
Os dejo un vídeo para aquellos que aún no tenéis activada esta funcionalidad:
Baneando direcciones IPs en Apache bajo Windows
sin comentarios, by the moment porfaplis, deja uno que "é grati"
Hoy os presento un caso raro y de aquellos cansinos, un cliente con un servidor web ya con añitos, corriendo Windows 2003 Server parcheado hasta la médula, un día se enlentece que da miedo, este servidor recibe ciertos bots que sniffan literalmente todo su contenido, que no es pequeño llegando a generar con ello tráficos mensuales más allá de los 20 gigas. La mitad de los cuales se lo reparten entre bots snifadores y los spiders indexadores de la red, léase GoogleBot, Yahoo Crawler, Microsoft Search y sucedáneos rusos.
Casi siempre todo funciona bien, el servidor es robusto y responde sin muchas preocupaciones pero el problema llega cuando uno de estos robots se vuelve loco. Seguramente esta locura es producida por algún cambio en alguna variable que fuerza el número de escaneados diarios que realiza el bot, de esa forma el humano “snifante” prueba con diversos valores subiendo a veces sin saberlo la cantidad de peticiones por minuto de forma exponencial, el no ve las repercusiones en el servidor de origen, probablemente se dice, que bien ahora así tengo el contenido nuevo tan pronto como se publica, si soy el primero posiciono mejor, lo voy a dejar así. Y sin saberlo está haciendo un ataque DDOS o de denegación de servicio.
En este caso concreto es tal el consumo que en hora punta de tráfico las peticiones se enletecen hasta más allá de los 3 segundos por página peticionada.
Lo primero es detectar que algo paso, esto por suerte te lo dicen los clientes del servicio web en cuestión con emails técnicos del tipo:
“La web va lenta”, “La web va como el c…”
Recibido el tercer email de este tipo y tras comprobar que no es un problema de la conexión del cliente hacia la red, que también reportan, toca averiguar que está pasando.
1. Vemos el estado de saturación de la máquina. En Windows con el Administrador de Tareas.
2. Lo primero es ver que tal estamos de RAM, que consumo tenemos.
3. Luego vemos el espacio en disco que nos queda
4. El consumo de CPU
5. Ahora vamos a ver con ese mismo administrador de tareas que “programas” son los que más consumen
Si es MYSQL y la RAM va cargada tocará ampliar RAM, al igual de que si es disco.
Si es APACHE y la CPU va saturada, pues tocará ver cuantas peticiones y de quien son recibe el servidor web.
Para conocer cuantas peticiones recibe nuestro server hay muchas cosas y programas, pero en este caso no hay ningún sistema estadístico instalado, bueno si, Google Analytics, el cual pinta y colorea los datos que da gusto, pero a nivel técnico no nos sirve pues estamos buscando excesos y errores y me da a mi que Analytics los obvia, a saber porque con la todopoderosa y sus manías, que ya me cansan.
Aunque no tengamos nada instalado en server siempre nos podemos bajar los archivos de log del Apache para analizarlos en casita, con nuestra maquinita.
Ten en cuenta que estos archivos pueden ser gigantes, depende de como esté configurado el server, los hay con rotaciones y sin, pero puedes encontrartes con archivos de 2Gb. en servidores de alto tráfico, lidia con ellos si puedes. Lo mejor es rotarlos manualmente en el momento de máximo tráfico o ataque.
Para ello, detén el servicio de Apache, renombra los access.log y error.log y vuelve a iniciarlo, dejarás a tu cliente sin servicio un minuto escaso. Aguanta un ratito con el ataque, un par de horas a lo sumo, y vuelve a hacer lo mismo, de esa forma tendrás una muestra sanguínea del ataque o del momento de saturación del server y trabajarás única y exclusivamente con esos datos, localizando más rápidamente si existen direcciones IPs que un consumo excesivo de datos.
De Windows a Ubuntu y tiro porque me toca
Una vez muevas ese log a una carpeta accesible por FTP o HTTP faltará bajártela para analizarla en tu flamante workstation Ubuntu, que mola más que un OS X… al menos más que un Snow Leopard, pues falta ver si este próximo lunes día 6 de Junio lo que nos maravilla OS X Lion de la mano de Steve Jobs, palabra de AppleFun arrepentido venido a Ubuntu.
Analizando los archivos .log de Apache
Para analizarlo en nuestro Ubuntu vamos a usar Webzilla, para instalártela:
sudo apt-get install webalizer
Luego la configuramos con un:
sudo gedit /etc/webalizer/webalizer.conf
Aquí en principio sólo falta tocar el lugar, ruta y archivo donde está el access.log
LogFile /var/www/logs-para-analizar/access.log
OutputDir /var/www/webalizer
Incremental yes
Grabamos y ejecutamos el Webalizer con un complejísimo, es broma:
sudo webalizer
Unos segunditos y tachán, apunta tu navegador a:
http://localhost/webalizer
Selecciona el mes actual, y en la siguiente pantalla la opción “Clientes” aquí verás las IPs que han visitado más la página durante el ataque o la bajada de rendimiento del server, busca las más abultadas que vamos a revisarlas.
Ahora nos faltará saber el Quién es quién de cada IP
¿Quién es quién?
Para eso podemos usar varias opciones, entre ella una via web:
http://whois.domaintools.com/67.195.112.52
Donde 67.195.112.52 es la IP sobre la que quieres conocer información y la otra es usar las herramientas de red del sistema que incorpora Ubuntu.
Con ellas puedes realizar un WHOIS, un LOOKUP , etc.
Si entras en “Explorar los puertos”, cosa que tarda un rato podrás también detectar si detrás hay un servidor web, un servidor FTP, o un emule abierto. Datos que te permitirán determinar con algo más de certeza si se trata de una empresa o un usuario.
También puedes rastrear la ruta para más o menos ver de donde es el país de origen, si este por ejemplo es de Ukrania o de la conchinchina probablemente se trate de un buscador en el que no te importe perder posicionamiento.
Cuidadín cuidadín con los GoogleBots y familia
Pues eso, asegúrate que de todas esas IPs no te apuntes ninguna que sea de un buscador conocido en el que te quieras posicionar, pues si la anotas y luego la baneamos perderás el posicionamiento en ese buscador pues tu Apache no le dejará entrar.
Ya tenemos las IPs localizadas y correctamente anotadas, ahora vamos a banearlas
Baneando IPs en Apache bajo Windows
Bueno esto a decir verdad es más o menos igual en Windows que en Linux que un radiocassette donde sea capaz de correr Apache.
Busca el fichero de configuración de Apache httpd.conf
En la sección Directory
Introduce al final, justo antes del cierre de la directiva </Directory> y una en cada línea la siguiente instrucción:
deny from TU-NO-PASAS
por ejemplo si quisiéramos banear a Yahoo, NO lo hagas!
deny from 67.195.112.52
Graba el fichero y reinicia Apache, en Windows desde “Accesorios -> Herramientas del Sistema -> Servicios -> Apache” botón de la derecha reiniciar.
Listas negras de IPs malignas
También de paso y por el mismo precio que nos ponemos a banear, una práctica aceptable sería el banear sistemáticamente aquellas IPs que se han detectado en el mundo recientemente como IPs malignas.
Yo he sacado una lista desde:
http://isc.sans.org/ipsascii.html
y desde:
http://isc.sans.org/sources.html
Baneando que es gerundio.
Copia de seguridad remota de bases de datos
sin comentarios, by the moment porfaplis, deja uno que "é grati"
…MySql of course…
Con este comandito podrás hacer un backup en un fichero de texto de las bases de datos en servidores remotos a la máquina donde ejecutes el “comandito”:
mysqldump -h direccion_ftp_remoto –password=claveRemota –user=usuarioRemoto nombre_base_de_datos_remota –routines> /home/backup/mysql-servidor_talytal.sql
Hay otras combinaciones de este efectivo comando de Mysql, por ejemplo este que me sirve para realizar copias de una base de datos de un servidor a otro:
mysqldump –host=direccion_host_origen –password=clave_mysql_origen –user=usuario_origen tabla a copiar | mysql –password=clave_mysql_local –user=usuario_mysql_local tabla_destino
La tabla de destino tiene que existir, es indiferente si tiene datos o no, o si las estructuras son diferentes pues mysqldump la machacará con los datos que vienen del origen.
Además podrás despreocuparte un poquito de tus datos si añades esta copia a una tarea con cron para ello haz un:
sudo crontab -e
Y métele algo así como:
00 21 * * * mysqldump –host=… y toda tu comando
Esto copiará la tabla todos los días de la semana a las 21.00H.
