Listado de rangos de ips por país. Muy útiles para hacer baneos de paises completos:
http://www.countryipblocks.net/continents/
También hay .htaccess listos para descargar.
Listado de rangos de ips por país. Muy útiles para hacer baneos de paises completos:
http://www.countryipblocks.net/continents/
También hay .htaccess listos para descargar.
Mi ISP tuvo hace meses la feliz idea de bloquearnos el puerto 25 por “motivos de seguridad” y para evitar el spam, debido a ésto, ya no puedo enviar correos por SMTP (recordemos que por defecto el smtp se configura el puerto 25).
La solución es muy sencilla si tenemos IPTABLES, mediante 2 comandos vamos a configurar nuestro servidor para que permita acceder al SMTP a través del puerto 2525 y 25 de forma simultánea, como siempre, hemos usado Centos 5 para el ejemplo:
1. Redireccionamos todo el tráfico entrante del puerto 2525 al puerto 25.
iptables -t nat -A PREROUTING -p tcp --dport 2525 -i eth0 -j REDIRECT --to-ports 25
2(a). Almacenamos las reglas de iptables para hacerlas persistentes.
iptables-save > /etc/sysconfig/iptables
2(b). ¿Usas debian?: Revisa la siguiente url para saber cómo guardar las reglas de iptables
Getting IPTables to survive a reboot
Una vez hecho ésto, nuestro servidor ya está listo para recibir conexiones SMTP en el puerto 2525, tan sólo debemos modificar la configuración de nuestro cliente de correo para que use éste puerto en lugar del puerto por defecto (25).
Ya van varias veces que necesito que un iframe se escale automáticamente a la altura de la página que contiene, sobre todo en interfaces de administración. Cuando surgen estas dudas lo mejor es “googlear” en busca de respuestas, pero en éste caso, las primeras 10 páginas que he revisado contienen información errónea, que da errores en uno o varios navegadores.
Despues de varios intentos he dado con un código que funciona tanto en IE, como en Firefox como en Opera y/o Safari. (Requiere Jquery)
Continuar leyendo »
La creación y gestión de modelos de datos es una parte fundamental de un arquitecto/administrador de bbdd, el cual dispone de los conocimientos necesarios para desempeñar ésta tarea. Sin embargo, a pequeña escala ésta función suele estar desempeñada por los propios programadores, que en muchos casos tienden a restar importancia al modelado de datos y su tarea se reduce a crear algo que “funcione”.
Son muchos los casos en los que nos encontramos con aplicaciones y sistemas que se encuentran en producción con graves problemas de rendimiento debido a una mala planificación o mal diseño de su base de datos.
En determinadas ocasiones surge la necesidad de descargar archivos de un ftp de forma recursiva en un servidor o en nuestro pc, y no tenemos un cliente de ftp a mano. La primera opción sería conectarse por ftp y usar mget, pero ésto no nos sirve porque no funciona recursivamente. Algunos servidores de ftp permiten el comando recursive mget, pero son los menos.
Entonces, ¿qué hacemos si queremos descargar en nuestro equipo o en nuestro servidor un ftp completo y no contamos con un cliente que no sea el típico ftp de toda la vida?.
La solución está en nuestro queridisimo WGET.
Continuar leyendo »

Lighttpd es un servidor web open source extremadamente rápido y eficiente, y, durante años, ha demostrado ser el mejor aliado de las webs con alto tráfico y problemas de rendimiento. Sobre todo, destaca por su excelente manejo de la memoria, incluso en servidores con 512MB funcionará de maravilla.
Al igual que apache, está compuesto por diversos módulos que podemos activar a nuestro antojo como CGI, Auth, SSI, Rewrite, etc…
En mi caso, si bien lighttpd puede sustituir por completo a apache, llevo utilizándolo durante varios años para servir exclusivamente archivos estáticos (htmls, imágenes, javascript, videos, etc.) con 100% de fiabilidadad.
Disponer de un servidor web independiente para los archivos estáticos es la mejor forma de liberar de esa pesada carga de trabajo a nuestro queridisimo apache, para que éste se encargue en exclusiva de procesar los archivos dinámicos (las páginas de la web).
En caso de que no dispongamos de una máquina en exclusiva para instalar Lighttpd, y aunque no es una configuración muy conocida o muy utilizada, es perfectamente factible el utilizar un sólo servidor físico para ambos servicios (apache y lighttpd), además de una forma muy sencilla, el único requisito es que ambos servicios no usen la misma ip, o el mismo puerto para evitar conflictos (ojo con esto, ya que tanto apache como lighttpd por defecto escuchan en el puerto 80 todas las ips disponibles, por tanto habrá que configurar ambos para que sólo escuchen en una o varias ips, y que éstas nunca coincidan). Ésta configuración es especialmente útil para webs que sirven muchos archivos estáticos, imágenes, animaciones, javascript, etc… Permitiéndonos maximizar el rendimiento de nuestra web sin gastos adicionales en hardware.
A continuación compilaremos, instalaremos y realizaremos la configuración de Lighttpd.
Continuar leyendo »

Es probable que en nuestro grupo de servidores tengamos uno o varios que por seguridad se encuentren en un segmento de red aislado, inaccesible desde internet (es decir, sólo con conexión a la LAN), por lo que en caso de necesitar realizar alguna actualización o instalación de software en dichas máquinas, nos encontraremos con el problema de no poder descargar nada de internet.
En este y otros casos similares, una solución rápida puede ser configurar uno de los servidores web, o cualquier máquina que tenga acceso a la LAN y también a internet a través de 2 interfaces distintos de red, para que pueda actuar también como pasarela de acceso a internet para resto de máquinas de la LAN.
A continuación configuraremos la máquina que tiene acceso a internet como gateway NAT para que enrute a las máquinas que se encuentran dentro de la LAN hacia internet.
Posteriormente, en otra entrada, utilizaremos esto como base para instalar un servicio de VPN en el gateway y poder acceder salir a internet a traves de su conexión, aunque nos estemos conectando de forma remota a la red.
Continuar leyendo »

Si, reconozco que es una de las tareas más tediosas y aburridas que existen, pero implementar una correcta política de copias de seguridad puede salvar ‘tu vida’, coloquialmente hablando.
Anteriormente hablamos sobre la instalación de rdiff-backup para realizar copias de seguridad incrementales, también comentamos en otra ocasión cómo realizar conexiones ssh con llaves encriptadas para poder copiar archivos de forma segura entre servidores vía scp.
Desgraciadamente, no todos tenemos el tiempo suficiente para crear nuestros propios scripts personalizados para realizar las copias de seguridad, por lo que hoy INSTALAREMOS Y CONFIGURAREMOS EN SÓLO 15 MINUTOS ZRM (Zmanda Recovery Manager for Mysql), una sencilla, potente y fiable utilidad (gratuita) para Mysql que se encargará de una de las tareas fundamentales de cualquier administrador de base de datos, las copias de seguridad.
ZRM soporta cualquiera de los Storage Engines de Mysql y realiza tanto backups incrementales como backups totales. ZRM también soporta la última versión de Mysql (5.1), con soporte para realizar backups de particiones, de las que hablaremos más adelante.
Continuar leyendo »
Tienen mil nombres distintos en función del país o la región, chuletas, acordeones…, en nuestra época escolar las usabamos para aprobar los exámenes y en términos de programación se conoce como cheat sheet a las guias rápidas de referencia que no suelen ocupar más de una o dos hojas.
La web Added Bytes (En inglés), tiene un montón de Cheat Sheets que podemos descargar e imprimir, personalmente, yo las he impreso y reunido en una carpeta que me acompaña a todos lados, no sabría vivir sin ella.
PHP
CSS
Expresiones regulares
Javascript
Mysql
Jquery
Hace tiempo que cree este shell script que funciona en cualquier distribución de linux (siempre que esté instalado el paquete findutils), para encontrar archivos en una ruta en función de su nombre y su tamaño.
Es especialmente útil para aquellos que olvidamos con facilidad la sintaxis del comando find, sobre todo a la hora de hacer limpieza de logs perdidos para liberar espacio en disco.
FORMATO: find-size [ruta] [expresion_tamano] ‘[nombre]‘
[expresion_tamano] +5K (Mas de 5 kilobytes)
[expresion_tamano] -2M (Menos de Megabytes)
Puede omitir el nombre de archivo para busacar todos
EJEMPLO:
find-size /tmp +5M ’stats*’
(Busca en /tmp todos los archivos que comienzen con stats y tengan mas de 5 megas)
Comentarios recientes