Auditar Linux con Lynis
Lynis tiene como objetivo darnos un informe de auditoria sobre nuestro servidor, en forma sensilla y con una vista muy amigable.
1. Descomprimimos la utlidad:
# wget http://www.rootkit.nl/files/lynis-1.1.7.tar.gz
# tar zxfv lynis-1.1.7.tar.gz
2. Ejecutamos la aplicacion:
# cd lynis-1.1.7
# ./lynis –check-all
Con esto comenzamos la auditora de nuestro sistema, acontinuacion vamos a dar algunos titulos de los analisis:
[+] Boot and services
[+] Kernel
[+] Memory and processes
[+] Users, Groups and Authentication
[+] Shells
[+] File systems
[+] Ports and packages
[+] Networking
[+] Printers and Spools
[+] Software: e-mail
[+] Software: firewalls
[+] Software: webserver
[+] Databases
[+] LDAP Services
[+] Software: PHP
[+] Software: Malware scanners
[+] System Tools
[+] Home directories
[+] Logging and files
[+] Banners and identification
[+] Scheduled tasks
[+] Accounting
[+] Time and Synchronization
[+] Cryptography
[+] Virtualization
Veamos una captura de pantalla de la utilidad:
Aqui vemos el reporte que nos entrego al analizar uno de los equipos del staff:
Saludos
TrueCrypt 5 en Debian Etch
Les dejamos un tutorial realizado por la gente de Kriptopolis, donde nos explican como instalar la herramienta de encriptacion truecrypt en debian etch.
Desactivar el Metodo HTTP Trace Apache2
Es un metodo de petición HTTP utilizado para la depuración de las entradas de los usuarios.
En este caso vamos a desactivarlo ya que mediente el se puede ejecutar un ataque web del tipo XST.
1. Comprobamos el estado del metodo:
# telnet mywiki 80
Trying 1.1.1.1…
Connected to mywiki.
Escape character is ‘^]’.
TRACE / HTTP/1.0
Host: 1.1.1.1
HTTP/1.1 200 OK
Date: Sun, 22 Jun 2008 17:38:08 GMT
Server: Apache
Connection: close
Content-Type: message/http
Como podemos ver el resultado fue “200 OK” con esto vemos que el metodo se encuentra activo
2. Desactivamos el metodo:
Debemos agregar a la configuracion del servidor apache la siguiente variable:
# vi /etc/apache2/apache2.conf
TraceEnable Off
Ahora reiniciamos el servicio y verificamos nuevamente el estado:
# /etc/init.d/apache2 restart
# telnet mywiki 80
Trying 1.1.1.1…
Connected to mywiki.
Escape character is ‘^]’.
TRACE / HTTP/1.0
Host: 1.1.1.1
HTTP/1.1 403 Forbidden
Date: Sun, 22 Jun 2008 17:43:40 GMT
Server: Apache
Last-Modified: Mon, 31 Mar 2008 21:28:05 GMT
ETag: “7fa0c-470-53c8e340″
Accept-Ranges: bytes
Content-Length: 1136
Connection: close
Content-Type: text/html
Como vemos ya no tenemos acceso al metodo “Forbidden”.
Estructura básica de GNU/Linux
Paso a detallar la estructuras básicas en GNU/Linux.
/
Raíz (el equivalente al C: de windows)/bin
Binarios y ejecutables del sistema.
/boot
Aquí se encuentra lo mas importante del sistema; el kernel y los archivos necesarios para que el sistema funcione correctamente.
/dev
Archivos que se relacionan con los diferentes dispositivos que pueden estar funcionando en una PC (discos duros, terminales, sonido, video, lectores dvd/cd, etc)
/etc
Uno de los mas importantes, porque se encuentran todas las configuraciones del sistema.
/home
Aquí cada usuario posee un directorio donde se guarda toda su configuración, los programas instalados y documentos personales.
/usr
Jerarquía secundaria para datos compartidos de solo lectura (Unix system resources).
/root
Similar al /home pero para el usuario root (solo puede ser visto por el administrador)
/var
Archivos variables, como son logs, bases de datos, directorio raíz de servidores HTTP y FTP, colas de correo, archivos temporales, etc.
Recuperar Grub luego de instalar Windows
Por circunstancias de la vida, tuve que instalar en la notebook win xp :p … asi que por ese motivo perdi mi querido grub. Leyendo por internet encontre un sitio el cual explica paso a paso como recuperarlo y agregar la sentencia para seleccionar el windows.
Estos son los pasos a seguir:
1. Booteamos con algun Live Cd
2. Montamos la particion de nuestro linux, por ej:
# mount /dev/sda1 /media/prueba
3. Hacemos un backup de la configuracion del Grub.
# cp /media/prueba/boot/grub/menu.lst /media/prueba/home/situ/menus.lst
4. Restauramos nuestro grub
# grub
#grub > root (hd0,0)
#grub > setup (hd0)
#grub > quit
4. Agregamos la sentencia para que se puede seleccionar el SO Windows.
# vi /media/prueba/boot/grub/menu.lst
title Windows XP
root (hd0,1)
makeactive
chainloader +1
Fuente: http://apcmag.com/how_to_dual_boot_linux_and_windows_xp_linux_installed_first.htm?page=5
Utilizar etc/aliases en debian para recibir los mails del sistema en una casilla en particular
Antes de comenzar tenemos que tener configurado nuestro MTA (Postfix, Exim, etc..) para enviar mails al exterior. Para ello debemos tener configurado el MTA como internet-site.
A continuación vamos a ver como hacer para que todos los mails dirigido a los usuarios de nuestro linux sean redireccionados a una cuenta en particular, para eso, editamos el archivo /etc/aliases, donde veremos algo asi:
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
clamav: root
De esta forma, vemos que todos los mails de las diferentes cuentas del sistema van dirigidas al usuario root, y como nosotros queremos que esos mails vayan a una cuenta de mail ya existente vamos a agregar una ultima linea que diga algo asi:
root: casilla@dominio.com
Guardamos los cambios y para que estos sean tenidos en cuenta por nuestro MTA tenemos que hacer lo siguiente:
# newaliases
Listo, ahora todos los mails generados por los demonios van a ser automáticamente dirigidos a la cuenta especificada.
Como saber si tu sistema está afectado por la vulnerabilidad en OpenSSH
Si no tienes instalado openssh-server y nunca usaste openssh-client es seguro que no tendrás problema. Pero por las dudas puedes hacer la comprobación con este método. Te recomiendo que lo hagas, porque yo estaba seguro que en mi PC de escritorio jamás había usado OpenSSH y al comprobar por medio del script me dió que el sistema era vulnerable.
Primero abre una Terminal.
Nos descargamos el script de comprobación desde el servidor de Debian:
wget -c http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
Lo descomprimimos:
gunzip dowkd.pl.gz
y le damos permiso de ejecución:
chmod u+x dowkd.pl
Luego lo ejecutamos:
./dowkd.pl user
./dowkd.pl host hostname
Si nos aparece algo similar a esto: /home/username/.ssh/id_dsa.pub:1: weak key significa que nuestra clave ssh se encuentra comprometida. Si no ves las palabras “weak key” no tienes problemas.
Como lo soluciono?
Seguimos desde la Terminal:
sudo apt-get update
sudo apt-get upgrade
Verás que existen actualizaciones para los paquetes openssl y openssh, Acepta las actualizaciones y ahora vamos a regenerar las nuevas claves.
Si el “weak key” apareció al ejecutar el primer script:
ssh-keygen -t dsa -b 1024
Si apareció en el segundo script:
sudo rm /etc/ssh/ssh_host_{dsa,rsa}_key*
sudo dpkg-reconfigure -plow openssh-server
Hecho esto, corremos los scripts nuevamente para ver si se solucionó el problema.
En el caso de no haberse solucionado mira el archivo donde está la clave con error (en mi caso la salida de la terminal era /home/eduardo/.ssh/authorized_hosts:1: weak key) y abre con Gedit el archivo en cuestión (en mi caso /home/eduardo/.ssh/authorized_hosts) y borra la linea afectada (en mi caso 1). Antes un backup del archivo con otro nombre.
Vuelve a ejecutar el script hasta que las dichosas palabritas weak key no aparezcan.
Fuente, el post fue tomado de http://www.ubuntips.com.ar/
ACTUALIZACION: Al actualizar los paquetes se instala también un paquete que testea todo en un solo paso. Tienes que ejecutar desde una Terminal:
ssh-vulnkey -a
Instalando Mod_Security2 en Debian
En esta ocasión vamos a redactar en simples pasos, como poner en producción el modulo del apache mod_security.
modSecurity™ es un firewall de aplicaciones Web embebible que ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorear tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.
Sitio web: http://www.modsecurity.org/
1. Instalamos los paquetes necesarios para el uso del modulo:
# apt-get install libxml2-dev liblua5.1-0 lua5.1 apache2-threaded-dev
2. Bajamos los archivos fuentes de la versión 2.5.1
# cd /tmp
# wget http://www.modsecurity.org/download/modsecurity-apache_2.5.1.tar.gz
3. Descomprimimos las fuentes
# tar zxvf modsecurity-apache_2.5.1.tar.gz
4. Instalamos el modulo.
cd modsecurity-apache_2.5.1/apache2/
# ./configure && make && make install
5. Verificamos que este en archivo mod_security2.so en el directorio: /usr/lib/apache2/modules/
# ls /usr/lib/apache2/modules/
6. Creamos el archivo mod-security2.load el cual trabajara en conjunto con el apache
# vi /etc/apache2/mods-available/mod-security2.load
Agregamos las siguiente líneas:
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so.0
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
7. Activamos el modulo (mod_security requiero el modulo unique_id activo)
# a2enmod mod-security2
# a2enmod unique_id
8. Agregamos para que el apache tome la configuración del modulo.
# vi /etc/apache2/conf.d/mod-security2.conf
Agregamos:
Include /etc/modsecurity2/*.conf
9. Creamos los directorios y los archivos log
# mkdir /etc/modsecurity2
# mkdir /etc/modsecurity2/logs
# touch /etc/modsecurity2/logs/modsec_audit.log
# touch /etc/modsecurity2/logs/modsec_debug.log
10. Copiamos las reglas
# cp /tmp/modsecurity-apache_2.5.1/rules/*.conf /etc/modsecurity2
11. Modificamos las líneas donde hacen alusión a los archivos logs, dejándolas de la siguiente forma.
# vi /etc/modsecurity2/modsecurity_crs_10_config.conf
SecDebugLog /etc/modsecurity2/logs/modsec_debug.log
SecAuditLog /etc/modsecurity2/logs/modsec_audit.log
12. Verificamos que la configuración del apache este correcta
# apache2ctl configtest
13. Reiniciamos el servicio del Apache
# /etc/init.d/apache2 restart
14. Verificamos que este funcionado el modulo,
# cat /var/log/apache2/error.log | grep ModSecurity
Debemos obtener una salida como esta
[Fri May 02 17:55:39 2008] [notice] ModSecurity for Apache/2.5.1 (http://www.modsecurity.org/) configured.
Fuente: http://www.isp-control.net/documentation/howto/security/mod_security_on_debian
Conocer nuestra IP Publica mediante linea de comando
Muchas veces necesitamos saber nuestra direccion IP Publica mediante la linea de comandos, siendo nosotros un "cliente".
Aca les dejo una de las soluciones:
Compartir a estaciones Windows una impresora desde linux usando cups y samba
Este pequeña configuración sirve para compartir las impresoras que ya estén funcionando bajo cups en linux, yo lo probé en debian y ubuntu, pero supongo que será igual para el resto de las distribuciones.
Lo que tenemos que hacer es jugar con el archivo smb.conf de samba, debemos agregar o descomentar las siguientes lineas:
printing = cups
printcap name = cups
Y luego agregamos la sección printers:
comment = All Printers
path = /var/spool/samba
printer admin = root
create mode = 0700
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = yes
Una vez terminada la edición, reiniciamos samba y listo!








