Instalación de openWRT y más en WRT160NL

Iniciado por ChimoC, 23 Febrero 2012, 17:38 PM

0 Miembros y 1 Visitante están viendo este tema.

ChimoC

Buenas:

El autor es el user 5.1 de la página hermana de www.seguridadwireless.net

--------------------------------------------------------------------------

Hacía ya tiempo que tenía ganas de cambiar el firm a  mi router, después de pasar por DD-WRT y no quedar plenamente satisfecho, me decanté por Open WRT, y he aquí el resultado de una ardua pelea por dejarlo a mi gusto.

Primero de todo decir que como la gran mayoría sabreis el Linksys WRT160NL es un router neutro, es decir la sincronización del ADSL la llevará acabo otro router/modem, y con el Linksys gestionaremos todo lo demás.

RESUMEN DE LO QUE HARE


  • 1.- QUE FIRM INSTALO
  • 2.- INSTALACION DEL FIRM
  • 3.- CONFIGURACION DE LA CONTRASEÑA DEL ROUTER
  • 4.- CONFIGURACION DEL ROUTER PARA ACCEDER A INTERNET
  • 5.- CONFIGURACION DE LA WIRELESS
  • 6.- USO DE DISCO EXTERNO PARA INSTALAR EL SISTEMA, DATOS Y PARTICION SWAP
  • 7.- INSTALACION Y CONFIGURACION DE SERVIDOR FTP
  • 8.- INSTALACION Y CONFIGURACION DE CLIENTE TORRENT
  • 9.- OTRAS INSTALACIONES VARIAS
  • 10.- CONFIGURACION DE IPTABLES (FIREWALL) PARA ACCESOS A SERVICIOS Y DETECCION DE ATAQUES/SCANEOS

Empezamos :

1.- QUE FIRM INSTALO ...

La rama para nuestro router sería /backfire/10.03.1/ar71xx
Si accedemos a dicho directorio nos encontramos una larga lista de dispositivos soportados, nosotros nos fijaremos en estos :



Tener en cuenta la fecha, a día de hoy es la versión más reciente, de fecha 21/12/2011.
Hay 4 firms disponibles para el WRT160NL, os explico las diferencias entre ellos :

jffs2-factory            : Son para flashear por primera vez el router desde un firm diferente del tipo WRT y tienen un sistema de archivos de lectura/escritura.
jffs2-sysupgrade       : Son para hacer una actualización del firm si ya estás en OPEN WRT y tienen sistema de archivos de lectura/escritura.
squashfs-factory       : Son para flashear  el router desde un firm diferente del tipo WRT y tienen un sistema de archivos de SOLO lectura.
squashfs-sysupgrade : Son para hacer una actualización del firm si ya estás en OPEN WRT y tienen sistema de archivos de SOLO lectura.

En mi caso como quiero modificar muchos parametros del firm y no voy a actualizar desde otra versión de OpenWRT, instalaré jffs2-factory.


2.- INSTALACION DEL FIRM

ATENCION : Instalar el firm SIEMPRE por cable !!!

En este punto pueden suceder dos cosas, que ahora mismo tengas un firm original o que tengas otro tipo de firm, DDWRT por ejemplo, en caso de que lo hagas desde el firm original, simplemente instala el firm desde la interface web, eso si, recomiendo hacerlo desde IE, no useis Chrome, Firefox ni demás.
Lo primero descarga el firm desde aquí :

http://downloads.openwrt.org/backfire/10.03.1/ar71xx/openwrt-ar71xx-wrt160nl-jffs2-factory.bin

Luego simplemente entra en la interface web y ves a la parte de actualización del firm , en mi caso :



NOTA : Si cuando lleve aproximadamente un 60% de la actualización, nos aparece un mensaje de error, ni caso, reinicia el router y ya estarás en el nuevo firm.



Ya puedes pasar al punto 3 si has instalado el firm desde la interface WEB.

La otra posibilidad es que estés en otro firm WRT, entonces conéctate por telnet/ssh y haz lo siguiente :



wget http://downloads.openwrt.org/backfire/10.03.1/ar71xx/openwrt-ar71xx-wrt160nl-jffs2-factory.bin



Con esto nos descargará el firm, ahora para instalarlo :



mtd -r write openwrt-ar71xx-wrt160nl-jffs2-factory.bin linux



Espera a que el router se reinicie, ten paciencia pues cualquier error en este paso puede resultar fatal.


3.- CONFIGURACION DE LA CONTRASEÑA DEL ROUTER

Lo primero que haremos sera abrir el navegador y conectarnos al router, simplemente http://192.168.1.1 y nos aparecerá lo siguiente :



Aquí deberemos introducir la contraseña que deseamos para nuestro router. Al entrar seguiremos teniendo el mensaje "No password set!", simplemente pinchar debajo, donde dice "Go to password configuration..." y volveremos a poner la contraseña que queremos, a continuación pulsaremos "Save & Apply" (Abajo a la derecha).



Una vez aplicados los cambios arriba nos debería poner Password successfully changed!


4.- CONFIGURACION DEL ROUTER PARA ACCEDER A INTERNET

Bien, para empezar a configurar el router a nuestro gusto y añadir los servicios que queremos lo primero será configurar la conexión de cara a poder instalar paquetes y tener acceso a internet claro está.
En este punto decir que mi conexión es de Movistar (Para mi sigue siendo Telefónica joder!!!), y con Ip dinámica.
Si tu proveedor es otro o utilizas ip estática, busca en internet, hay muchos sitios que lo explican.

Lo primero será pinchar en la pestaña NETWORK y nos aparecerá lo siguiente :



Pincharemos en EDIT, en la linea WAN.

A continuación en el campo Protocol, lo pondremos en PPPoE, y pulsaremos en Switch Protocol.



Esto nos abrirá los siguientes campos a configurar :



En "PAP/CHAP Username" pondremos adslppp@telefonicanetpa
En "PAP/CHAP Password" pondremos adslppp

Una vez hecho esto, pulsaremos en "save & Apply" (Como siempre abajo a la derecha)
En este momento ya deberiamos tener acceso a internet, de todas maneras a mi las DNS de Telefónica no me hacen mucha gracia, así que las cambiaremos.
Para ello pincharemos en Advanced Settings, y desmarcaremos la casilla "Use DNS servers advertised by peer", al hacer esto nos dejará introducir valores en el campo "Use Custom DNS Servers", yo en mi caso uso las dns´s de google, (8.8.8.8 y 8.8.8.4). Si quieres usar estas u otras, haya tú.




5.- CONFIGURACION DE LA WIRELESS

Pincharemos en la pestaña "Network", a continuación en las pestañas que nos aparecen justo debajo en "wifi", al hacer esto nos aparecera el cuadro "Wireless Overview", en este pulsaremos en el botón "Edit".

En el recuadro "Interface Configuration" tenemos :

GENERAL SETUP

Aquí podremos configurar el nombre de nuestra Essid, el modo, en este caso Acces Point y si queremos ocultar nuestra Essid.



WIRELES SECURITY

Configuraremos la seguridad de nuestra conexión, sobra decir que NO useis WEP



MAC FILTER

Podremos filtrar las direcciones mac que deseamos que se conecten o bien las que queremos rechazar.




En el recuadro "Device Configuration" tenemos :

ADVANCED SETTINGS

El modo de transmisión, lo lógico es 802.11 g+n, el ancho del canal, pais y algunas cosillas más como distancía de transmisión.



GENERAL SETTINGS

El canal y la potencia de transmisión.



Una vez tenemos todo a nuestro gusto, pincharemos en "Enable" en este mismo cuadro y esperamos que aplique los cambios.
A continuación como siempre que hagamos cambios "Save & Apply" y ya tenemos en marcha nuestra wifi.

6.- USO DE DISCO EXTERNO PARA INSTALAR EL SISTEMA, DATOS Y PARTICION SWAP

Llegados a este punto de tener la configuración más básica realizada, vamos a conectarle al puerto usb de nuestro router un dico duro externo de cara a poder seguir instalando software, poder descargar cosas y hacer una partición swap de cara a un mejor rendimiento del router.

Lo primero sería particionar el disco duro, yo tengo una primera partición de 40 Gb con sistema de archivos NTFS, una segunda partición de 15 Gb con sistema de archivos Ext4 (he decidido este tipo de partición por la velocidad de acceso a los datos, pues Ext4 es superior a cualquier otra) y finalmente una partición SWAP de 1 Gb.
Particionar el HD es algo que haremos desde un sistema Linux, con gparted por ejemplo, o bien con algun programa para ese fin desde Windows, pero recomiendo hacerlo desde Linux.
La partición nos deberá quedar :

/dev/sda1 NTFS
/dev/sda2 EXT4
/dev/sda3 SWAP

Una vez tenemos particionado nuestro disco externo es hora de instalar una serie de paquetes de cara a que el sistema reconozca los distintos tipos de particiones.

Recomiendo no instalar ningún software adicional hasta que tengamos correctamente instalado el HD, pues si a la larga hacemos algo mal, simplemente desconectando el HD del router tendremos el sistema base del router en correcto funcionamiento.

Lo primero, teniendo nuestro router ya conectado a internet, es pinchar en "System" y en las pestañas que aparecen justo debajo en "Software". Una vez en este apartado pincharemos en "Update List", de cara a actualizar la lista de paquetes disponibles.

Si nos fijamos en "Free Space", vemos que el espacio disponible para instalar soft es mínimo, pero una vez instalado correctamente el HD esto cambiará.



Una vez actualizados los paquetes empecemos a instalar lo que necesitamos. Podemos instalar soft desde la consola, pero como presupongo que si te basas en esta guia tus conocimientos sobre sistemas Linux no son muy amplios todo lo que se pueda hacer desde la interface web lo haremos desde aquí. Para instalar un paquete simplemente copia el nombre del paquete en la pestaña "Download an install package" y pulsa "OK".



Los paquetes necesarios son :

   kmod-usb-core (En teoría ya viene instalado por defecto)
   kmod-usb2     (En teoría ya viene instalado por defecto)   
   kmod-usb-ohci (En teoría ya viene instalado por defecto)
   kmod-usb-uhci
   kmod-usb-storage
   usbutils
   block-mount
   block-hotplug
   block-extroot
   kmod-fs-ntfs
   ntfs-3g
   kmod-fs-ext4
   swap-utils

Una vez instalados los paquetes, deberemos pinchar en la pestaña "System" y en las que aparecen debajo, en "Mount Points", nos aparecerá esto



Ahora borramos la partición creada por defecto pinchando en [1], y a continuación pinchamos en [2] "Add" para crear una partición nueva.
En "Device" ponemos /dev/sda2 , en "filesystem" le damos a "custom" y ponemos ext4 , marcamos la pestaña "Use as root filesystem". En "Advanced Settings" vamos a "Mount options" y ponemos rw,sync
Y como siempre le damos a "Save & Apply" 



Le toca a la partición swap, para ello en "Mount Points", en el recuadro "Swap", editamos la partición creada por defecto pinchando en [3] y en "Device" cambiamos el path por /dev/sda3 y marcamos la pestaña "Enable this swap".
Le damos a "Save & Apply"



Para que funcione la particion SWAP aun debemos hacer un paso más, en "Startup", deberemos buscar la linea de "fstab", veremos que está como "Disabled", le pinchamos y pasará a "Enabled"

Hecho esto nos debería quedar así (Mountpoint)



Por último vamos a crear la partición para las descargas, datos o lo que queramos almacenar. Esto lo haremos de una manera diferente pues la partición NTFS para que sea de lectura/escritura requiere un trato especial.
Para ello vamos a "System" , "Startup" y abajo, en "Local Startup" escribimos lo siguiente



ntfs-3g /dev/sda1 /mnt/Almacen -o rw,sync



Nos debe quedar de esta forma



Ahora nos deberemos conectar al router mediante ssh, para ello si estamos en windows podemos usar putty, si estas en linux simplemente usa la consola, una vez logueados tenemos que crear la carpeta "Almacen" en /mnt , para ello



mkdir /mnt/Almacen



En este punto, apagamos el router, conectamos el disco duro a el router y lo volvemos a encender.
Ahora, si nos vamos a "Mount points" o "Software" de nuevo, deberiamos ver la diferencia





Para ver si se monta correctamente la partición SWAP, mediante consola (SSH) deberemos ejecutar el siguiente comando :



free





7.- INSTALACION Y CONFIGURACION DE SERVIDOR FTP

Después de haber probado diferentes server ftp, el que más me ha gustado y con diferencia es vsftpd (Very Secure FTP Daemon), su velocidad de transferencia de datos es muy superior a otros, y su configurabilidad muy alta. Así pues, vamos al lio.
Lo primero instalarlo, para ello haremos lo mismo que cuando hemos instalado los paquetes para el disco duro, solo que esta vez el paquete a instalar es vsftpd. Ahora para configurarlo necesitamos conectarnos al router mediante ssh.
El primer paso sería cambiar el path por defecto del usuario ftp creado por la instalación.



Si nos fijamos en la imagen, el path asignado es /home/ftp, pero lo interesante es que el path sea el de la particion donde tendremos las descargas y demás. Para ello editaremos (con vi) el archivo /etc/passwd y cambiaremos el /home/ftp por /mnt/Almacen.

Os explico muy brevemente los parametros del editor vi. Para poder cambiar algo del archivo pulsamos "i" y a continuación nos dejará hacer cambios. Para guardar el archvo pulsamos "ESC" luego ":" y a continuación "wq" (Con esto guardamos y salimos). Si solo quieres salir y no has modificado nada "ESC",":" y "q". Para salir habiendo hecho cambios pero sin guardarlos "ESC",":" y "q!". Con esto ya deberiamos ser capaces de editar el archivo.
Asi pues para editarlo :



vi /etc/passwd



Una vez editado nos debería quedar tal cual está aqui :



Ahora vamos ha asignarle usa contraseña al usuario ftp, para ello



passwd ftp



A continuación nos pedirá que introduzcamos una contraseña (2 veces). Si os sale "Bad password: too weak", simplemente el sistema nos está diciendo que es una contraseña débil, yo en mi caso como no voy a tener acceso al ftp desde fuera y los usuarios que tendrán acceso al ftp son de absoluta confianza, no le hago mucho caso.



Si ahora hicieramos un "cat /etc/passwd" veriamos que se le ha asignado una contraseña al usuario "ftp"



Vamos a por el archivo de configuración del vsftpd. Es "/etc/vsftpd.conf". Asi pues vamos a editarlo :



vi /etc/vsftpd.conf



Una vez esteis en modo edición, debereis dejarlo tal como está en la captura



Con esta configuración no permitimos el acceso a usuarios anonimos, y el usuario admitido (ftp) queda enjaulado en el path que hemos asignado (/mnt/Almacen), de manera que no puede subir de nivel (si bajar). Por otro lado no permitimos la escritura, tan solo descargar. Tener en cuenta que lo configuro a mis necesidades, si quieres cambiar algo hay mucha información en la web sobre como configurarlo. Esta es tan solo una configuración básica.
Ahora para iniciar el servidor



vsftpd



Para que se inicie al arrancar el router, nos vamos a "Startup" (De nuevo en la interface WEB) y lo habilitamos. (Tal como hicimos antes con la instalación del hd y el fstab)

8.- INSTALACION Y CONFIGURACION DE CLIENTE TORRENT

Para el cliente torrent me he decidido por Transmission, las razones?, tiene interface web, más o menos es fácil de configurar y tiene algo que necesitaba, posibilidad de uso remoto.
Bien, antes de empezar a instalar os explico como lo tengo yo, asi decidis si quereis la misma configuración o lo configurais a vuestras necesidades.
Yo tengo creadas las carpetas Descargas e Incompletos, la carpeta Descargas es donde apunta el usuario ftp que creamos antes (con vsfptd) y es donde Transmision moverá las descargas terminadas. Por otro lado en la carpeta Incompletos pondrá los torrents en fase de descarga. Decir que lo he configurado con acceso remoto de cara a poder poner descargas tanto si estoy en casa como en otro lugar. Vamos al lio!!

Lo primero como siempre los paquetes a instalar, son estos :

* transmission-daemon
* transmission-web
* transmission-remote
* transmission-cli

Para instalarlos ya sabes, desde la interface Web, ir a Software he instalar como ya hicimos antes con otros paquetes.
Una vez instalados vamos a configurar algunas cosas, lo primero crear las carpetas para las Descargas y los archivos en proceso de descarga, para ello nos conectamos medieante ssh y creamos las carpetas



mkdir /mnt/Almacen/Incompletos
mkdir /mnt/Almacen/Descargas



Una vez creadas y sin salirnos de la consola ssh, editamos el archivo /etc/config/transmission.
Os tiene que quedar como este: (Eso si quieres configurarlo como expliqué antes)
Los comentarios solo los he puesto a modo de explicación, no deben estar en el archivo de configuración.



config transmission
        option enabled 1                                    ## Tiene que estar en 1
        option config_dir '/etc/transmission'               ## Este es el path de configuración, es importante dejarlo tal cual lo tengo ##
        option run_daemon_as_user root
        option alt_speed_down 50
        option alt_speed_enabled false
        option alt_speed_time_begin  540
        option alt_speed_time_day 127
        option alt_speed_time_enabled false
        option alt_speed_time_end 1020
        option alt_speed_up 50
        option bind_address_ipv4 '0.0.0.0'
        option bind_address_ipv6 '::'
        option blocklist_enabled false
        option blocklist_url ''
        option cache_size_mb 2
        option dht_enabled true
        option download_dir '/mnt/Almacen/Descargas'        ## Aquí se colocarán las descargas terminadas ##
        option encryption 1
        option idle_seeding_limit 30
        option idle_seeding_limit_enabled false
        option incomplete_dir '/mnt/Almacen/Incompletos'    ## Aquí se colocarán las descargas en proceso ##
        option incomplete_dir_enabled true                  ## Cambiar estre valor a true
        option lazy_bitfield_enabled true
        option lpd_enabled false
        option message_level 1
        option open_file_limit 32
        option peer_congestion_algorithm ''
        option peer_limit_global 300                        ## Aquí aumento el valor a 300 peers totales 
        option peer_limit_per_torrent 100                   ## Aquí aumento el número de peers por torrent a 100
        option peer_port 51413
        option peer_port_random_high 65535
        option peer_port_random_low 49152
        option peer_port_random_on_start false
        option peer_socket_tos 0
        option pex_enabled true
        option port_forwarding_enabled false                ## Poner en false, el mapeo no funciona bien, abriremos el puerto a mano
        option preallocation 1
        option prefetch_enabled 1
        option ratio_limit 2.0000
        option ratio_limit_enabled false
        option rename_partial_files true
        option rpc_authentication_required true             ## Aquí le decimos que el acceso remoto requiere autentificación ##
        option rpc_bind_address '0.0.0.0'
        option rpc_enabled true                             ## Habilitamos el acceso remoto si lo ponemos en true ##
        option rpc_password 'contraseña_que_queramos'       ## La contraseña que usaremos para el acceso remoto ##
        option rpc_port 9091
        option rpc_url '/transmission/'
        option rpc_username 'torrent'                       ## El ususario para el acceso remoto ##
        option rpc_whitelist '127.0.0.1,192.168.1.*' 
        option rpc_whitelist_enabled false                  ## Cambiar esta linea a false, si no solo admite ciertas ip´s en el acceso remoto ##
        option script_torrent_done_enabled false
        option script_torrent_done_filename ''
        option speed_limit_down 100
        option speed_limit_down_enabled false
        option speed_limit_up 20
        option speed_limit_up_enabled false
        option start_added_torrents true
        option trash_original_torrent_files false
        option umask 18
        option upload_slots_per_torrent 14
        option utp_enabled true
        option scrape_paused_torrents true
        option watch_dir_enabled false
        option watch_dir ''



Una vez hechos los cambios de configuración, ir a Startup (interface web) y en la lista de procesos de inicio habilitar Transmission



A continuación darle al "Submit" (abajo a la derecha) y reiniciar el router.
Para entrar a la interface web usar la url http://192.168.1.1:9091, nos deberá pedir user y pass



Una vez logueados :



Ahora un par de apuntes, podeis cambiar aspectos de la configuración pulsando abajo a la izq, en la rueda dentada (mirar foto) y dándole a "Preferencias".
Por otro lado, si en las Preferencias vais a "Network" veremos que el puerto está cerrado :



Así que vamos a abrir el puerto, como ya he dicho antes tambien se puede hacer desde consola, pero por ahora seguimos con la interface web del router, nos vamos a "Network" y "Firewall"



Una vez en este apartado, pulsamos en "Add" de la parte "Rules" y ponemos los siguientes valores :




En "General Settings"

NAME               : Transmission Incoming
SOURCE ZONE        : wan
PROTOCOL           : TCP
SOURCE ADRESS      : any
SOURCE PORT        : 0-65535
DESTINATION ADRESS : any
DESTINATION PORT   : 51413
ACCTION            : accept

En "Advanced Options"

DESTINATION ZONE   : Device
SOURCE MAC ADRESS  : any
ADRESS FAMILY      : IPv4 Only

Una vez cumplimentados los campos, "Save & Apply", nos debería quedar así :



y si ahora miramos de nuevo en transmission ..



Con esto estamos, solo un par de apuntes más.

Si quieres detener Transmission desde la linea de comandos  (Gracias Jar229 por la rectificación colaboración  :D) :


/etc/init.d/transmission stop


Para iniciarlo si lo has parado


/etc/init.d/transmission start


Para que se arranque al inicio:


/etc/init.d/transmission enable


Para que no se arranque al inicio:


/etc/init.d/transmission disable


Aunque recordar que estas acciones las podemos hacer igual desde Luci, en "Sistema" -> "Startup"

Decir que para el acceso remoto habría que abrir tambien el puerto 9091 de cara a la Wan, eso lo explicaré en el apartado 10 de este tutorial.


9.- OTRAS INSTALACIONES VARIAS

Lo primero, que ya es hora, poner Luci en castellano, para ello instalamos :

luci-i18n-spanish

Una vez instalado reiniciamos el router y ya tendremos Luci en nuestro idioma.




Ahora vamos a por Dynamic DNS , decir que lo configuro con cuenta de NO-IP.org

luci-app-ddns

Una vez instalado tendremos una pestaña nueva, "Servicios" (entiendo que ya lo tienes en castellano), nos vamos a Servicios pués y vemos DNS Dinámico.
Los valores de configuración son sencillos, no creo que tengais problemas con esto. Tan sólo rellenar los campos con vuestros datos, habilitar la casilla "Enable" y como siempre "Save & Apply"



Otra cosa interesante de instalar son las estadísticas para verlas desde luci. Podremos ver graficas de las interfaces de red, consumo de cpu, memoria, y muchas cosas más. Se basa en collectd y si buscais plugins hay muchisimos, de momento instalamos los citados.
Paquetes a instalar :


luci-app-statistics
collectd-mod-cpu   
collectd-mod-memory   
collectd-mod-tcpconns   
collectd-mod-wireless

Una vez instalados veremos la pestaña "Statics", desde aquí podremos habilitar o deshabilitar plugins, configurarlos y ver las gráficas. Os dejo un par de ejemplos, uso del procesador y conexiones al puerto 80.






Otra cosa a hacer, si nos hemos fijado en el sistema horario del router lo tenemos con una hora menos. Para arreglar esto simplemente ir a "Sistema" -> "Sistema" y cambiar la Zona Horaria a "Europe/Madrid"




Si tienes una Xbox/PS3 y quieres que lo que tengas en la carpeta de descargas pueda ser accesible a estas de cara a hacer streaming este programa te gustará, se trata de uShare.
Instalar el siguente paquete :

luci-app-ushare

Ahora en la interface ir a "Servicios"-> "uShare" y lo configuramos :



Habilitar la opción enable, no tocar el nombre de usuario, poner el nombre que querais al sevidor, no tocar la interface, en directorios de contenido las carpetas que querais compartir, en este caso la de descargas que hemos creado en el tutorial. Dejar marcado inhabilitar telnet y web. Según pone en la página de uShare a veces es necesario iniciarlo con la opción "-x" si tienes una Xbox o "-d" si es una PS3, pero al menos a mi si lo inicio con esas opciones no me ve el contenido de las carpetas a compartir mi play.

10.- CONFIGURACION DE IPTABLES (FIREWALL) PARA ACCESOS A SERVICIOS Y DETECCION DE ATAQUES/SCANEOS

Primero de todo tenemos que instalar una serie de paquetes :

iptables-mod-extra
iptables-mod-conntrack-extra
iptables-mod-ipopt

Esto nos debería instalar tambien los siguientes paquetes, aseguraos que es así

kmod-ipt-extra
kmod-ipt-conntrack-extra
iptables-mod-conntrack-extra

Ahora vamos a "Red" -> "Cortafuegos" y pulsamos en "Custom rules", ahi podemos añadir las reglas quen os interesen, al final las teneis todas juntas para mayor comodidad.
Una vez introducidad las reglas pulsar "Guardar y Aplicar"




Unas cuantas reglas de iptables para detectar y bloquear scaneos

Null Scan

Para que nos aparezca en el LOG del sistema :


iptables -I INPUT 1 -p tcp --tcp-flags ALL NONE -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> Null scan "


Para bloquearlo y añadir la IP del atacante durante 60 segundos a la lista de rechazados


iptables -I INPUT 2 -p tcp --tcp-flags ALL NONE -m recent --name blacklist_60 --set -m comment --comment "Drop/Blacklist Null scan" -j DROP


Xmas scan

Log:


iptables -I INPUT 3 -p tcp --tcp-flags ALL FIN,PSH,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS scan "
iptables -I INPUT 4 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS-PSH scan "
iptables -I INPUT 5 -p tcp --tcp-flags ALL ALL -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS-ALL scan "


Bloqueo :


iptables -I INPUT 6 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas/PSH scan" -j DROP
iptables -I INPUT 7 -p tcp --tcp-flags ALL FIN,PSH,URG -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas scan" -j DROP
iptables -I INPUT 8 -p tcp --tcp-flags ALL ALL -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas/All scan" -j DROP


FIN scan

Log:


iptables -I INPUT 9 -p tcp --tcp-flags ALL FIN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> FIN scan "


Bloqueo :


iptables -I INPUT 10 -p tcp --tcp-flags ALL FIN -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist FIN scan" -j DROP


SYN scan

Log:


iptables -I INPUT 11 -p tcp  -m multiport --dports 23,79 --tcp-flags ALL SYN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall>SYN scan trap:"


Bloqueo:


iptables -I INPUT 12 -p tcp  -m multiport --dports 23,79 --tcp-flags ALL SYN -m recent --name blacklist_180 --set -j DROP


UDP scan

Log:


iptables -I INPUT 13 -p udp  -m limit --limit 6/h --limit-burst 1 -m length --length 0:28 -j LOG --log-prefix "Firewall>0 length udp "


Bloqueo:


iptables -I INPUT 14 -p udp -m length --length 0:28 -m comment --comment "Drop UDP packet with no content" -j DROP



Todas las reglas juntas para mayor comodidad a la hora de copiarlas:


iptables -I INPUT 1 -p tcp --tcp-flags ALL NONE -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> Null scan "
iptables -I INPUT 2 -p tcp --tcp-flags ALL NONE -m recent --name blacklist_60 --set -m comment --comment "Drop/Blacklist Null scan" -j DROP
iptables -I INPUT 3 -p tcp --tcp-flags ALL FIN,PSH,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS scan "
iptables -I INPUT 4 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS-PSH scan "
iptables -I INPUT 5 -p tcp --tcp-flags ALL ALL -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> XMAS-ALL scan "
iptables -I INPUT 6 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas/PSH scan" -j DROP
iptables -I INPUT 7 -p tcp --tcp-flags ALL FIN,PSH,URG -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas scan" -j DROP
iptables -I INPUT 8 -p tcp --tcp-flags ALL ALL -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist Xmas/All scan" -j DROP
iptables -I INPUT 9 -p tcp --tcp-flags ALL FIN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall> FIN scan "
iptables -I INPUT 10 -p tcp --tcp-flags ALL FIN -m recent --name blacklist_60 --set  -m comment --comment "Drop/Blacklist FIN scan" -j DROP
iptables -I INPUT 11 -p tcp  -m multiport --dports 23,79 --tcp-flags ALL SYN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix "Firewall>SYN scan trap:"
iptables -I INPUT 12 -p tcp  -m multiport --dports 23,79 --tcp-flags ALL SYN -m recent --name blacklist_180 --set -j DROP
iptables -I INPUT 13 -p udp  -m limit --limit 6/h --limit-burst 1 -m length --length 0:28 -j LOG --log-prefix "Firewall>0 length udp "
iptables -I INPUT 14 -p udp -m length --length 0:28 -m comment --comment "Drop UDP packet with no content" -j DROP


Ahora si nos vamos a "Estado" -> "Firewall" deberemos ver las reglas que hemos aplicado.



Tan solo me queda explicar como abrir puertos para las aplicaciones, (aunque ya en la parte de instalación de Transmission hablé de ello. En breve ...

ANTES DE TERMINAR DECIR QUE ESTA PARTE DEL TUTO ES LA QUE MAS PUEDE SER SUSCEPTIBLE A CAMBIOS POR MI PARTE, YA QUE CADA DIA APRENDO ALGO NUEVO Y PUEDE QUE ALGO SE PUEDA MEJORAR

dato000

estupendo tutorial, muy pero muy bueno, estoy a años luz de lograr algo semejante, pero es muy buena guia. Saludos



Garba2

Muy bueno el tutorial, hace unos dia instale openWRT, asi que ahora a toquetear.
;-)

el_junior

hola amigo haber si me puedes ayudar me he comprado un mini router 3g en ebay y me gustaria instalar wrt para sacarle todo el jugo pero no tengo mucha idea de como lograrlo te dejo algunos datos del router


especificaciones:
Puerto USB para conectar moden 3G
CPU: MIPS 4kc 360MHZ
Memoria: 32MB
Version del Software: 2.1.3.8
chipset del wifi: rt5350f
Modelo: Mifi-Storage-3G


he encontrado un post de un router similar al mio http://wiki.openwrt.org/toh/zlmnet/mifif10n pero no lo comprendo muy bien soy nuevo en el tema