martes, 5 de junio de 2012

Asterisk VoiceMail Smarthost Gmail

Los pasos descritos fueron realizados debido a la necesidad de un amigo de querer enviar los buzones de voz a varias cuentas por cada anexo .... hasta donde recuerdo no se puede poner directamente en el voicemail.conf  si se pudiera imagino que los que lean esto me lo harán saber .. en fin ...

En el archivo voicemail.conf dejo lo siguiente:

502 => 502,,doscuentas@dominiolocal,,attach=yes|saycid=no|envelope=no|delete=no

En este caso mi pata tenia Debian y Exim para los envíos de correo ... haciendo unos ajustes a su configuración deje lo siguiente:

#vim /etc/exim4/update-exim4.conf.conf

dc_eximconfig_configtype='smarthost'
dc_other_hostnames='dominiolocal'
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com::587'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

No explicare el proceso de configuracion del Gmail ...eso no me pidio mi pata jeje ...

Dentro del archivo /etc/aliases hacemos lo siguiente:

# vim /etc/aliases
doscuentas: cuenta1@dominiodestino.com,cuenta2@dominiodestino.com

Ejecutamos

#newaliases

Listo, con esto ya tenemos listo lo solicitado ..!!




Plugin DAM Google Ghrome

Un tiempo instale el DAM en mi PC, y mi navegador predeterminado es Google Ghrome, cada ves que quería realizar una descarga lo hacia mediante el DAM y cuando desinstale dicho programa igual seguía buscando el DAM ....

Para esto en el mismo navegador puse:

chrome://plugins/

Ahi deshabilite el DAM ...

sábado, 2 de junio de 2012

Linksys SPA3102 con Asterisk

Debido a la necesidad de poner una linea analógica a la central Asterisk vamos a configurar una troncal SIP entre un SPA3102 y la Central, tal ves no sea la mejor forma de hacerlo pero hasta el momento me funciona bien.

Para esto ya tenemos instalado Asterisk con FreePBX.

Datos:

  • IP Asterisk : 192.168.1.5
  • IP SPA3102 : 192.168.1.240
  • Numero de linea analógica 485107 
En el FreePBX nos dirigimos a la sección Trunk, Add SIP Trunk y llenamos los siguientes datos ...






















Ahora accederemos al SPA3102 para esto ya tengo configurado con la IP 192.168.1.240, ambos (Asterisk y ATA) estan en la misma red ... pondré una secuencia de imágenes que se tendrá en cuenta para la configuración ...















El numero 485107 es el que enviara al Asterisk para poder enrutar la llamada ..





















Con esto ya tenemos listo la troncal, ahora para las llamadas entrantes por ejemplo ... dentro de FreePBX configuramos en Inbound Routes ... del siguiente modo









Lo demás se entiende que uno ya lo deriva al IVR o Anexo ...etc .. Para el caso de llamadas salientes, basta con poner el dialplan y seleccionar la troncal creada. Espero no haber omitido algún paso ...

martes, 29 de mayo de 2012

Servidor FTP con VSFTPD sobre CentOS

En esta pequeña guía se mostrara la instalación de un servidor FTP con usuarios virtuales.

La plataforma es CentOS 6.2

Datos:
IP del FTP : 172.16.0.84

El proceso sera sencillo, comenzamos instalando el programa

# yum install vsftpd -y

Editamos el archivo /etc/vsftpd/vsftpd.conf

# vi /etc/vsftpd/vsftpd.conf

background=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
virtual_use_local_privs=YES
write_enable=YES
pam_service_name=vsftpd-virtual
xferlog_file=/var/log/vsftpd.log
user_sub_token=$USER
local_root=/var/www/html/$USER
anon_root=/var/www/ftp
chroot_local_user=YES
hide_ids=YES
listen=YES
listen_port=21
ftp_data_port=20
pasv_min_port=65500
pasv_max_port=65535
connect_from_port_20=YES
local_umask=022
max_clients=20
max_per_ip=10
secure_chroot_dir=/usr/share/empty


Guardamos los cambios y listo ahora falta la creación de usuarios ....

Elabore un pequeño script para la creación de los usuarios ... lo llamaremos ftpadduser

# vi /usr/local/sbin/ftpadduser


#!/bin/bash
if [ -z "$1" ]; then
        echo "Ingrese el usuario ..."
        exit 1
fi
if [ -z "$2" ]; then
        echo "Ingrese la clave ..."
        exit 1
fi
echo "$1" >> /opt/virtual-users.txt
echo "$2" >> /opt/virtual-users.txt
db_load -T -t hash -f /opt/virtual-users.txt /etc/vsftpd/virtual-users.db
mkdir /var/www/html/$1
chown -R ftp:ftp /var/www/html/$1

Listo ejecutando ese script se podra crear las cuentas FTP

Ahora debemos ver el selinux, podriamos deshabilitarlo pero por temas de seguridad lo conservamos(Enforcing) y ejecutamos lo siguiente

setsebool allow_ftpd_full_access on
setsebool ftp_home_dir on

Ahora el servidor FTP ya esta operativo ... En nuestro Firewall(iptables) haremos el respectivo NAT

Dentro de nuestro script de iptables, cargaremos algunos módulos

#Definiendo variables
IPT="/sbin/iptables"
EXT_IP="IP Externa"
FTP="172.16.0.84"

# Cargando módulos 
...
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
...

#Realizando el NAT

$IPT -t nat -A PREROUTING -d $EXT_IP -p tcp --dport 20:21 -m state --state NEW,ESTABLISHED,RELATED -j DNAT --to-destination $FTP
$IPT -A FORWARD -d $FTP -p tcp --dport 20:21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -s $FTP -p tcp --sport 20:21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Listo ... con esto ya debería estar operativo al 100% ... se entiende que falta el enmascaramiento en el script del firewall ...
 


Servidor de correo Zimbra sobre Centos 6

En mi trabajo por temas de licencia me pidieron instalar un servidor de correo bajo Linux, por temas de facilidad de administracion se escogio la version OpenSource de Zimbra.

Para esto en mi red, ya se contaba con un Active Directory y servidor DNS en el mismo equipo, escogi Cent0S 6.2 de 64 bits como plataforma para la instalacion de Zimbra, la version de Zimbra que use es 7.2

Datos:

  • IP del AD : 172.16.0.33
  • Dominio: mydominio.com
  • IP de Zimbra: 172.16.0.55
  • Hostname de Zimbra: mail.mydominio.com

Pasos iniciales:
  1. En el servidor DNS se creo el registro MX apuntando a mail.mydominio.com
  2. En el archivo hosts del Linux se puso lo siguiente:
cat /etc/hosts

127.0.0.1 localhost.localdomain localhost
172.16.0.55 mail.mydominio.com mail

Desactivamos el selinux

vi /etc/sysconfig/selinux
SELINUX=disabled

Comentamos la siguiente seccion dentro del archivo sudoers

vi /etc/sudoers
#Defaults    requiretty

Instalacion de dependencias:

yum install -y perl bind-utils sysstat nc file sudo

Luego de descomprimir el archivo tar.gz, ingresamos al directorio y ejecutamos lo siguiente:

[root@mail zcs-7.2.0_GA_2669.RHEL6_64.20120410002025]# ./install.sh --platform-override

De aqui solo queda responder las preguntas ...

Le damos Y a modificar la plataforma ...

En una seccion me sale la siguiente pregunta
Change domain name?[yes]

Esto debido a que detecta como dominio lo siguiente: mail.mydominio.com

Le respondo que si (Y) y pongo mi dominio

Change domain name?[yes] Y
mydominio.com

Listo .. el resto es terminar de responder algunas preguntas que hara .. de hecho habra que ponerle una clave para el acceso del admin ...

Luego de esto accedo:

https://mail.mydominio.com:7071/zimbraAdmin/


Cuando voy a la seccion de Mail Queues ... me sale algunos mensajes de error, las cuales las he resuelto gracias a este blog http://blog.spanger.org/?p=501

Por ahora estoy creando los usuarios tanto en el servidor de correo como en el Active Directory para la validacion. Para esto sigo los siguientes pasos:
  • Seleccionar el dominio, debajo de Domains
  • Ir a la seccion de Autenticacion
  • Configure Autenticacion
  • Escoger external active directory
  • Pongo la IP 172.16.0.33
  • En username pongo administrator@mydominio.com, ingreso la clave y ya esta ....
Luego de esto hago lo siguiente:
  • Server Settings 
  • MTA  
  • Dentro de MTA Trusted Network, dejo lo siguiente: 127.0.0.1/32 172.16.0.55/32
Por ahora lo he dejado asi ... ya estare haciendo mas ajustes y mas cosas que las ire publicando ....




domingo, 29 de abril de 2012

Proxy Squid con autenticacion en Active Directory


Configuraremos un servidor Proxy con Squid sobre OpenSUSE 11.0, las politicas de acceso hacia internet sera por grupos de usuarios cada grupo con diferentes privilegios, los usuarios se autenticaran contra un Windows Server 2003 con Active Directory.
Datos usados:
Dominio: angeles.com
Controlador de dominio: dc.angeles.com
el controlador de dominio (dc.angeles.com) tiene la ip 192.168.1.2
el proxy tiene la ip 192.168.1.9
Instalacion de paquetes necesarios:
yast2 -i samba samba-winbind squid
Con esto tenemos las herramientas necesarias, ahora empezamos a configurar
Archivo krb5.conf ubicado en /etc/krb5.conf
[libdefaults]
default_realm = ANGELES.COM
clockskew = 300
[realms]
ANGELES.COM = {
kdc = 192.168.1.2
default_domain = angeles.com
admin_server = 192.168.1.2
}
angeles.com = {
kdc = 192.168.1.2
default_domain = angeles.com
admin_server = 192.168.1.2
}
angeles = {
kdc = 192.168.1.2
default_domain = angeles
admin_server = 192.168.1.2
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.angeles = angeles
.angeles.com = ANGELES.COM
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
try_first_pass = true
}
Archivo nsswitch.conf ubicado en /etc/nsswitch.conf
passwd: compat winbind
group: compat winbind
hosts: files dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files nis
publickey: files
bootparams: files
automount: files nis
aliases: files
Archivo ntp.conf ubicado en /etc/ntp.conf
driftfile /var/lib/ntp/drift/ntp.drift
logfile /var/log/ntp
server dc.angeles.com
#Nota: se entendera que en el dc.angeles.con esta corriendo el servicio ntp
Archivo smb.conf ubicado en /etc/samba/smb.conf
[global]
workgroup = angeles
security = ads
password server = *
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users =yes
winbind enum groups = yes
winbind use default domain = yes
realm = ANGELES.COM
netbios name = proxy
server string = proxy
#Nota: proxy es el hostname del servidor Proxy
iniciamos los servicios smb y winbind
proxy:~#rcntp start
proxy:~#rcsmb start
proxy:~#rcwinbind start
Ahora si todo ha salido bien, es decir todos los servicios smb y winbind estan corriedo, uniremos la maquina al controlador de dominio.  Iniciar los servicios en ese orden.
proxy:~#net ads join -S dc.angeles.com -U Administrador
password:
Ingresamos la constraseña y listo, ahora vamos a comprobar, para ello ejecutamos
proxy:~#wbinfo -t
Para listar a los usuarios y grupos del dominio
proxy:~#wbinfo -u
proxy:~#wbinfo -g
Si nos ha listado los usuarios y grupos, quiere decir que todo esta correcto
Ahora editamos el archivo squid.conf ubicado en /etc/squid/squid.conf
#Configuraremos unas reglas simples, crearemos 3 grupos, cada grupo con privilegios diferentes, el primero tendra acceso total el segundo tendra algunas restricciones como el msn y el tercer grupo solo podra acceder a ciertas paginas, para el ejemplo le daremos acceso solo a www.sunat.gob.pe y www.mtc.gob.pe
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache_dir ufs /var/cache/squid 500 16 256
cache_access_log /var/log/squid/access.log
cache_mem 64 MB
cache_swap_low 70
cache_swap_high 85
# parametros que nos permitiran autentcar contra el Active Directory
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 20
auth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param basic children 15
auth_param basic realm angeles.com
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
#—–
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl rednueva src 172.16.0.0/16
acl SSL_ports port 81 443 563 8080 8040
acl Safe_ports port 80 81 443 8080 # http
acl Safe_ports port 20 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl msn1 url_regex -i gateway.dll
acl msn2 dstdomain messenger.msn.com gateway.messenger.hotmail.com
acl msn3 req_mime_type ^application/x-msn-messenger$
acl grupo1 proxy_auth “/etc/squid/reglas/grupo1.txt”
acl grupo2 proxy_auth “/etc/squid/reglas/grupo2.txt”
acl grupo3 proxy_auth “/etc/squid/reglas/grupo3.txt”
acl domgrupo3 dstdomain .sunat.gob.pe .mtc.gob.pe
no_cache deny QUERY
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow grupo1
http_access deny msn1 !grupo1
http_access deny msn2 !grupo1
http_access deny msn3 !grupo1
http_access allow grupo2
http_access allow grupo3 domgrupo3
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname proxy.angeles.com
coredump_dir /var/cache/squid
Inciamos el servicio y listo
proxy:~#rcsquid start
Nota: en el archivo winbindd_privileged el usuario propietario debera ser squid, para ello hacemos lo siguiente, ojo no hacerlo de manera recursiva
proxy:~#chown squid winbindd_privileged
Ahora solo nos queda probar desde una maquina guindos que este en el dominio, el usuario podra acceder a internet de acuerdo a los privilegios del grupo en que se encuentra. cuando trate de acceder a internet ya no le pedira que se autentique, el proxy usara los datos de la sesion.
Nota1: Tener cuidado si se copia y pega la parte de “–helper-protocol=squid-2.5-ntlmssp” en el putty directo, sale con un punto adelante  “.helper-protocol=squid-2.5-ntlmssp” en lugar de dos guiones – -
Nota2: tener cuidado con los DNS’s
se puede probar haciendole un ping a dc.angeles.com
proxy:~#ping dc.angeles.com
ping dc.angeles.com (192.168.1.2) …
Deberia resolver a la ip del controlador de dominio