martes, 17 de mayo de 2011

Filtrar subject y mensajes con Postfix

Este tutorial nos muestra como poder bloquear subjects y  contenidos de mensajes que contengan algun texto que provenga como correo SPAM.
para esto realizamos lo siguiente:

Editamos el archivo main.cf

#vim /etc/postfix/main.cf

Agregamos estas lineas






body_checks = regexp:/etc/postfix/body_checks
header_checks = regexp:/etc/postfix/header_checks.regexp

Creamos el archivo para filtrar asuntos.

#vim /postfix/header_checks.regexp

Y colocamos la/s palabra/s que queremos filtrar






/^Subject:.*palabra_a_filtrar.*$/ REJECT "Asunto no valido"
/^Subject:.*Viagra.*$/ REJECT "Asunto no valido"

En la segunda linea estamos filtrando la palabra Viagra,lo que colocamos dentro de las comillas (Asunto no valido) es lo que va aparecer en el mail rejectado del remitente.

Creamos el archivo para filtrar contenido de mensaje.

#vim /etc/postfix/body_checks






/palabra_a_filtrar/ REJECT
/Viagra/ REJECT
/casino en linea/ REJECT

En la segunda linea estamos filtrando la palabra Viagra si apareciera en el cuerpo del mensaje.

Luego hacemos:

#postmap /etc/postfix/body_checks
#postmap /etc/postfix/header_checks.regexp

Se crearan los archivos con el mismo nombre con extension .db
Por ultimo reiniciamos postfix para que tome los cambios que realizamos

#/etc/init.d/postfix restart

miércoles, 11 de mayo de 2011

Como realizar un trunk IAX2 entre 2 Asterisk

Es Tutorial muestra como hacer un trunk IAX2 entre 2 Asterisk. La Sede A tiene los internos 2xxx y la Sede B los internos 10xx.

Para que la sede A pueda llamar a internos de la sebe B debemos realizar un trunk IAX2 y configurar los archivos iax.conf y extensions.conf en cada asterisk.



====================================
Sede A -170.x.x.x
====================================

En el archivo /etc/asterisk/iax.conf agregamos las siguientes lineas:

[general]
autokill=yes
register => SedeA:welcome@200.x.x.x

[2001]
type=friend
host=dynamic
context=phones

[SedeB]
type=friend
username=SedeA
host=dynamic
trunk=yes
secret=welcome
context=incoming_SedeA
permit=200.x.x.x/255.255.255.255

en el archivo que esta en /etc/asterisk/extensions.conf y colocamos lo siguiente:

[general]
autofallthrough=yes

[phones]
include => internal
include => remote

[internal]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(IAX2/${EXTEN},30)
exten => _2XXX,n,Hangup()

[remote]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(IAX2/SedeB/${EXTEN})
exten => _1XXX,n,Hangup()

[incoming_SedeA]
include => internal

========================
Sede B -200.x.x.x
========================

En el archivo /etc/asterisk/iax.conf agregamos las siguientes lineas:

[general]
autokill=yes
register => SedeB:welcome@170.x.x.x

[1001]
type=friend
host=dynamic
context=phones

[SedeA]
username=SedeB
type=friend
host=dynamic
trunk=yes
secret=welcome
context=incoming_SedeB
permit=170.x.x.x/255.255.255.255

en el archivo que esta en /etc/asterisk/extensions.conf y colocamos lo siguiente:

[general]
autofallthrough=yes

[phones]
include => internal
include => remote

[internal]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(IAX2/${EXTEN},30)
exten => _1XXX,n,Hangup()

[remote]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(IAX2/SedeA/${EXTEN})
exten => _2XXX,n,Hangup()

[incoming_SedeB]
include => internal

miércoles, 20 de abril de 2011

Trunk SIP entre 2 Asterisk

Es Tutorial muestra como hacer un trunk SIP entre 2 Asterisk. La Sede A tiene los internos 80xx y la Sede B los internos 10xx.

Para que la Sede A pueda llamar a internos de la sebe B debemos realizar un trunk SIP y configurar los archivos sip.conf y extensions.conf en cada asterisk

====================================
    ASTERISK SEDE A
====================================
editamos el archivo /etc/asterisk/sip.conf y agregamos las siguientes lineas

[general]
nat=yes
externip=ip_externa_ASTERISK_SEDE_A
localnet=10.10.0.0.0/255.255.0.0
externrefesh=180

register =>AsteriskSedeA:1234@ip_externa_ASTERISK_SEDE_B/AsteriskSedeB

[8001]
username=8001
type=friend
secret=2011
callerid="Juan" <8001>
host=dynamic
nat=yes
disallow=all
allow=ulaw
context=internal
mailbox=8001@voicemail
pickupgroup=1
callgroup=1

[AsteriskSedeB]
username=AsteriskSedeB
type=friend
secret=1234
context=internal
qualify=yes
host=dynamic
language=es
insecure=invite
disallow=all
allow=ulaw
allow=alaw

editamos el archivo /etc/asterisk/extensions.conf y agregamos las siguientes lineas

[internal]
exten => _80xx,1,Dial(SIP/${EXTEN},15,tT)
exten => _80xx,n,Hangup

exten => _10xx,1,Dial(SIP/${EXTEN}@AsteriskSedeB,10)
exten => _10xx,n,Hangup()

Luego en el asterisk de la sede A reiniciamos nuestro dialplan y el sip, y verificamos que se hayan registrado los asterisk

sedeA:#rasterisk
sedeA*CLI> sip reload

sedeA*CLI>dialplan reload

sedeA*CLI> sip show peers

Name/username                Host            Dyn Nat ACL Port     Status
AsteriskSedeB/AsteriskSedeB  10.10.200.26     D   N      5060     OK (1 ms)
8001/8001                    10.10.10.20      D   N      2857     Unmonitored
2 sip peers [Monitored: 1 online, 0 offline Unmonitored: 1 online, 0 offline]

sedeA*CLI>sip show registry

Host                            Username       Refresh State                Reg.Time
10.10.200.26:5060               AsteriskSedeA       105 Registered           Wed, 20 Apr 2011 14:40:08

===================================
                ASTERISK SEDE B
===================================
editamos el archivo /etc/asterisk/sip.conf y agregamos las siguientes lineas

[general]

nat=yes
externip=ip_externa_ASTERISK_SEDE_B
localnet=192.168.1.0/255.255.255.0

register =>AsteriskSedeB:1234@ip_externa_ASTERISK_SEDE_A/AsteriskSedeA

[1001]
username=1001
type=friend
secret=SedeB2011
callerid="carlos" <1001>
host=dynamic
nat=yes
disallow=all
allow=ulaw
context=internal
mailbox=1001@voicemail
pickupgroup=1
callgroup=1

[AsteriskSedeA]

username:AsteriskSedeA
type=friend
secret=1234
context=internal
qualify=yes
host=dynamic
language=es
insecure=invite
disallow=all
allow=ulaw
allow=alow

editamos el archivo /etc/asterisk/extensions.conf y agregamos las siguientes lineas

[internal]
exten => _10xx,1,Dial(SIP/${EXTEN},15,tT)
exten => _10xx,n,Hangup

exten => _80xx,1,Dial(SIP/${EXTEN}@AsteriskSedeA,10)
exten => _80xx,n,Hangup()

Luego en el asterisk de la sede B reiniciamos nuestro dialplan y el sip, y verificamos que se hayan registrado los asterisk
sedeB:#rasterisk
sedeB*CLI> sip reload

sedeB*CLI>dialplan reload

sedeB*CLI> sip show peers

Name/username                Host            Dyn Nat ACL Port     Status
AsteriskSedeA/AsteriskSedeA  10.10.200.31     D   N      5060     OK (1 ms)
1001/1001                    10.10.10.20      D   N      2857     Unmonitored
2 sip peers [Monitored: 1 online, 0 offline Unmonitored: 1 online, 0 offline]

sedeA*CLI>sip show registry

Host                            Username       Refresh State                Reg.Time
10.10.200.31:5060               AsteriskSedeB       105 Registered           Wed, 20 Apr 2011 14:41:53

Luego podemos realizar una llamada del interno 8001 al interno 1001 de la otra central y viceversa

miércoles, 13 de abril de 2011

Limitar cantidad de remitentes en Zimbra 6.0

Este ejemplo es para limitar la cantidad total de remitentes que uno puede añadir en un mail (Para, CC), en este ejemplo limitamos a 50 usuarios.

1.-Primero nos debemos loguear  comousuario zimbra en el servidor.

zimbra:#su - zimbra

Luego declaramos variales locales

zimbra:~$ zmlocalconfig -e default_extra_recipient_limit=50
zimbra:~$ zmlocalconfig -e default_recipient_limit=50
zimbra:~$ zmlocalconfig -e default_destination_recipient_limit=50
zimbra:~$ zmlocalconfig -e smtpd_recipient_limit=50
zimbra:~$ zmlocalconfig -e smtpd_recipient_overshoot_limit=50

2.- Segundo hacemos un backup y  añadimos las siguientes lineas en el archivo /opt/zimbra/conf/zmmta.cf  entre las lineas virtual_transport y RESTART mta

zimbra:~$cp /opt/zimbra/conf/zmmta.cf /opt/zimbra/conf/zmmta.cf.ori

zimbra:~$vim /opt/zimbra/conf/zmmta.cf






POSTCONF default_recipient_limit             LOCAL default_recipient_limitPOSTCONF default_destination_recipient_limit  LOCAL default_destination_recipient_limit

POSTCONF default_extra_recipient_limit       LOCAL default_extra_recipient_limit

POSTCONF smtpd_recipient_limit              LOCAL smtpd_recipient_limit

POSTCONF smtpd_recipient_overshoot_limit     LOCAL smtpd_recipient_overshoot_limit

3.- Reiniciamos el servicio

zimbra:~$zmmtactl stop

zimbra:~$zmmtactl start

jueves, 20 de enero de 2011

Parar maquina virtual desde linea de comando en Linux en VMWARE Server 2.0

Parar maquina virtual por comando

#vmrun -T server -h 'https://ip_del_Server:8333/sdk' -u root -p 'passwroot' stop "[standard] nombre_pc_virtual/archivo.vmx"

Arrancar maquina virtual por comando

#vmrun -T server -h 'https://ip_del_Server:8333/sdk' -u root -p 'passwroot' start "[standard] nombre_pc_virtual/archivo.vmx"

Reiniciar maquina virtual por comando

#vmrun -T server -h 'https://ip_del_Server:8333/sdk' -u root -p 'passwroot' reset "[standard] nombre_pc_virtual/archivo.vmx"

sábado, 8 de enero de 2011

Colocar las voces de asterisk en español

Dejo aca un tutorial, que lei no se donde de como hacerlo.

Lo que he hice para que salga en español los mensajes es lo siguiente:

desde raiz: / (lo siguiente se puede hacer un script que se ejecute y haga todo automatico)

#mkdir descarga
#cd descarga

Luego bajo los archivos con las voces en español
#wget www.voipnovatos.es/voces/voipnovatos-core-sounds-es-gsm-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-core-sounds-es-ulaw-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-core-sounds-es-alaw-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-core-sounds-es-g729-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-gsm-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-alaw-1.4.tar.gz
#wget www.voipnovatos.es/voces/voipnovatos-extra-sounds-es-g729-1.4.tar.gz
#wget www.voipnovatos.es/voces/licenciadeuso.txt
#cd /var/lib/asterisk/sounds/
#tar xvzf /descarga/voipnovatos-core-sounds-es-gsm-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-core-sounds-es-ulaw-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-core-sounds-es-alaw-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-core-sounds-es-g729-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-extra-sounds-es-gsm-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-extra-sounds-es-alaw-1.4.tar.gz
#tar xvzf /descarga/voipnovatos-extra-sounds-es-g729-1.4.tar.gz
#chown -R asterisk:asterisk /var/lib/asterisk/sounds/

modifique los siguientes archivos de asterisk ubicados dentro de /etc/asterisk:

iax_custom.conf
sip_custom.conf
chan_dahdi.conf
sip_general_custom.conf
iax_general_custom.conf
sip_general_additional.conf
sip.conf

Agragandoles la sigueinte linea:

language=es

Y copie los archivos en otro sitio para que tambien me diga los numeros de los internos en español

#cp /var/lib/asterisk/sounds/letters/es /var/lib/asterisk/sounds/es/letters -R
#cp /var/lib/asterisk/sounds/phonetic/es /var/lib/asterisk/sounds/es/phonetic -R
#cp /var/lib/asterisk/sounds/dictate/es /var/lib/asterisk/sounds/es/dictate -R
#cp /var/lib/asterisk/sounds/digits/es /var/lib/asterisk/sounds/es/digits -R

sábado, 3 de abril de 2010

Tunel SSH

Tunel SSH


1º Paso


Primero generamos un key prívate y otro key public con  puttygen.

Oprimimos el botón GENERATE

Una vez generada la clave , en donde dice KEY PASSPHASE, introducimos una frase, confirmamos la frase y luego oprimimos el botón SAVE PUBLIC KEY y guardamos nuestra clave publica, luego oprimimos el botón  SAVE PRIVATE KEY. Por ultimo copiamos el public key

EJ de public key

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAoqbPeSGZ4WZLbwBTdM+vUddKI8hD9IRKEec0Yac5kOtjVF5+xCuwKxSinP3XRs3cN/OdG3cr6R/FcVhFx+dBI31TZSs7qzMUOPf1NBsDrB27S0XPek3Rl9nDJOhFWpXm0oTVsVpg/pyzCqCWuXjswf0fIER18V9WULFwNPDVpas= rsa-key-20100318

2º Paso


Realizamos un ssh al cliente Linux

Nos logueamos con nuestro usuario

Creamos la carpeta  .ssh en el home de nuestro usuario

#mkdir .ssh

Le damos los siguientes permisos

#chmod  700 .ssh

#cd .ssh

Entramos a la carpeta y creamos el archivo authorized_keys

#vim  authorized_keys

Y una vez adentro copiamos nuestro public key






ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAoqbPeSGZ4WZLbwBTdM+vUddKI8hD9IRKEec0Yac5kOtjVF5+xCuwKxSinP3XRs3cN/OdG3cr6R/FcVhFx+dBI31TZSs7qzMUOPf1NBsDrB27S0XPek3Rl9nDJOhFWpXm0oTVsVpg/pyzCqCWuXjswf0fIER18V9WULFwNPDVpas= rsa-key-20100318

Finalmente le damos permiso de solo lectura al propietario

#chmod  400 authorized_keys

Luego en el putty debemos  crear nuestra sesión y grabarla, de esta manera vamos a entrar sin poner la clave

Luego hacemos un Tunel ssh, para ello ir a la opción ssh / Tunnels

En source port agregar el port por el cual le decimos que nos vamos a conectar y lo escribimos en SOURCE PORT

Ej 4444

En DESTINATION PORT escribimos a que ip nos queremos conectar y por que puerto (VNC, Remote  Desktop, ssh).

Ej: 10.10.10.10:3389

Luego le oprimimos el botón ADD y  tildamos el check box  LOCAL PORTS ACCEPT CONNECTIONS FROM OTHER HOSTS. y guardamos la sesión.

Luego ejecutamos el pageant. Y con el botón Add KEY introducimos el archivo de nuestra prívate key guardada .

Luego entramos por ssh a la sesión guardada, nos pedirá el loguin donde ponemos nuestro usuario y no nos tiene que pedir el password, ahí  veremos que esta funcionando bien.

Ahora abrimos un escritorio remoto y nos conectamos  a la IP 127.0.0.1:4444, haciendo un tunel  nos conecta a la 10.10.10.10:3389

Ej  para escritorio  remoto

127.0.0.1:4444

Entraremos al escritorio de la IP 10.10.10.10 la cual declaramos en el putty.