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.
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.
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
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!
Analizar nuestro correo electrónico utilizando SpamAssassin en postfix (sin amavis) (Nueva Revision)
Este tema ya se trató en el blog, pero me decidí a revisar nuevamente la guía ya que ahora incluyo un script que mueve los mails marcados como SPAM a una carpeta "SPAM" dentro de cada directorio MailDir.
Spamassasin es un filtro semi-inteligente que aplica toda una serie de reglas -de inteligencia artificial- para decidir si un mensaje es o no un mensaje indeseado (SPAM), con propaganda no solicitada.
A continuacion vamos a ver como proteger nuestro sistema postfix con spamassasin.
Instalacion y configuracion shorewall en DEBIAN con 2 interfaces.
Shorewall es una robusta y extensible herramienta de alto nivel para la configuración de firewall. Solo necesita que se le proporcionen algunos datos en algunos archivos y éste creará las reglas correspondientes a través de iptables.
Los pasos a seguir son los siguientes:
1) apt-get install shorewall
2) cp * /usr/share/doc/shorewall/default-config /etc/shorewall
3) Editar los siguientes archivos en /etc/shorewall
Inicio Shorewall
/etc/default/shorewall
Donde dice startup=0 cambiarlo por startup=1
Interfaces
/etc/shorewall/interfaces
En este archivo se establecen las interfaces de las zonas a ser tomadas en cuenta por el firewall. Se establecen las que corresponden a la de Internet y Red Local.
En el siguiente ejemplo, se cuenta con una interfaz eth1 para acceder hacia Internet, y una interfaz eth0 para acceder hacia la LAN
net eth1 detect dhcp
loc eth0 detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Zonas
/etc/shorewall/zones
En el archivo zones se definen las zonas que se administraran del firewall.
fw firewall
net ipv4
loc ipv4
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Reglas
/etc/shorewall/rules
Este es el archivo de configuración más importante de Shorewall, ya que aquí se definen las reglas que permitirán o denegarán el acceso a servicios y puertos desde y hacia zonas o el firewall. También se puede definir las reglas DNAT y registro de ciertos paquetes.
ACCEPT net $FW tcp 22
(con esto abrimos el puerto del ssh para poder ingresar desde afuera de ser necesario, de lo contrario no hace falta)
ACCEPT loc $FW tcp 3128
(con esto abrimos el puerto del proxy en el caso de tener instalado)
DNAT net loc:192.168.0.10:27016 tcp 27016
(Un ej de como abrir el puerto 27016 en la IP indicada, remplazamos por lo que querramos, muy util para poder administrar los puertos en las PC donde se quiere utilizar programas p2p)
Mas ejemplos en http://www.shorewall.net/ports.htm
Politicas
/etc/shorewall/policy
En este archivo se establecen las políticas por defecto para paquetes que viajan entre una zona hacia otra.
fw loc ACCEPT
loc fw ACCEPT
fw net ACCEPT
net all DROP
all all REJECT
Enmascaramiento
/etc/shorewall/masq
Este archivo se lo utiliza para definir enmascaramiento (masquerading) o NAT, esto es útil cuando tenemos una red privada con la cual queremos navegar a través de un Proxy. En el siguiente ejemplo aplicaremos enmascaramiento para la interfaz eth0 (Red Lan) la cual sale por medio de la interfaz eth1 que es nuestra IP Pública:
eth1 eth0
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Lo mas probable es que no les inicie bien el shorewall cuando prendan la PC, para resolver ese problema hacemos lo siguientes pasos.
1) cd /etc/init.d/
2) Creamos un archivo de texto llamado shoreclear.sh o el nombre que quieran. Dentro agregamos lo siguiente:
shorewall stop
sleep 4
shorewall clear
sleep 4
shorewall start
3) Lo guardan y le dan permiso de ejecucion.
chmod +x shoreclear.sh
4) Creamos un link blando en /etc/rc2.d/ de la siguiente manera.
cd /etc/rc2.d/
ln -s /etc/init.d/shoreclear.sh
mv shoreclear.sh S92shoreclear
Con eso cada vez que inicie el sistema va a ejecutar el script que hicimos en los pasos anteriores.
Analizar nuestro correo electrónico utilizando SpamAssassin en postfix (sin amavis)
Spamassasin es un filtro semi-inteligente que aplica toda una serie de reglas -de inteligencia artificial- para decidir si un mensaje es o no un mensaje indeseado (SPAM), con propaganda no solicitada.
A continuacion vamos a ver como proteger nuestro sistema postfix con spamassasin.
Actualizar el propietario para todos nuestros dominios de nuestro sistema VHCS
Utilizando PHP-CLI (PHP Command Line Interface) programé un pequeño script que conecta a nuestra base de datos mysql de VHCS y obtiene el listado de todos los dominios presentes en el sistema y también a que uid/gid (User ID/Group ID) corresponden en la tabla de usuarios del linux.
Este script puede ser útil para setear el propietario luego de restaurar un backup de todas las cuentas o también para establecer el propietario de los archivos creados con apache/php bajo el usuario propio del servidor, usualmente www-data.
Como crear una imagen ISO desde consola
Muchas veces necesitamos hacer un backup de un CD y nos gustaria que este sea guardado en un imagen iso, para cumplir dicha necesidad debemos realizar el siguiente procedimiento.
1. Creando la imagen:
# dd if=/dev/CDROM of=/home/user/backup.iso
2. Montamos la imagen para comprobar que esten correctamente los datos:
# mount -o loop /home/user/backup.iso /mnt/backup
Esto es todo
Monitorear discos utilizando S.M.A.R.T.
La tecnología S.M.A.R.T. acrónimo de Self Monitoring Analysis and Reporting Technology consiste en la capacidad de detección de fallos del disco duro. La detección de los fallos con la suficiente anticipación permite al usuario el poder realizar una copia de su contenido, o reemplazar el disco, antes de que se produzca una pérdida de datos irrecuperable.
Para utilizar esta tecnología, nuestro BIOS debe soportartarla.
En este articulo vamos a ver como configurar el demonio smartctl para que nos avise de cualquier alteración importante en los atributos SMART de nuestros discos.








