Fonasol 2008 Coatzacoalcos Veracruz.

Bueno a peticion de su organizador .

Los invitamos al 2do COngreso de software libre que se llevara a cabo en la ciudad de Coatzacoalcos Veracruz.

Los dias 29,30 y 31 de mayo del 2008

http://www.fonasol.org/

Los que quieran registrar sus platicas lo pueden hacer.

Vamos a ver si esta vez ivan.zenteno.info se presenta en ese congreso con algunas charlas.

Y disculpen si esta semana no se habia posteado nada pero todo el staff de tucancunix se esta reorganizando.

Saludos

Lock en BSD

Usando Lock en Freebsd,Netbsd,Openbsd
Si no las vivimos en una terminal como es mi caso y tenemos que ir al baño podremos hacer uso del comando
lock este tip les puede servir.
$ lock
Key:
Again:
lock: /dev/ttyp2 on Roa. timeout in 15 minutes.
time now is Wed Jan 16 23:22:23 CST 2008
Key:
#Si queremos volver a usar la terminal introduciremos el password previamente
escrito al invocar el comando lock.
Por default toma 15 minutos
Podremos dejarlo por tiempo indefinido
$ lock -n
Key:
Again:
lock: /dev/ttyp2 on Roa. no timeout.
time now is Wed Jan 16 23:25:26 CST 2008
Key:

Tutorial de Trapper

Trapper 0.3.3
Bueno estos chicos trabajan rapido Y acaban de sacar otra version de trapper
Cosas nuevas:
– Dirección MAC falsa (00:11:22:33:44:55 o aleatoria)
– Trapper.conf (para especificar parametros que se deseen sniffear via http, similar a la funcionalidad de Cain; además también se puede especificar los puertos que se deseen sniffear)
– IRC chat sniffing
Bugs arreglados:
– Detección de la dirección IP local
– Información duplicada en el HTTP sniffing
– Install.pl, algunos módulos faltantes
Lo pueden descargar de aquí.
http://nediam.com.mx/trapper/trapper-0.3.3.tar.gz</a></div>

Bueno les habia prometido un tutorial de uso de esta herramienta.
y Aqui vamos
tar -zxvf trapper-0.3.3.tar.gz
cd trapper-0.3.3/
Instala manualmente Net::Pcap de search.cpan.org y luego
perl install.pl
Esperamos a que se instalen los Modulos de perl
Ahora
#perl trapper.pl
–trapper ver. 0.3.3–
–Sniffer and ARP Poisoning Routing program–
Usage: trapper -i <interface> -m <mode> [-v msn,cookiem,irc] [-f fake_mac || random ]
Mode: sniff | apr
Example: trapper -i eth0 -m apr -f 00:02:5C:17:2B:FA
Si notan existen 2 modos el modo sniff y apr
Para poder sniffear toda la red tendremos que lanzar un ataque apr(arp).
de la siguiente forma.
Deberia llevar -f y la fakemac pero en algunas distros causa un problema asi que por ahora
no la pondremos.
#perl trapper.pl -i eth1 -m apr
——————————————————————-</div>

trapper ver. 0.3.2
Authors: crypkey, nediam, nahual
[*] MODE SELECTED: ARP POISON ROUTING
[*] Specify the range to scan (ex. 192.168.1.0192.168.1.254 )
Aqui especificaremos el rango de ips que queremos sniffear Podria ser toda la red local.
[*] Scanning range from 192.168.1.0 to 192.168.1.254…
[*] Skipping our host (IP attacker): 192.168.1.118
IP: 192.168.1.1 MAC: 00:0f:66:da:ab:89
IP: 192.168.1.100 MAC: 00:14:51:82:de:97
[*] Hosts found: 2
[*] Select Option:
[*] 1) One-to-One: Hijack the traffic only between two particular hosts
[*] 2) One-to-All: Hijack the network faking a single host (The default gateway is a good option)
[*] 3) Hijack the entire network
Ahora que tipo de ataque realizaremos , el mas bonito es el 3 . para que esniffe todo el tradico
de las maquinas que se encuentran dentro de la red local.
Type of attack: 3
[*] Infecting Host(s)…
[*] Leaving arp-poison into background: pid 6340 …
[*] Sniffing using Dev :eth1:
..Bueno y Ahora que ?
Si hay trafico empezaran a salir contraseñas en texto plano
Por default snifea los protocolos
1. HTTP (Cookie supported)
2. FTP
3. TELNET
4. POP3
5. IMAP
6. SMTP
7. MSN
8. IRC (Convos supported)
9. SMB
Que es lo mismo que seleccionaramos esta opcion
##perl trapper.pl -i eth1 -m sniff
——————————————————————-</div>

trapper ver. 0.3.2
Authors: crypkey, nediam, nahual
[*] MODE SELECT: SNIFFER
[*] Supported protocols:
1. HTTP (Cookie supported)
2. FTP
3. TELNET
4. POP3
5. IMAP
6. SMTP
7. MSN
8. IRC (Convos supported)
9. SMB
10. All
Pues de una vez todo no? mas vale que sobre y no que falte.
Select option(s) [default: 10]: 10
[*] Sniffing using Dev :eth1:
[*] Filter :tcp and port 21 or port 23 or port 25 or port 80 or port 143 or port 110 or port 1863 or port 6667 or port 445:
MSG: VERSION
User: test
Pass: test
Host: hi5.com
User/Pass: [email protected]&password=test&remember=on
Host: hi5.com
User/Pass: status=1:1:1&fromInterstitial=true&circle=17851952&status-0=1&userid=144997706&circle=17851952&status-1=1&userid=6619911&circle=17851952&status-2=1&userid=9180542</div>

Bueno que les parece?
para el irc crea un directorio donde guarda las conversaciones tanto privadas como de algun canal.
para el msn igual crea un directorio por cada conversacion que se tienen el messenger.
para pop3/ftp crea un arhicvo llamado ftp-pop3.txt
Dudas, Comentarios?
Happy Hacking Guys

</span>

Pharming

Como notaran en las ultimas semanas,se han incrementado la llegada de correos falsos.

Pongo una lista acontinuacion del Asunto con los que llegan estos correos.

“Acabas de recibir una tarjeta Nico Animada”
“Pagina de la SSP”
“Telmex”
“Herramienta Telcel SMS Home”
“Hola te envio mis fotos”
“Lista de Gasolinerias de la Profeco”
El contenido de estos correos simulan ser un comunicado oficial de las organizaciones
donde supuestamente las envian,e invitan al usuario a descargar un archivo ejecutable , relacionado
con el contenido del correo o el sitio.
Una vez descargado el archivo modifica el sistema, permitiendo a un intruso robar informacion confidencial entre otras cosas.

Y como lo hacen simple.
Modifican las entradas de la Tabla de Nombres de DNS en nuestro router 2wire Pueden apuntar www.banamex.com a una direccion IP Diferente a la que tiene asignada Banamex, donde esta direccion IP (Por lo general son servidores comprometidos con una copia exacta de la pagina de banamex), Cuando el usuario teclea su numero de cuenta y contraseña a donde creen que van sus datos?, Si lo adivinaron a manos de estas personas que se hacen llamar hackers, para mi son simple scripts kiddos pero bueno existen y uno tiene que aprender a tolerarlos.
Este tipo de Ataques se les conoce como Pharming y que es el Pharming.
http://www.seguridad.unam.mx/usuario-casero/pharming.dsc</a></div>

Bueno la mayoria de estos ataques son posibles aprovechando Bugs en nuestros Routers 2wires que nos vende Telmex Hermoso no creen?

Para mas informacion visiten este blog de un señor que se ha dedicado a investigar,lo vulnerable
pueden ser estos routers .
http://osinfra.blogspot.com/2008/01/problema-muy-grave-con-el-2wire.html</a></div>

Mas información
http://www.seguridad.unam.mx/pharming.dsc</a></div>

Por que me motivo a escribir esto?
1.-Por que la mayoria de las empresas manejan informacion via correo electronico, o realizan movimientos en sus cuentas bancarias via internet ,y no se tiene la cultura de la seguridad en informatica en los usuarios finales,si no sabes quien te envio ese correo mejor no lo vean borrenlo , ah pero la curiosidad es mucha y como todo buen mexicano veran que contiene ese correo .

2.-Si quieres ver que contiene ese correo, pueden visualizar los headers de esos correos y asi podran ver hacia donde apuntan los supuestos correos que nos llegan a nuestros buzones.

3.-Una llamada a los administradores de sistemas de los grandes corporativos de la ciudad de cancun, y de mexico en general.


[email protected]
[email protected]


</span>

DenyHosts

Bueno en un Articulo pasado,escribi un post sobre como prevenir Brute Force usando PF y un script que encontre ahi por la red.
Este script solo jalara en FreeBSD,NetBSD,OpenBSD, Siempre y Cuando este activado PF(Packet Filter),Bueno ahora le toca el turno a Linux,Sin importar la distribución de linux estemos usando.

Como parar estos ataques que por muy simple que parezca , tienen una efectividad buena,ya que algunos usuarios nuevos en Linux , Asignan contraseñas muy faciles ejemplo root:123456 , rc:125790 (“cualquier parecido con la realidad es mera coincidencia , Ja ja ”), y por lo general
ponen contraseñas que por default vienen en algún diccionario de los muchos que existen para realizar este tipo de ataques.

La herramienta se llama DenyHosts http://denyhosts.sourceforge.net/</a></div>

Bueno ya saben la misma historia de siempre, Primero verifiquen si encuentran el paquete para la distribucion de Linux que usan:
En este caso es una maquina en Debian.
# apt-cache search denyhost
denyhosts – an utility to help sys admins thwart ssh hackers
#apt-get install denyhosts
Ya que se termine de instalar
Editamos el fichero /etc/denyhosts.conf
El archivo de configuracion es Muy facil de editar. Aqui solo pondre las lineas que tienen que ir ya ustedes lo configuran mas a fondo pero con estas configuracion basiica funcionara.
#####
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 12h
BLOCK_SERVICE = ALL
DENY_THRESHOLD_INVALID = 2
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 2
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES</div>

HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
ADMIN_EMAIL = cliente_at_servidor_dot_com
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Reporte
SMTP_DATE_FORMAT = %a, %d %b %Y %H:%M:%S %z
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
Y guardamos los cambios
y prendemos el servicio de Denyhosts
/etc/init.d/denyhosts start
Si le damos un cat /etc/hosts.deny
# ALL: PARANOID
# DenyHosts: Mon Dec 3 10:26:46 2007 | ALL:
# DenyHosts: Mon Dec 3 10:41:17 2007 | ALL: 189.149.66.75
# DenyHosts: Mon Dec 3 10:42:06 2007 | ALL: 189.149.66.75
Adios Script Kiddos
Y bueno claro que tambien existe un Denyhosts para BSD
Para Freebsd
Ports en Freebsd
cd /usr/ports/security/denyhosts
make install clean
Para Netbsd
pkgsrc/security/py-denyhosts/
make install clean
Para Openbsd?
Existen Otras herramientas para prevenir estos tipicos ataques,Pero desde mi punto de vista es mas facil cambiar el puerto de nuestro ssh por default es 22 a cualquier otro puerto.
Y se evitarian de este tipos de ataques

</div>

</span>

BackTrack 3 Beta

Bueno tiene aproximadamente 1 mes que salio la nueva version de bactrack3 beta
Y veo que se habla mucho de una nueva herramienta para hacer auditorias de redes wireless.
Esta vez los desarrolladores de Aircrack-ng ,sacaron una nueva herramienta llamada wesside-ng
Que segun videos que he visto ,permite romper las claves en un minuto, ya que mejoraron el tiempo
de romper las claves.
Ahora solo teclearemos un comando
wesside-ng -i wlan0(O la interface de red que tenemos), Y automaticamente obtendremos
la clave en poco tiempo.
El siguiente video nos muestra lo facil que sera ahora auditar redes wireless,
http://www.ethicalhacker.net/content/view/167/2/</a></div>

Pero como que se pierde la magia de aprender como funcionan en realidad las cosas no creen?
Para mas informacion
Sobre wesside-ng
http://www.aircrack-ng.org/doku.php?id=wesside-ng.es</a></div>

Por azares del destino la tarjeta con la que cuento en la nueva version marco un error,
Asi que tuve que bajar la version e instalarla en backtrack2
##
wget http://download.aircrack-ng.org/aircrack-ng-1.0-beta1.tar.gz</a></div>

tar -zxvf aircrack-ng-1.0-beta1.tar.gz
cd aircrack-ng-1.0-beta1
make
make install
Al final marco un erro que esta en la wiki
[18:23:49] ERROR Max retransmists for (30 bytes): B0 00 FF 7F 00 1A 70 51 B0 70 00 0E 2E C5 81 D3 00 1A 70 51 B0 70 00 00 00 00 01 00 00 00
Esto puede estar causado porque el AP no recibe los paquetes que le estás enviando. Prueba a acercarte más al AP.
Otra razón es que este programa se encuenta en fase de pruebas y no es completamente estable. Prueba a reiniciar wesside-ng.
Bueno el error era que Boteo con el livecd de Backtrack3 Y se queda en
###
aufs on / type aufs (rw)
Running /etc/rc.d/rc.modules:
Module dependencies up to date (no new kernel modules found).
##
Tenia la tarjeta pcmcia conectada a la laptop, Me pase buscando en los foros
de backtrack y vi que muchas personas tienen el mismo error.
Nunca pense que fuera la tarjeta asi que tuve que quitarla e intentar de nuevo y entro
el livecd de backtrack3.
Ahora a buscarle que problema es con la nueva version de backtrack3, o esperarme a algun update
de bactrack3.
Si alguien quiere el disco de backtrack3 Pues envienme algun correo
si lo decean ustedes bajar
http://www.remote-exploit.org/backtrack_download.html</a></div>

Les recomiendo chequen la lista de bugs de back track
http://wiki.remote-exploit.org/index.php/Bugs</a></div>

Saludos y happy hacking

</span>

Limpieza y respaldos en PostgreSQL

Por: Nediam <[email protected]>

Fecha de publicación: 2005-09-16

Última actualización: 2006-05-04

Nota: Los ejemplos aquí mostrados fueron probados en PostgreSQL 8.0.2.

LIMPIEZA DE BASES DE DATOS:

* Nota: nombre_usuario_pg se refiere a un nombre de usuario de PostgreSQL, no a un nombre de usuario del sistema.

  • Limpiar todas las bases de datos de un clúster de base datos:

    user@SERVER:~$ vacuumdb -h 127.0.0.1 -f -a -v -z -U nombre_usuario_pg

  • Limpiar una base de datos de un clúster de base datos:

    user@SERVER:~$ vacuumdb -h 127.0.0.1 -f -v -z -U nombre_usuario_pg nombre_base

  • Limpiar una tabla de una base de datos:

    user@SERVER:~$ vacuumdb -h 127.0.0.1 -f -v -z -U nombre_usuario_pg -t nombre_tabla nombre_base

RESPALDOS DE BASES DE DATOS:

* Nota: nombre_usuario_pg se refiere a un nombre de usuario de PostgreSQL, no a un nombre de usuario del sistema.

  • Respaldar todas las bases de datos de un clúster de base datos:

    user@SERVER:~$ pg_dumpall -h 127.0.0.1 -o > archivo1

  • Restaurar todas las bases de datos de un clúster de base datos:

    user@SERVER:~$ psql -h 127.0.0.1 -f archivo1 template1

  • Respaldar una base de datos de un clúster de base datos:

    user@SERVER:~$ pg_dump -h 127.0.0.1 -o -v -f archivo2 -U nombre_usuario_pg nombre_base

  • Restaurar una base de datos de un clúster de base datos:

    (Nota: La base de datos donde se restaurará la información debe de haber sido creada previamente)

    user@SERVER:~$ psql -h 127.0.0.1 -f archivo2 nombre_base nombre_usuario_pg

  • Respaldar una tabla de una base de datos:

    user@SERVER:~$ pg_dump -h 127.0.0.1 -o -v -f archivo3 -U nombre_usuario_pg -t nombre_tabla nombre_base

  • Restaurar una tabla de una base de datos:

    (Nota: La base de datos donde se restaurará la información debe de haber sido creada previamente)

    user@SERVER:~$ psql -h 127.0.0.1 -f archivo3 nombre_base nombre_usuario_pg

  • Respaldar un esquema de una base de datos:

    user@SERVER:~$ pg_dump -h 127.0.0.1 -o -v -f archivo4 -U nombre_usuario_pg -n nombre_esquema nombre_base

  • Restaurar un esquema de una base de datos:

    (Nota: La base de datos donde se restaurará la información debe de haber sido creada previamente)

    user@SERVER:~$ psql -h 127.0.0.1 -f archivo4 nombre_base nombre_usuario_pg

  • Respaldar una tabla de un esquema de una base de datos:

    user@SERVER:~$ pg_dump -h 127.0.0.1 -o -v -f archivo5 -U nombre_usuario_pg -t nombre_tabla -n nombre_esquema nombre_base

  • Restaurar una tabla en un esquema de una base de datos:

    (Nota: La base de datos donde se restaurará la información debe de haber sido creada previamente, así como el esquema, de lo contrario se restaurará en el esquema público)

    user@SERVER:~$ psql -h 127.0.0.1 -f archivo5 nombre_base nombre_usuario_pg

Para mayor información, consulta la documentación de PostgreSQL:

http://www.postgresql.org/docs/8.1/static/app-vacuumdb.html

http://www.postgresql.org/docs/8.1/static/backup.html

La última versión de este documento está disponible en:

nediam.com.mx

Manipulación de tablas en PostgreSQL

Por: Nediam <[email protected]>

Fecha de publicación: 2005-12-05



Nota: Los ejemplos aquí mostrados fueron probados en PostgreSQL 8.0.1.

A partir de la siguiente tabla de ejemplo:

bd_ejemplo=> d tbl_usuarios

Table “public.tbl_usuarios”

Column | Type | Modifiers

---------------------+-------------------------+--------------------

login | character varying(10) | not null

pass | character varying(34) | not null

nombre | character varying(40) | not null

paterno | character varying(30) | not null

materno | character varying(30) | not null

sexo | smallint |

correo | character varying(35) | not null

id_pais | character(2) | not null

estado | character varying(40) | not null

ciudad | character varying(40) | not null

id_status | smallint | not null default 1

fecha_registro | character varying(19) | not null

observaciones | character varying(200) | not null

Indexes:

“tbl_usuarios_pkey” PRIMARY KEY, btree (login)

Foreign-key constraints:

“tbl_usuarios_id_pais_fkey” FOREIGN KEY (id_pais) REFERENCES tbl_paises(id_pais)

A continuación, se muestran ejemplos de sentencias SQL para:

  • Agregar una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ADD COLUMN id_estado CHAR(2);

  • Borrar una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios DROP COLUMN estado;

  • Renombrar una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios RENAME COLUMN login TO id_usuario;

  • Cambiar el tipo una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ALTER COLUMN correo TYPE VARCHAR(40);

  • No permitir que una columna acepte valores nulos:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ALTER COLUMN sexo SET NOT NULL;

  • Quitarle la restricción de valores nulos a una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ALTER COLUMN ciudad DROP NOT NULL;

  • Asignarle un valor default a una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ALTER COLUMN id_pais SET DEFAULT ‘MX’;

  • Quitarle su valor default a una columna:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ALTER COLUMN id_status DROP DEFAULT;

  • Agregar una llave foránea:

    bd_ejemplo=> ALTER TABLE tbl_usuarios ADD FOREIGN KEY(id_status) REFERENCES tbl_status(id_status);

  • Remover una restricción (constraint):

    bd_ejemplo=> ALTER TABLE tbl_usuarios DROP CONSTRAINT tbl_usuarios_id_pais_fkey;

Para mayor información, consulta la documentación de PostgreSQL:

http://www.postgresql.org/docs/

La última versión de este documento está disponible en:

nediam.com.mx

Telmex Prodigy bloqueó el puerto 25 (SMTP) para envío de email

Bueno como ustedes sabrán nuestro querido ISP (Telmex) se le ocurrió bloquear el puerto 25(smtp).

Afectando a miles de usuarios que usan sus clientes de correo como Apple Mail/ Pegasus Mail /Outlook y los otros mas que existen.

Denle un click para ver mas información sobre el asunto

Las conexiones ADSL de 512 y 128 según me comento una chica que me atendió en telmex tendrán que migrar a una conexión mas rápida.


Para los que sufran ese bloqueo tienen que hablar a telmex y pedirles que quiten esa protección reiniciar su modem y listo .

Pero que pasa si tengo una portátil o si se me ocurre lleva mi pc a otro lugar, llamese escuela , oficina , casa de la novia etc etc.



Existen varias maneras de
Las mas rápidas y fáciles para que salgan del problema si sus hostings tienen alguna webmail usenlo, Pero no falta el jefe que te dice que el ya se acostumbro a su Outlook .

*Una de las que recomiendan en telmex es usar VPN conectada hacia algun otra maquina con una conexion decente, o en el mejor de los casos algun servidor remoto en (USA,Canada,Europa). Donde se les ocurra.
*La otra es si usan Linux o Unix en sus servidores de correo , y si ustedes administran todo el mail server , hacer tuneles ssh para saltarse esa protección. Ejemplo de Un tunel hacia alguno de los servidores que administro.

#ssh -L 9999:mail.ivan.zenteno.info:110 -L 9998:mail.ivan.zenteno.info:25 [email protected] -p 5656

Donde -L 9999:mail.ivan.zenteno.info:110 ..Este tunel sera para pop
Este otro para smtp -L 9998:mail.ivan.zenteno.info:25

Y user@ivan.zenteno.info -p 5656 mi user valido en un servidor remoto.

Cuando ustedes hagan en alguna otra terminal
telnet localhost 9999 .. le respondera el servicio pop en nuestro server.
Mismo caso para telnet localhost 9998 Y respondera mi smtp de mi server.

Si si ya se que el servicio POP no esta bloqueado por telmex ,Pero como dice mi abuelo ya aprovechando el camino hacemos un tunel tambien para POP .

Ahora solo tendran que reconfigurar sus clientes de correo de nuevo


Cambiar tanto en pop y smtp
mail.ivan.zenteno.info:25 >>> localhost:9998
Los mismo para pop
mail.ivan.zenteno.info:110 >>> localhost:9999

Y guardar los cambios y hacer las pruebas .

**La otra manera de hacerlo es.. el mas rapido creo yo.
Si eres root en el servidor de correo y te quieres evitar broncas con tus clientes y claro esta si usas Postfix como servidor de correo aquí tienes la solución.

Editamos el master.cf
Agregamos una linea abajo de la que dice

smtp inet n – n – – smtpd
Y en la siguiente agregamos esta
587 inet n – n – – smtpd


guardamos y le damos postfix reload

Ahora tendremos el puerto 25 y 587 para envío .

Y tendremos que reconfigurar solo el puerto de envio en nuestros clientes de correo al 587.

Eso es todo .. gracias al amigo Ficovh por el tip de postfix .


Dudas,Sugerencias Comentarios a [email protected]





OpenBSD SSH Protección

Bueno Existen Varias Maneras de Bloquear estos ataques, conocidos como ataques de fuerza bruta.

Si bruta, así como los brutos que los hacen que manera de perder el tiempo pero bueno. Las mas fáciles:

*Cambiar el puerto 22 por otro a nuestro servidor ssh.
*Si usamos linux existen infinidad de herramientas que nos pueden apoyar en esta tarea.
*Si usas BSD y tienes activado PF en tu sistema esta opción te servirá.
Crearemos un pequeño script en bash que contendra estas lineas:

Meteremos este script a un crond como root .

Siguiente paso es Editar nuestras reglas /etc/pf.conf (Ya tienen que saber como habilitar pf en su sistemas BSD)

#######

ext_if=“vr0”

table <kiddies> persist

block in on $ext_if from <kiddies>

######

Activamos nuestras reglas de Packet Filter (pf) doy por echo que ya saben hacer eso.

pfctl -t kiddies -vTshow

# pfctl -t kiddies -vTshow

61.95.144.100

Cleared: Mon Nov 19 00:40:01 2007

In/Block: [ Packets: 0 Bytes: 0 ]

In/Pass: [ Packets: 0 Bytes: 0 ]

Out/Block: [ Packets: 0 Bytes: 0 ]

Out/Pass: [ Packets: 0 Bytes: 0 ]

82.127.26.2

Cleared: Thu Nov 22 22:35:02 2007

In/Block: [ Packets: 0 Bytes: 0 ]

In/Pass: [ Packets: 0 Bytes: 0 ]

Out/Block: [ Packets: 0 Bytes: 0 ]

Out/Pass: [ Packets: 0 Bytes: 0 ]

Bibliografia

Ssh Proteccion