Páginas

Buscar este blog

sábado, 15 de diciembre de 2012

Instalar WebDAV Centos 5.8

Fuente: http://www.howtoforge.com/how-to-set-up-webdav-with-apache2-on-centos-5.5
http://desarrolloweb.com

WebDAV es un protocolo de Versiones y Autoría distribuido (Distributed Authoring and Versioning) para la Web. Permite la administración sencilla de documentos y procedimientos (scripts) en un servidor http y tiene características diseñadas para simplificar la administración de versiones entre varios autores.

Configurar WebDAV con Apache2 en un servidor CentOS 5.5. El servidor es Centos 5.8 con dirección IP 192.168.0.1.

Instalar WebDAV

yum install httpd

El siguiente paso es abrir el archivo /etc/httpd/conf/httpd.conf y asegurarse de que los módulos dav y dav_fs están habilitados en la sección LoadModule (que debe estar activado por defecto):


A continuación, creamos los enlaces de inicio del sistema para Apache y lo iniciamos:

service httpd start
chkconfig httpd on

Creando un host virtual:

Ahora creamos un host virtual por defecto de Apache en el directorio / var/www/web1/web, agregando un host virtual por defecto al final de /etc/httpd/conf/httpd.conf. Si usted ya tiene un host virtual para el que desea habilitar WebDAV, debe ajustar este tutorial para su situación.

En primer lugar, creamos el directorio /var/www/web1/web y hacer que el usuario y el grupo Apache (Apache) propietario de ese directorio:

mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/web

Luego se agrega el nuevo host virtual al final de /etc/httpd/conf/httpd.conf:

Recargar Apache:

service httpd reload

Configurar el servidor virtual para WebDAV:

Creamos el archivo de contraseñas WebDAV /var/www/web1/passwd.dav con la prueba de usuario (la opción-c crea el archivo si no existe):

htpasswd -c /var/www/web1/passwd.dav test

Se le pedirá que escriba una contraseña para el usuario de prueba test.

(Por favor, no utilice la opción-c si / var/www/web1/passwd.dav ya existe, ya que esto vuelva a crear el archivo de cero, lo que significa que perderá todos los usuarios de ese archivo!).

Los permisos del fichero /var/www/web1/passwd.dav lo cambiamos para que sólo root y los miembros del Grupo Apache puede acceder:

chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav

Modificamos nuestro vhost agregando al final del archivo /etc/httpd/conf/httpd.conf:

[...]
Alias /webdav /var/www/web1/web

DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
[...]

La directiva Alias ​​permite (junto con ) que cuando se llama /webdav, WebDAV se invoca, pero todavía se puede acceder a la raíz del documento conjunto del host virtual. Todas las demás URL del host virtual sigen siendo HTTP.

Recargar apache:

service httpd reload

Probando WebDAV:

Instalamos cadaver, un cliente de línea de comandos WebDAV:

yum install cadaver

Para probar si funciona WebDAV tecleamos:

cadaver http://localhost/webdav/

Se le solicitará un nombre de usuario. Escriba test y luego la contraseña para el usuario de prueba. Si todo va bien, debería tener acceso WebDAV lo que significa que está funcionando bien. Escriba quit para salir de la consola WebDAV:


He creado un par de páginas html sencillas llamadas index.html y maquetar_fluida.html con la ayuda de titoriales de desarrolloweb.com para cargarlas desde el cliente utilizando el navegador web:






Linux es genial!.

sábado, 1 de diciembre de 2012

Dnsmasq DHCP Filter


Fuente: http://home.swkls.org/dnsmasq-on-centos-6-for-filtering/
Autor: Steve Andrews

El filtrado DNS es un método rápido y fácil para bloquear el acceso a ciertos sitios web. Se puede utilizar para bloquear la publicidad de terceros dentro de sitios web, bloquear sitios conocidos de malware infectados, filtro de contenido por ejemplo pornografía, etc.

Dnsmasq en CentOS 5.8. Dnsmasq es un ligero DNS de reenvío y almacenamiento en caché del servidor y el servidor DHCP. Asumiendo un servidor con dos tarjetas de red eth0 conectada a Internet y eth1 a la red local.


Instalar dnsmasq

yum install dnsmasq

Modificando /etc/dnsmasq.conf


Creando un fichero específico para los namaserves


Creando el grupo y usuario dnsmasq

groupadd -r dnsmasq
useradd -r -g dnsmasq dnsmasq

Tenemos una lista de bloqueo en el archivo de configuración /etc/dnsmasq.d directorio. Las entradas son básicamente una dirección IP y un dominio, tales como:

address=/facebook.com/127.0.0.1

Podemos crear la lista manualmente:



Agregar regla iptables para permitir acceso al puerto UDP 53
$ipt -A INPUT -s $NETLAN -i eth1 -p udp --sport 53 --dport 1024:65535 -j ACCEPT
service iptables save
service iptables restart

service dnsmasq start
chkconfig dnsmasq on

Para la prueba, se puede establecer la dirección IP del servidor DNS en otra máquina para que apunte al servidor dnsmasq. Puede ser una buena idea limpiar la caché de DNS en la máquina con ipconfig /flushdns asumiendo un ordenador con Windows. Entonces, podemos utilizar nslookup para comprobar Dnsmasq en este caso desde un cliente centos6:


Como era de esperar, haciendo una búsqueda por facebook.com devuelve la dirección de bucle invertido (127.0.0.1), que también debería devolver un error 404 Not Found si intentamos acceder a la página con un navegador web.

También podemos confirmar que está trabajando viendo el archivo de registro que puede encontrar en /var/log/dnsmasq.log.

Ya que estamos en el tema de los registros, vamos a crear un archivo de registro nuevo rotation para nuestros registros de dnsmasq. En primer lugar crear un nuevo archivo en /etc/logrotate.d y luego llenar el nuevo archivo con el siguiente:



Esto debe rotar el registro diario y mantener sólo los 32 registros más actuales en el archivo. Usted puede eliminar el "rotate 32 'o aumentar el número si lo desea.

Podemos mejorar las cosas un poco de sirviendo una página de bloque personalizado en lugar de enviar gente a una página 404, pero necesitamos instalar Apache en primer lugar:

yum install httpd

Tiene que crear una apropiada regla iptables apropiada:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
chconfig --levels 235 httpd on

Una sencilla pagina index

vim /var/www/html/index.html


Podemos probar que nuestra página de bloqueo está trabajando, navegando a la dirección IP del servidor, en mi caso 192.168.0.1. También vamos a utilizar esa IP sobre las futuras modificaciones de lista en lugar de 127.0.0.1.

En este momento el bloqueador de páginas un trabajo reenviador DNS y servidor de almacenamiento en caché, pero no bloquea mucho. Vamos a ver como rellenar una lista más grande descargando el paquete de lista de negra de Shalla.de para este ejemplo, extraer la lista de spyware, y formato para Dnsmasq. En primer lugar, vamos a editar nuestro archivo /etc/dnsmasq.conf archivo para incluir otra lista de bloques:

cd /etc
echo "conf-file=/etc/dnsmasq.d/spyware" >> dnsmasq.conf

Descargar y descomprimir blacklist tarball:
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

tar -xzvf shallalist.tar.gz
cd BL/spyware
sed -e 's%^%address=/%' domains > spyware
sed -i 's%$%/192.168.0.1%' spyware
cp spyware /etc/dnsmasq.d/
cd /etc/dnsmasq.d
ls

Veremos un nuevo archivo "spyware" en el directorio.
Reiniciar servicio dnsmasq

service dnsmasq restart

Para la prueba, utilice el equipo cliente configurado anteriormente y realizar un nslookup en cualquier nombre de dominio incluido en el archivo "spyware".

También podemos añadir nuevas listas de bloqueo en nuestro fichero dnsmasq.conf listas negras para otros también. Sólo es necesario añadir una nueva línea en el archivo dnsmasq.conf para una nueva lista (ej.: conf-file =/ etc/dnsmasq.d/porn), crear formato de lista y asegúrese de que está en la carpeta correcta /etc/dnsmasq.d en nuestro caso), y reiniciar el servicio de dnsmasq.

DHCP - dnsmasq asignando direcciones IP :
dhcp-range=192.168.0.150,192.168.0.200

De modo que nuestro archivo /etc/dnsmasq.conf queda así:


Comprobaciones finales desde el cliente:



Automatizar el proceso de descarga y formateo nuestro blacklist(s).

service crond start
chkconfig crond on

Siguiendo con Shalla Blacklists como ejemplo, formatearemos tres listas del total descargado: spyware, redirector, y porn. También es necesario estar seguro que las listas están referenciadas en el archivo /etc/dnsmasq.conf

conf-file=/etc/dnsmasq.d/spyware
conf-file=/etc/dnsmasq.d/redirector
conf-file=/etc/dnsmasq.d/porn


A continuación vamos a escribir un script (secuencia de comandos) para buscar y dar formato a nuestras listas negras. Creamos un nuevo fichero en /etc/dnsmasq.d/ directorio llamado blacklistprep.sh con el siguiente contenido:

cd /etc/dnsmasq.d
rm shallalist.tar.gz
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar -zxvf shallalist.tar.gz
cd /etc/dnsmasq.d/BL/porn
# edit porn list for dnsmasq formatting
sed -e 's%^%address=/%' domains > porn
sed -i 's%$%/192.168.0.1%' porn
cp porn /etc/dnsmasq.d/
# edit redirect list for dnsmasq formatting
cd /etc/dnsmasq.d/BL/redirector
sed -e 's%^%address=/%' domains > redirector
sed -i 's%$%/192.168.0.1%' redirector
cp redirector /etc/dnsmasq.d/
# edit malware list for dnsmasq formatting
cd /etc/dnsmasq.d/BL/spyware
sed -e 's%^%address=/%' domains > spyware
sed -i 's%$%/192.168.0.1%' spyware
cp spyware /etc/dnsmasq.d/
service dnsmasq restart

El mismo script un poco más elaborado sería algo como esto:


Ahora, podemos programar el script con crontab para ejecutar cada semana a la medianoche. En nuestra línea de comando, introducimos:

crontab -e

00 0 * * 0 sh /etc/dnsmasq.d/blacklistprep.sh

Para ejecutar manualmente, debemos hacer lo siguiente:

cd /etc/dnsmasq.d
sh ./blacklistprep.sh

Las tres listas contienen alrededor de 873.000 entradas. A partir de este post he observado que algunas entradas (es decir, dominios), al menos en las listas de Shalla, contienen un carácter raro o dos, como el carácter de barra vertical, que hace que Dnsmasq se ahogue en el reinicio. 

Tal vez sea mejor dejar caer el reinicio del servicio al final del script blacklistprep.sh (/sbin/service dnsmasq restart) y reiniciar manualmente el servicio para atrapar a estos sucesos. 

Solucionar errores archivo porn:

Al intentar reiniciar el servicio dnsmasq nos advierte de un error en el formato de una de las entradas
dnsmasq: error at line 620442 of /etc/dnsmasq.d//porn

La solución fué sencilla, aislé la entrada del error así;
cd /etc/dnsmasq.d/
cat porn | nl | grep 406923
406923 address=/hitchbitch.tv|/192.168.0.1


Luego editar el archivo utilizando vi 
vim porn
esc 
/hitchbitch.tv
address=/hitchbitch.tv|/192.168.0.1

Borrar el caracter barra vertical que aparece justo después de tv:


guardar y cerrar
:wq
Reiniciar dnsmasq para comprobar si existen más errores. 
/sbin/service dnsmasq restart

En mi caso encontré 4 entradas erróneas:

406923 address=/hitchbitch.tv|/192.168.0.1
435758 address=/jaydenjaymes,com/192.168.0.1
501295 address=/moherland.pl,/192.168.0.1
620442 address=/sendesık.com/192.168.0.1


Otras listas no tienen que ser un problema cuando se utiliza una línea de reinicio en términos de errores en el formateo. Por ejemplo, hagamos una prueba con la lista violence repitiendo el proceso:


Fuentes de listas de dominios:

Integral: 

Ad-Blocking:

Linux es genial!

domingo, 18 de noviembre de 2012

Servidor DNS DHCP RHEL 5


Servidor DNS y servidor DHCP en RHEL 5 y Centos 5

Fuente: http://www.alcancelibre.org/staticpages/index.php/ejercicio-ddns-dhcp

yum -y install dhcp bind bind-chroot caching-nameserver vim-enhanced

# Intel Corporation 82801G (ICH7 Family) LAN Controller
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:13:D4:B7:9D:70
ONBOOT=yes
PEERDNS=no

# D-Link System Inc DGE-528T Gigabit Ethernet Adapter
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=5C:D9:98:9A:64:8A
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
PEERDNS=no

cd /var/named/chroot/var/named
mkdir dynamics
chmod 770 dynamics/
chown named.named dynamics/

touch /var/named/chroot/var/named/dynamics/red-local.net.zone
touch /var/named/chroot/var/named/dynamics/0.168.192.in-addr.arpa.zone

vim /var/named/chroot/var/named/dynamics/red-local.net.zone

$TTL    86400
@               IN      SOA     servidor.zapto.org.     root.zapto.org.  (
                20121226;  numero de serie
                28800   ;  tiempo de refresco
                7200    ;  tiempo entre reintentos
                604800  ;  expira si se deja de resolver
                86400   ;  tiempo total de vida
                )
@               IN      NS      servidor.zapto.org.
@               IN      A       192.168.0.1
servidor        IN      A       192.168.0.1
~ 

touch /var/named/chroot/var/named/dynamics/0.168.192.in-addr.arpa.zone
$TTL    86400
@               IN      SOA     servidor.zapto.org.     root.zapto.org.  (
                20121226;  numero de serie
                28800   ;  tiempo de refresco
                7200    ;  tiempo entre reintentos
                604800  ;  expira si se deja de resolver
                86400   ;  tiempo total de vida
                )
@               IN      NS      servidor.zapto.org.
1               IN      PTR     servidor.zapto.org.

chown named:named /var/named/chroot/var/named/dynamics/0.168.192.in-addr.arpa.zone
chown named:named /var/named/chroot/var/named/dynamics/red-local.net.zone
touch /var/named/chroot/etc/named.conf
vim /var/named/chroot/etc/named.conf

//
// Sample named.conf BIND DNS server 'named' configuration file
// for the Red Hat BIND distribution.
acl     "red-local" {
                     127.0.0.0/8;
                     192.168.0.0/24;
                     };

options {
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-recursion { red-local; };
        allow-query { red-local; };
        forwarders { 8.8.8.8; 8.8.4.4; };
        forward first;

};

include "/etc/named.rfc1912.zones";
include "/etc/rndc.key";

zone "red-local.net" {
        type master;
        file "/var/named/dynamics/red-local.net.zone";
        allow-update { key "rndckey"; };
};
zone "0.168.192.in-addr.arpa" {
        type master;
        file "/var/named/dynamics/0.168.192.in-addr.arpa.zone";
        allow-update { key "rndckey"; };
};
Generar clave rndckey
/usr/sbin/dns-keygen clavesecreta
1488SCpaXu0MZlGW3w4v9WsjJW4JPsUkQG6KyfyqTIeASGLI3OkI2dsmx5Lr

Copiar y pegar la clave en /etc/rndc.key
key "rndckey" {
        algorithm       hmac-md5;
        secret          "key "rndckey" {
        algorithm       hmac-md5;
        secret          "1488SCpaXu0MZlGW3w4v9WsjJW4JPsUkQG6KyfyqTIeASGLI3OkI2dsmx5Lr";
};
service named start
chkconfig named on
vim /etc/resolv.conf

; generated manual dns bind
search servidor.zapto.org
nameserver 127.0.0.1


vim /etc/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#
include "/var/named/chroot/etc/rndc.key";
server-identifier servidor.zapto.org;
ddns-update-style interim;
ddns-domainname "zapto.org.";
ddns-rev-domainname "in-addr.arpa.";
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option domain-name "zapto.org";
option ip-forwarding off;

zone localdomain. {
        primary 127.0.0.1;
        key rndckey;
}
zone  0.168.192.in-addr.arpa. {
        primary 192.168.0.1;
        key rndckey;
}
zone red-local.net. {
        primary 192.168.0.1;
        key rndckey;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option domain-name-servers 192.168.0.1;
        range 192.168.0.150 192.168.0.199;

}

service dhcpd start chkconfig dhcpd on
vim /etc/sysconfig/dhcpd



Linux es genial!

lunes, 22 de octubre de 2012

Firewall redes linux

Viene de aquí
Script de inicialización de suse ubicado en /etc/init.d/firewall
# cat /etc/init.d/firewall
### BEGIN INIT INFO
# Provides: SuSEfirewall2_init
# Required-Start: $local_fs
# Required-Stop:  $local_fs
# Default-Start:  3 5
# Default-Stop:   0 1 2 6
# Short-Description: SuSEfirewall2 phase 1
# Description: SuSEfirewall2_init does some basic setup and is the
#       phase 1 of 2 of the SuSEfirewall initialization
### END INIT INFO

SUSEFWALL="/usr/local/bin/fw_nat_centos"
BOOTLOCKFILE="/var/lock/SuSEfirewall2.booting"

test -x $SUSEFWALL || exit 5
test -r /etc/sysconfig/SuSEfirewall2 || exit 6

startmode=close
if (. /etc/sysconfig/SuSEfirewall2; test "$FW_BOOT_FULL_INIT" = yes); then
        startmode=start
fi >/dev/null 2>&1

. /etc/rc.status

rc_reset

case "$1" in
    start)
        echo -n "Loading basic firewall rules "
        if test -x /usr/sbin/iptables; then
                /bin/rm -rf /var/run/SuSEfirewall2
                $SUSEFWALL --bootlock -q $startmode
        else
                echo -n "${extd}iptables not available (yet)${norm}"
                rc_failed 5
        fi
        rc_status -v
        ;;
    stop)
        rc_failed 0
        rc_status
        ;;
    restart|force-reload)
        $0 start
        ;;
    try-restart|reload)
        if ($0 status) >/dev/null 2>&1; then
            $0 start
        else
            rc_reset
        fi
        ;;
    status)
        echo -n "Checking the status of SuSEfirewall2 "
        { test -e /proc/net/ip_tables_names && iptables -nL reject_func >/dev/null 2>&1; } || rc_failed 3
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart|reload|force-reload}"
        exit 1
        ;;
esac

# Set exit status
rc_exit

# cat /usr/local/bin/fw_nat_centos
#!/bin/sh
#define variables
ipt="/sbin/iptables"
mod="/sbin/modprobe"
LAN_IFACE="eth1"
WAN_IFACE="eth0"
NETLAN="192.168.0.0/24"
IP_SERVER="192.168.0.1"

#basic set of kernel modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE

#add these for IRC and FTP
$mod ip_nat_ftp
$mod ip_nat_irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc

# Flush all active rules and delete all custom chains
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X

#Set default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT

#this line is necessary for the loopback interface
#and internal socket-based services to work correctly
$ipt -A INPUT -i lo -j ACCEPT
$ipt -A OUTPUT -o lo -j ACCEPT

# Activar IP masquerading
#$ipt -t nat -A POSTROUTING -o $WAN_IFACE -s $NETLAN -d 0/0 -j MASQUERADE
$ipt -t nat -A POSTROUTING -o $WAN_IFACE -j MASQUERADE

# Permitir conexion previamente establecida por la interfaz internet eth0  
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -i eth0

# permitir LAN acceda al firewall
$ipt -A INPUT -j ACCEPT -p all -s $NETLAN -i eth1
$ipt -A OUTPUT -j ACCEPT -p all -d $NETLAN -o eth1

$ipt -A FORWARD -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

# Accept important ICMP messages
$ipt -A INPUT -p icmp --icmp-type echo-request  -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

# Restringir acceso SSH solamente a hosts LAN
$ipt -A INPUT -i $LAN_IFACE -p tcp -s $NETLAN --dport 22 --sport 1024:65535 -m state --state NEW -j ACCEPT

# Restringir ciertos servicios dudosos
$ipt -A OUTPUT -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
$ipt -A FORWARD -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP

# open access to samba server for lan users only 
$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 137 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p udp --dport 137 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 138 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 139 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p udp --dport 139 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 445 -j ACCEPT
$ipt -A INPUT -s $NETLAN -m state --state NEW -p udp --dport 445 -j ACCEPT

# Aceptamos que consulten los DNS
$ipt -A OUTPUT -s $NETLAN -o eth1 -p udp --dport 53 --sport 1024:65535 -j ACCEPT
$ipt -A INPUT -s $NETLAN -i eth1 -p udp --sport 53 --dport 1024:65535 -j ACCEPT

# Multicast de DNS (mDNS)
$ipt -A OUTPUT -s $NETLAN -o eth1 -p udp --dport 5353 -j ACCEPT

# Aceptar peticiones DHCP
$ipt -I INPUT -i $LAN_IFACE -p udp --dport 67:68 --sport 67:68 -j ACCEPT

# allow client to query and receive timeserver
# $ipt -A OUTPUT -o eth0 -p udp -s  --sport 123 -d  --dport 123 -m state --state NEW -j ACCEPT

$ipt -A OUTPUT -o eth1 -p udp -s $NET_LAN --sport 123 -d $IP_SERVER --dport 123 -m state --state NEW -j ACCEPT

# OPEN port by SWAT 
$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 901 -j ACCEPT

# Open port ldap
#$ipt -A INPUT -s $NETLAN -m state --state NEW -p tcp --dport 389 -j ACCEPT

# block all outgoing traffic to internet from ports 0:1024
$ipt -A OUTPUT -o $WAN_IFACE -p tcp --sport 1:1024 -j DROP
$ipt -A OUTPUT -o $WAN_IFACE -p udp --sport 1:1024 -j DROP

# Log all other input from internet
$ipt -A INPUT -i $WAN_IFACE -j LOG
                          
# Log all other forward 
$ipt -A FORWARD -j LOG --log-prefix "Forward:"         

# log all other input form lan
$ipt -A INPUT -i $LAN_IFACE -j LOG --log-prefix "from LAN:"

# enable forwarding - done last for security
echo " - Enabling firewall.."
#echo "1" > /proc/sys/net/ipv4/ip_forward

# saving iptables rules (works for Redhat/Fedora) (perhaps other distributions too)
/sbin/service iptables save

#
/sbin/iptables -nL

Linux es genial!

Servidor DNS OpenSuse

Configurar servidor DNS - opensuse 12 (mantis).

Como decía mi profesor después de conocer la teoría la implementación posterior será posible en cualquier distribución linux. En este caso le toca el turno a Opensuse.

Documentació en català lliure descàrrega: http://svn.projectes.lafarga.cat/svn/iceupc/
Fuente: http://acacha.org/mediawiki/index.php/

Instalación Opensuse RAID 1, más un disco duro de apoyo y dos tarjetas de red, detallaresmos la configuración del servidor DNS.

Este servidor incluye DHCP,  los clientes obtendrán una ip de forma dinámica y Samba para habilitar una red realmente mixta y puedan acceder tanto ordenadores windows linux bsd mac, etc.  Los clientes, excepto la máquina zeus (portatil), pertenecen a un entorno virtual (VirtualBox).

Configuración del cortafuegos nat

El archivo /etc/dhcpd.conf
Samba ha sido previamente configurado.  De todas formas será el próximo tema a tratar.

Después de conocer el funcionamiento de un servidor DNS no será dificil modificar o crear los archivos de configuración necesarios para su correcto funcionamiento, son estos:

interfaz eth1
ip servidor 192.168.0.1
network 192.168.0.0/24

interfaz eth0
Archivo de zona directa /var/lib/named/db.alumnat.directa


Archivo de zona inversa /var/lib/named/db.192.168.0


Archivo /etc/resolv.conf


Archivo /etc/hosts
Fichero /etc/named.d/forwarders.conf


Comprobación con nslookup
Comprobación con dig
Comprobación con el comando ping

Configuración de los clientes xp y linux:
Fichero /etc/hosts
Archivo /etc/resolv.conf
Archivo /etc/dhcpd/dhcpclient.conf

Comprobación dhcp xp

Comprobación nslookup xp


Comprobación ping xp


Comprobar conexión a Internet xp



Comando ping desde xp



Linux es genial!.