Coupler Asterisk et Jabber

Ce script permet d’installer un serveur jabber et asterisk. Le serveur jabber peut être couplé au serveur Activedirectory de manière intuitive. J’ai également inclu certaines règles de filtrage au niveau d’iptables. Si jamais les régles ne vous conviennet pas, vous pouvez rebooter votre serveur et le filtrage sautera.

# !/bin/bash
 
# script d’installation du serveur de communication
# auteur : Seito
 
# date : 16 mars 2013
 
# version : 1
 
#la partie suivante est à adapter :
 
#Mise en place de l’adresse réseau :
 
rm /etc/network/interfaces
 
echo "auto lo" >> /etc/network/interfaces
 
echo "iface lo inet loopback" >> /etc/network/interfaces
 
echo "allow-hotplug eth0" >> /etc/network/interfaces
 
echo "iface eth0 inet static" >> /etc/network/interfaces
 
echo "address 172.16.1.4" >> /etc/network/interfaces
 
echo "netmask 255.255.252.0" >> /etc/network/interfaces
 
#Applications des droits
 
chown root :root /etc/network/interfaces
 
chmod 644 /etc/network/interfaces
 
# Insertion d’une nouvelle ligne de dépot
 
echo "deb http://ftp.us.debian.org/debian squeeze main non-free" >> /etc/apt/sources.list
 
# Recréation de la liste de dépôt
 
aptitude update
 
#Installation du jdk java
 
aptitude install -y sun-java6-jdk
 
cd /tmp/
 
#téléchargement du .deb pour openfire
 
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.7.1_all.deb
 
#Installation :
 
dpkg -i downloadServlet\?filename\=openfire%2Fopenfire_3.7.1_all.deb
 
# Demarrage du deamon
 
/etc/init.d/openfire start
 
#Installation des prérequis pour Asterisk
 
aptitude install –y build-essential libxml12-dev ncurses-dev
 
#Rapatriement et extraction des sources :
 
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.3.3.tar.gz
 
tar xvzf asterisk-1.8.3.3.tar.gz
 
cd asterisk-1.8.3.3/ && make && make install && make config && make samples
 
/etc/init.d/asterisk start
 
#Configuration du filtrage :
 
#Flush de la base de filtre
 
/sbin/iptables -F
 
/sbin/iptables -P INPUT DROP
 
/sbin/iptables -P OUTPUT ACCEPT
 
#Autorisation des reponses
 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#Autorisation Ping
 
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
iptables -A INPUT -p icmp -m limit --limit 5/s -j ACCEPT
 
#SSH
 
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
 
/sbin/iptables -A OUTPUT -o eth0 -p tcp --dport 22 -j ACCEPT
 
#Autoriser DNS
 
iptables -A OUTPUT --protocol udp --destination-port 53 -j ACCEPT
 
#Sortie web
 
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
 
#Autoriser sortie FTP
 
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
 
iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
 
#Creation des regles pour la connexion sur le loopback
 
iptables -A OUTPUT -o lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
 
iptables -A INPUT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
 
#Port d’administration jabber :
 
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 9090 -j ACCEPT
 
/sbin/iptables -A OUTPUT -o eth0 -p tcp --dport 9090 -j ACCEPT
 
#Port jabber :
 
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 5222 -j ACCEPT
 
/sbin/iptables -A OUTPUT -o eth0 -p tcp --dport 5222 -j ACCEPT
 
#Port Asterisk :
 
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 5060 -j ACCEPT
 
/sbin/iptables -A OUTPUT -o eth0 -p tcp --dport 5060 -j ACCEPT
 
clear
 
echo "Serveur Jabber installé"
 
echo "Serveur Asterisk installé"
 
echo "Filtrage effectué "
 
echo "Have Fun ! ! !"

Puis vous devez vous connecter à l’interface de gestion http://ipserv:9090 (ipserv étant à remplacer par votre adresse IP ) . L’interface est vraiment trés bien faite et vous devriez trouver comment faire la jonction avec l’ad très facilement.

Pour la suite, vous pouvez ajouter des plugins tel que :

– Asterisk IM Openfire (permettant d’intégrer asterisk dans openfire)

– Email listener (permettant de pouvoir récupere les mails)

– Packet filter (permettant de filtrer les paquets envoyé)

– SIP phone (permettant d’ajouter le support des comptes sip)

Vous trouverez la listes des plugins ici : http://www.igniterealtime.org/projects/openfire/plugins.jsp