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
OpenFire est loin d’être le plus léger des serveurs XMPP, l’implémentation est en Java et très gourmande : pourquoi ce choix ?
D’autre part, tu as un compte jabber que tu utilises régulièrement ?