Máquina de pruebas con Vmware para luchar contra el spam

Instalar  

  • amavisd-new
  • SpamAssassin
  • razor
  • pyzor
  • clamav
  • Postfix
  • postgrey
  • FuzzyOCR

septiembre 20, 2007 at 7:25 pm Deja un comentario

Reiniciar linux si tod lo demás es imposible

Si  ctrl + alt + Backspace o la combinación de teclas de función no funciona … 

  1. Pulsar Alt y SysRq (Imprimir Pantalla)  y  a la vez teclearREISUB.
  2. El ordenador se reiniciará

septiembre 20, 2007 at 6:36 pm Deja un comentario

Trucos para asegurar apache

Basado en http://articles.techrepublic.com.com/2415-7343_11-159903.html 

  1. Fortificar el sistema operativo:
    – Mantenerlo actualizado
    – Instalar sólo los servicios necesarios
    – Desactivar protocolos innecesarios
    – Definir reglas para proteger el tráfico entrante y saliente
    – Usar antivirus y antispyware
    – Usar un firewall y un IDS (Snort por ejemplo)
    – Facilitar la menor información posible sobre el servidor
  2. No instalar, o bien desactivar(LoadModule), los módulo  de apache innecesarios
  3. Facilitar la menor información posible editando httpd.conf:
    – Desactivar los mensajes que muestra el servidor-> ServerSignature= off
    – Desactivar la búsqueda por directorio -> Eliminar Indexes dentro de la directiva Options
  4. Ejecutar mod_security para prevenir diversos ataques (DDOS, SQL injection, transversal directory, etc)
  5. Ejecutar apache como un usuario  no privilegiado. Crear un usuario con nombre apache por ejemplo. Intentar no usar nobody puesto que otros servicios pueden usarlo y podría implicar problemas de seguridad.
  6. Desactivar el uso de FollowSymLinks  para no permitir que un usuario pueda crear enlaces simbólicos con otras partes del sistema de archivos que no deseemos que esté expuestas . En caso de que algún usuario lo necesitara se puede usar la directiva SymLinksIfOwnerMatch
  7. Cambiar la directiva  Listen 80 (o el puerto que usemos) por Listen ip_maquina:80
  8. No permitir que los usuario puedan acceder a contenido fuera del directorio raíz de apache. <Directory />  Options None (No usarFollowSymlinks)
  9. Eliminar los comentarios del fichero httpd.conf
  10. Proteger apache de ataques DOS (denial of service, denegación de servicio)
    – Timeout.  -> 300 seconds -> En caso de ataque bajarlo. UN umbral muy corto podría plantear problemas en scripts CGI
    – KeepAliveTimeout -> 5 seconds -> Debería ser bajado en caso de ataque
    – LimitRequestBody -> 0 bytes (unlimited)  -> En caso de ataque basado en HTTP Request Body  con peticiones de tamaño de cuerpo muy grande, limitar el cuerpo de mensaje enviado  desde el cliente.  
    – LimitRequestFields -> 100 fields -> En caso de de ataque basado en HTTP Request Header fields con demasiados HTTP request headers, limitar el número.
    –  LimitRequestFieldSize -> 8190 bytes. Limita el tamaño de cada campo por petición.
    – LimitRequestLine -> 8190 bytes. Limita el tamaño de cada línea de petición.
    – MaClients -> 256 requests. Límite de conexiones simultáneas máximas.

septiembre 20, 2007 at 11:59 am 3 comentarios

Acelerar la ejecución de scripts php con eaccelerator en linux

Eaccelerator es un software que permite la optimización, cacheo de contenido dinámico  y ejecución más veloz mediante el almacenamiento compilado de scripts php.

  1. Instalar eaccelerator 
    http://www.howtoforge.com/eaccelerator_php5_centos5.0
  2.  Crear un fichero eaccelerator.ini en el directorio correspondiente referenciado en php.ini con el siguiente contenido
    extension=”eaccelerator.so”
    eaccelerator.shm_size=”16″
    eaccelerator.cache_dir=”/var/cache/eaccelerator”
    eaccelerator.enable=”1″
    eaccelerator.optimizer=”1″
    eaccelerator.check_mtime=”1″
    eaccelerator.debug=”0″
    eaccelerator.filter=””
    eaccelerator.shm_max=”0″
    eaccelerator.shm_ttl=”0″
    eaccelerator.shm_prune_period=”0″
    eaccelerator.shm_only=”0″
    eaccelerator.compress=”1″
    eaccelerator.compress_level=”9″

    Para ver otras configuraciones: http://www.eaccelerator.net/wiki/Settings 

  3. Crear el directorio /var/cache/eaccelerator con los permisos necesarios

septiembre 20, 2007 at 11:07 am Deja un comentario

Montar un sistema de archivo remoto usando sshfs

Traducción libre del artículo http://www.debianadmin.com/mount-a-remote-file-system-through-ssh-using-sshfs.html

Introducción

Sshs es un sistema de archivos cliente basado en ssh.
Por lo tanto necesitaremos un servidor ejecutando un servidor ssh y un cliente con sshfs, en donde se montará el sistema de archivos mediante el uso de ssh.

Características

  • Basado en FUSE ( framework de sistema de ficheros para linux que permite entre otras cosas encriptar sistemas de ficheros, comprimir etc)
  • Multi hilo
  • Permite lecturas de hast 64k
  • Cacheo del contenido de los directorios
  • Funciona en el espacio de usuario por lo que no es necesario privilegios especiales para hacerlo funcionar.

Instalación en Debian

#apt-get install fuse-utils sshfs
# modprobe fuse

Uso

$ sshfs usuario@maquina: punto_de_montaje

Esto montará el directorio home del usuario en el directorio local punto_de_montaje. El directorio deberá tener los permisos adecuados. Si quisiéramos montar otro directorio deberíamos hacerlo  

Ejemplo

  1. Crear el punto de montaje:
    #mkdir /mnt/remote
  2. Cambiar los permisos:
    #chown [nombre-usuario]:[nombre-grupo] /mnt/remote/
  3. Añadir el usuario al grupo fuse
    #adduser [usuario]  fuse
  4. Iniciar sesión con el usuario y monta el sistema de ficheros remoto
    #sshfs usuario-remoto@servidor-remoto:/remoto/directorio /mnt/remote/

Para desmontar el directorio

fusermount -u punto_de_montaje

septiembre 19, 2007 at 1:27 pm 1 comentario

Descubrir los puertos abiertos en una máquina. Nmap, lsof y netstat.

Para poder ver los puertos abiertos de una máquina podemos hacerlo de 3 maneras, 2 internas y una externa:

 Con lsof (list of open files):

/usr/sbin/lsof -i -n | egrep 'COMMAND|TCP|UDP'

-i :lista sólo los ficheros relacionados con IP
-n: evita la resolución de nombres

Con netstat:

netstat -tulp

Con nmap :

nmap -sTU localhost

 Con nmap podemos comprobarlo también desde una máquina externa. Deberán coincidir con los resultados obtenidos anteriores. Sirve para comprobar si el firewall áctúa como deseamos :

nmap -sTU ip_maquina

abril 24, 2007 at 9:40 am 1 comentario

PARA COMPROBAR QUE SERVICIO SE ESTÁ EJECUTANDO EN UN PUERTO DESCONOCIDO (obtenido del manual de seguridad de redhat 8)

nmap -sT -O maquina
netstat -anp | grep [num_puerto]
lsof -i | grep [num_proceso_mostrado_por_netstat]

Obtendremos qué servicio se está ejecutando

Para detener servicios de los que conozcamos el nombre:

Buscamos en el directorio de scripts de inicio el nombre de los servicios que se ejecutan:
cd /etc/init.d
grep nombre_servicio(p.e. rpc.statd,ipp) *

Obtenemos el runlevel que se ejecuta por defecto en el sistema (generalmente 3 en sistemas red-hat, en ubuntu 2)
grep ':initdefault:' /etc/inittab

Detenemos el servicio en el runlevel adecuado:
Para red hat por ejemplo: find {init,rc}.d -name "*nfslock*"
para otros basta con quitar el nelace del directorio correspondiente.

Podemos buscar también en otros runleveles , en /etc/rc.local o servicios de xinetd en /etc/xinetd (modificando a yes la opción disabled:

find {init,rc}.d -name "*nombre_servicio (nfslock por ejemplo)*"

abril 18, 2007 at 6:33 am Deja un comentario

Entradas antiguas Entradas recientes


Categorías

Feeds