configurar Cisco 881G 3G

Ahora que proliferan las conexiones 3g profesionales, se pueden tener backups por un precio asequible y una calidad razonable.

Tenemos una flamante sim 3G de movistar con un cisco 881G, el cual nos vamos a disponer a configurar….

Primero de todo, tenemos la conexión de Vomistar:


apn: movistar
user: movistar
pass: movistar

Ahora, creamos el profile en el cisco:


rBackup#cellular 0 gsm profile ?
create Create/Edit a Profile
delete Delete a profile

rBackup#cellular 0 gsm profile create 3 movistar chap movistar movistar

Explicación:

cellular 0 gsm profile create NUMPERFIL APN AUTH usuario password

ahora el script para el dialer..

multilink bundle-name authenticated
chat-script movistar "" "ATDT*99*1#" TIMEOUT 15 CONNECT

Y modificamos el interface cellular0 con la sim:

interface Cellular0
ip address negotiated
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer in-band
dialer idle-timeout 300
dialer string movistar
dialer-group 1
async mode interactive
ppp chap refuse
ppp pap sent-username movistar@movistar password movistar

Y ahora las rutas / access-list / nat

ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 Cellular0
!
!
ip nat inside source list 100 interface Cellular0 overload
!
access-list 1 permit any
access-list 100 permit ip 192.168.1.0 0.0.0.255 any
dialer-list 1 protocol ip permit

No nos olvidemos de guardar la config (wr mem) y ya está…

Bloquear skype con cisco ASA

Esta vez, me ha tocado bloquear el skype en una empresa… con el cisco asa, a diferencia del iptables, la inspección a nivel 7, es un poco limitada.

He iniciado el skype y veo que las conexiones son a varias ip’s y, no puedo bloquear todas, ya que iba haciendo y aparecían nuevas.

Lo más sencillo… he mirado los AS que tiene skype:


http://www.tcpiputils.com/search?q=skype

198015 Skype Communications Sarl LU 1 17 0
198097 Skype Communications Sarl LU 2 27 0

Con estos datos, miramos los rangos de ip’s de cada uno:


http://www.tcpiputils.com/browse/as/198015
http://www.tcpiputils.com/browse/as/198097

resumiendo…. hacemos una regla para aplicar en el interface inside del asa


object-group network redesSkype
network-object 91.190.216.0 255.255.255.0
network-object 91.190.217.0 255.255.255.0
network-object 91.190.218.0 255.255.255.0
network-object 91.190.219.0 255.255.255.0
network-object 91.190.220.0 255.255.255.0
access-list aplicarInside extended deny ip any object-group redesSkype
access-group aplicarInside in interface inside

Y con ésto, ya tenemos bloqueado el skype 😉

VoIP jazztel ftth y asterisk pjsip

En esta ocasión, registraremos nuestro servicio de VoIP de fibra Jazztel en nuestro asterisk.

Requisitos:

1º) Capturar el proceso de register del router de jazztel contra sus SBC. Para ello, mediante un hub colocado entre el router y la ONT, colocaremos nuestro pc capturando el paquete deseado.

En las capturas, deberás ver un paquete tal que:


Via: SIP/2.0/UDP x.x.x.x:5060;branch=asdfgsdfgsdfgsdfgsd
To:
From: ;tag=d2derwerqwer19-f45ffrr
Call-ID: xxxxxxxxxxx-xxxxxxxxx@x.x.x.x
CSeq: 46360 REGISTER
Contact:
Authorization: Digest username="misuperusuario007@ims.jazztel.net",realm="ims.jazztel.net",nonce="elsuperNonce",uri="sip:ims.jazztel.net",response="idRespuestaasfasdfasdfwererer",algorithm=MD5,cnonce="sdferelcenoncd",qop=auth,nc=00000001
Expires: 3600
Max-Forwards: 70
Supported: 100rel
User-Agent: ZXHN H218N/V2.0.0_JAZZT7
Content-Length: 0

En vez de las ‘x’, saldrán tus valores xDDD; no preguntes

2º) HTTPBrute, que nos servirá para sacar el password con el paquete SIP.

Pantallazo

Rellena cada casilla con lo que toca…. es bastante clarito todo. Le das a crack y calculate y te esperas unas horas (en mi caso)

3º) Asterisk 12 o 13 con pjSip. Yo en mi caso tengo una 12 con poca ram y cpu.

La versión 12 o 13 tiene su razón bastante obvia…… Para poder hacer una llamada, tienes que tener activada la opción 100rel…. en el chan_sip de asterisk, esta opción no está, pero en pjsip si, así que ya sabéis.

El user-agent, debe ser igual al que os proponga el router.

4º) Configuración del pjsip.conf

[global]
user_agent=ZXHN H298N/V1.1.4_JAZZT15

[endpoint]
100rel=yes --> Importante definir el endpoint con el 100rel=yes
sdp_session=ZXHN H298N/V1.1.4_JAZZT15

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.0.0/16 --> tu red local
local_net=127.0.0.1/32

[Jazztel]
type=registration
transport=transport-udp
outbound_auth=Jazztel
server_uri=sip:212.106.212.22:5060
client_uri=sip:+349xxxxxxxx@ims.jazztel.net --> tu número de teléfono con el +34
retry_interval=60
expiration=3600
support_path=yes

[Jazztel]
type=auth
auth_type=userpass
password=PasswordQueHayasCalculado
username=tuUsuari0DeJazttel@ims.jazztel.net
realm=ims.jazztel.net

[Jazztel]
type=aor
contact=sip:ip.del.sbc.jazztel:5060

[Jazztel]
type=endpoint
transport=transport-udp
context=Tu_Contexto_De_Llamadas_Entrantes
disallow=all
allow=alaw
allow=ulaw
allow=gsm
allow=g729
outbound_auth=Jazztel
aors=Jazztel
from_user=+349xxxxxxxx --> tu número de teléfono de jazztel
from_domain=ims.jazztel.net
aors=Jazztel
direct_media=no

[Jazztel]
type=identify
endpoint=Jazztel
match=ip.del.sbc.de.jazztel

Y a partir de aquí…. enjoy your VoIP FTTH Service 😉

Añadir schema zarafa a openLdap

Otra entrada que es un apunte.

Recientemente he tenido que volver a instalar otro zarafa y necesitaba añadir el esquema en el openLdap.

Tras intentar importar el schema con zcat:

zcat /usr/share/doc/zarafa/zarafa.ldif.gz | ldapadd -H ldapi:/// -Y EXTERNAL

Y ver los múltiples errores con las comillas, atributos y demás gaitas, googleando he visto este post:


http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/

Resumiendo……. para poder importar el schema de manera correcta, los pasos:

1º) Generamos el fichero schema_convert.conf con el siguiente contenido:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/pmi.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/zarafa.schema

2º) Creamos el directorio temporal

# mkdir /tmp/ldif_output

3º) Generamos los ldif

# slaptest -f schema_convert.conf -F /tmp/ldif_output

4º) Nos vamos al directorio donde hemos generado los ficheros

cd tmp/ldif_output/cn=config/cn=schema

Y creamos el fichero fixit.sed con el siguiente contenido:

s~dn: cn=\{([0-9]+)\}(.*)$~dn: cn=\2,cn=schema,cn=config~g
s~cn: \{([0-9]+)\}(.*)$~cn: \2~g
s~^(structuralObjectClass|entryUUID|creatorsName|createTimestamp|entryCSN|modifiersName|modifyTimestamp):.*$~~g

5º) Una vez creado el fichero, creamos el directorio fixed y ejecutamos el siguiente script:

for f in *ldif; do sed -rf fixit.sed "$f" > fixed/$f; done

Llegados aquí, en el directorio fixed, tendremos los directorios:

root@radius:/tmp/ldif_output/cn=config/cn=schema/fixed# ls -l
total 96
-rw-r--r-- 1 root root 15267 Aug 24 10:39 cn={0}core.ldif
-rw-r--r-- 1 root root 1091 Aug 24 10:39 cn={10}openldap.ldif
-rw-r--r-- 1 root root 6212 Aug 24 10:39 cn={11}pmi.ldif
-rw-r--r-- 1 root root 3073 Aug 24 10:39 cn={12}ppolicy.ldif
-rw-r--r-- 1 root root 11121 Aug 24 10:39 cn={13}zarafa.ldif
-rw-r--r-- 1 root root 1289 Aug 24 10:39 cn={1}collective.ldif
-rw-r--r-- 1 root root 1051 Aug 24 10:39 cn={2}corba.ldif
-rw-r--r-- 1 root root 11129 Aug 24 10:39 cn={3}cosine.ldif
-rw-r--r-- 1 root root 4253 Aug 24 10:39 cn={4}duaconf.ldif
-rw-r--r-- 1 root root 1461 Aug 24 10:39 cn={5}dyngroup.ldif
-rw-r--r-- 1 root root 2623 Aug 24 10:39 cn={6}inetorgperson.ldif
-rw-r--r-- 1 root root 2357 Aug 24 10:39 cn={7}java.ldif
-rw-r--r-- 1 root root 1280 Aug 24 10:39 cn={8}misc.ldif
-rw-r--r-- 1 root root 6259 Aug 24 10:39 cn={9}nis.ldif

6º) Importamos el ldif de zarafa:

# ldapadd -Y EXTERNAL -H ldapi:/// -f cn\=\{13\}zarafa.ldif

Esto se puede aplicar, como me ha pasado a mi, con el schema de freeradius o otros schemas.

enjoy 🙂

Freeradius stop on logger rotate

Otra entrada que es un apunte.

Cuando instalas el freeradius y lo dejas tal cual configurado, cuando hace el log rotate, se queda parado….. aquí explican el bug:

Freeradius stop

Para impedir que se quede parado, tras hacer el logrotate, hemos de modificar el siguiente fichero:


# nano /etc/logrotate.d/freeradius

Y ha de quedar tal que:

/var/log/freeradius/*.log {
weekly
rotate 52
compress
delaycompress
notifempty
missingok
postrotate
/etc/init.d/freeradius restart > /dev/null
endscript
}

Hemos de cambiar la línea

/etc/init.d/freeradius reload > /dev/null

a

/etc/init.d/freeradius restart > /dev/null

enjoy 😉

VoIP movistar fibra y asterisk

Esta vez, configuraremos la voip de movistar en nuestro asterisk.

Movistar, con la fibra, nos ofrece un servicio VoIP vía la ONT….. si nos conformamos con usarlo tal cual, pues perfecto, pero si tenemos en la oficina o en casa un asterisk, la mejor manera de aprovecharlo, es configurar la voIP en nuestra PBX sin necesidad de usar conversores.

Partimos que tenemos la vlan 3 configurada en nuestro router y obtenemos la IP por DHCP (una 10.x.x.x)

usuario : NúmeroDeTeléfono
password: NúmeroDeTeléfono
proxy : 10.31.255.134
puerto : 5070

los datos del proxy, si googleamos un poco se pueden obtener, pero la configuración no…..

Primero de todo, necesitamos la cadena del register para el sip.conf


register => 9xxxxxxxx@telefonica.net:9xxxxxxxx@10.31.255.134:5070/9xxxxxxxx

Y ahora la definición del peer:

[VOMISTAR]
type =peer
fromuser=9XXXXXXXX
secret =9XXXXXXXX
fromdomain=telefonica.net
host =telefonica.net
callerid = "" <9XXXXXXXX>
outboundproxy=10.31.255.134:5070
port =5070
nat =force_rport,comedia
insecure=port,invite
dtmfmode=auto
disallow=all
allow =ulaw
allow =alaw
context =llamadas_entrantes

Una vez hecho ésto y con el correspondiente reload……. al hacer un sip show registry:


processpbx*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
10.31.255.134:5070 N 9xxxxxxxx@te 55 Registered Wed, 24 Jun 2015 23:09:28
1 SIP registrations.

A partir de aquí, ya es cosa nuestra con el diaplan !!!! enjoy your fiber 🙂

TeamViewer en debian jessie

Otra entrada que es un apunte.

Recientemente, he migrado mi portatil, de debian 8 y necesitaba el teamviewer para dar soporte a los clientes…. una vez instalado, hay que hacer lo siguiente:


cd /opt/teamviewer/tv_bin/script
cp -r /opt/teamviewer/tv_bin/script/teamviewerd.service /lib/systemd/system/
cd /lib/systemd/system
root@shenron:/lib/systemd/system# service teamviewerd start
root@shenron:/lib/systemd/system# systemctl enable teamviewerd.service
Created symlink from /etc/systemd/system/graphical.target.wants/teamviewerd.service to /lib/systemd/system/teamviewerd.service.

y ahora, lanzamos el teamviewer para ver si funciona :


root@shenron:/lib/systemd/system# teamviewer

Init...
Checking setup...
Launching TeamViewer ...

Y ya lo tenemos listo 😉

iwlist + ngrep debian

Otro apunte.

para ver de un vistazo las redes inalámbricas que tenemos a nuestro alcance y la potencia, podemos usar el comando iwlist, pero nos muestra quizás demasiados parámetros….. si queremos ver si solapamos canales, podemos usar nuestro amigo grep.


# iwlist wlan0 scanning | grep "ESSID\|Frequency\|Quality"

Y el resultado debe ser, algo similar a:


Frequency:2.412 GHz (Channel 1)
Quality=23/70 Signal level=-87 dBm
ESSID:"xxxxx"
Frequency:2.462 GHz (Channel 11)
Quality=22/70 Signal level=-88 dBm
ESSID:"xxxxx"
Frequency:2.467 GHz (Channel 12)
Quality=39/70 Signal level=-71 dBm
ESSID:"xxxxx"
Frequency:2.462 GHz (Channel 11)
Quality=32/70 Signal level=-78 dBm
ESSID:"xxxxxx"

usando “|” con grep, podemos especificar algo para filtrar, pero si tenemos que filtrar por varios, deberemos usar:


iwlist wlan0 scanning | grep "$EXPRESION1 \|$EXPRESION2 \|$EXPRESION'N' \"

🙂 Sencillo

Banear intentos login mikrotik

Esta entrada es otro apunte.

Me gusta dejar administrables los routers que instalo, desde las ip’s del trabajo o casa, pero a veces, por comodidad y en determinados casos, necesito poder entrar desde cualquier sitio.

El script que indico a continuación, al 5º intento de entrar por winbox o SSH, bloquea la IP por 24 horas.


/ip firewall filter
add action=drop chain=input comment="BLOQUEA DURANTE 24 horas quien haga 5 intentos seguidos de login SSH!" dst-port=22 protocol=tcp src-address-list=black_list_ssh
add action=add-src-to-address-list address-list=black_list_ssh address-list-timeout=1d chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage4
add action=add-src-to-address-list address-list=ssh_stage4 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m chain=input connection-state=new dst-port=22 protocol=tcp
add action=drop chain=input comment="BLOQUEA DURANTE 24 horas quien haga 5 intentos seguidos de login winbox!" dst-port=8291 protocol=tcp src-address-list=black_list_winbox
add action=add-src-to-address-list address-list=black_list_winbox address-list-timeout=1d chain=input connection-state=new dst-port=8291 protocol=tcp src-address-list=winbox_stage4
add action=add-src-to-address-list address-list=winbox_stage4 address-list-timeout=3m chain=input connection-state=new dst-port=8291 protocol=tcp src-address-list=winbox_stage3
add action=add-src-to-address-list address-list=winbox_stage3 address-list-timeout=3m chain=input connection-state=new dst-port=8291 protocol=tcp src-address-list=winbox_stage2
add action=add-src-to-address-list address-list=winbox_stage2 address-list-timeout=3m chain=input connection-state=new dst-port=8291 protocol=tcp src-address-list=winbox_stage1
add action=add-src-to-address-list address-list=winbox_stage1 address-list-timeout=3m chain=input connection-state=new dst-port=8291 protocol=tcp

Una vez activado, veremos como la address list se nos va llenando de gente Baneada.

enjoy your rules 😉

P.D. Gracias a @gurbtec por el script

Netflow: nfsen + nfdump en Debian (3) + cacti + pmacct

Ahora vamos a añadir una capa más…. pmacct.

Pmacct será el enlace entre cacti y los flows de los dispositivos… usaremos nfsen para controlar tráfico y ataques.

Descargamos y descomprimimos pmacct:


# cd /usr/src
# wget -c http://www.pmacct.net/pmacct-1.5.0.tar.gz
# tar -zxvf pmacct-1.5.0.tar.gz

Creamos el directorio de instalación:

# mkdir /etc/pmacct

Y instalamos

Una vez instalado, vamos a configurar lo que nos interesa de pmacct, que más tarde, enlazaremos con cacti.


# nano /etc/pmacct.conf

debug: true
daemonize: true
nfacctd_port: 9996
pidfile: /var/run/nfacctd.pid
plugin_buffer_size: 80524
plugin_pipe_size: 18052324
networks_file: /etc/pmacct/nfacctd.hosts

plugins: memory[in], memory[out]
aggregate[in]: dst_host
aggregate[out]: src_host
imt_path[in]: /tmp/in.pipe
imt_path[out]: /tmp/out.pipe

En el fichero nfacctd.hosts, añadimos las ip’s / rangos que nos interese tener en detalle…


# nano /etc/pmacct/nfacctd.hosts

1.1.1.1/32
1.1.1.2/32
..
...

Lanzamos pmacct….


root@testflow:/etc/pmacct/sbin# ./nfacctd -D -f /etc/pmacct/pmacct.conf

Para comprobar que estamos escuchando correctamente:

root@testflow:/etc/pmacct/bin# netstat -putan | grep 9996
udp 0 0 0.0.0.0:9996 0.0.0.0:* 17799/nfacctd: Core

y que recogemos flows:

root@testflow:/etc/pmacct/bin# ./pmacct -s -p /tmp/out.pipe
root@testflow:/etc/pmacct/bin# ./pmacct -s -p /tmp/in.pipe

Y ahora comprobamos si hace accounting de las ip’s en concreto:


root@testflow:/etc/pmacct/bin# ./pmacct -c dst_net -N 1.1.1.1 -p /tmp/in.pipe
7254628
root@testflow:/etc/pmacct/bin#

Y vemos cómo ya nos muestra tráfico en bytes 🙂

Captura de pantalla 2014-11-16 a las 14.42.32