Upload
adel-bayoudh
View
58
Download
0
Embed Size (px)
Citation preview
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 1/7
Page 1 sur 7 – Version 1.0
Sécurité Informatique
Avertissements :
Le contenu de ce document est sous licence GPL. Le document est librement diffusable dans le contexte de cette licence. Toutemodification est encouragée et doit être signalée à [email protected] Les documents ou applications diffusées sur e-watching.net sont en l’état et sans aucune garantie ; ni les auteurs, ni lesmembres du groupe ne peuvent être tenus pour responsables d’une mauvaise utilisation (au sens légal comme au sensfonctionnel). Il appartient à l’utilisateur de prendre toutes les précautions d’usage avant tout test ou mise en exploitation destechnologies présentées.
Objet : Passerelle SMS basée sur KannelDate :
Version : 07/03/051.0
Description
Mise en place d’une passerelle d’envoi de SMS à partir d’un téléphonemobile relié à l’ordinateur. Les moyens utilisés reviennent à un téléphoneportable fonctionnel, un ordinateur, une distribution Linux et Kannel.
Prérequis
- Les explication suivantes sont faites sur une plate-formeMandrake 10
- Apache : non- MySQL (ou PostgreSQL ou Orcale) : non, encore que….- un téléphone mobile (+ carte SIM) avec un câble de liaison série
ou USB pour le relier à l’ordinateur- si connection par USB : mettre à jour le noyau en 2.6.10 qui
corrige quelques problèmes pénibles avec le convertisseurPL2303 intégré au câble USB.
-Installez LIBXML2 (ftp://fr.rpmfind.net/pub/libxml/libxml2-2.6.17-1.i386.rpm)
Un petit test avant de commencer s’embourber
1. Connectez votre portable au port choisi (USB ou COMx). Si le portest en USB (et que c’est le seul), le port Linux sera /dev/usb/tts/0sinon /dev/tts0 pour le port série COM1 et ainsi de suite….
2. Démarrez sous Windows XX puis lancer un hyperterminal sur le portCOM (9600N,8,1), puis tapez ATI0, le téléphone (si il est allumé)
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 2/7
Page 2 sur 7 – Version 1.0
doit vous renvoyer son modèle de téléphone. Sous Linux, installezGnokii (http://www.gnokii.org/) , modifiez le fichier /etc/gnokiirc (notamment le champ port = /Dev/xx, model = AT-HW,connection = serial). Lancez gnokii –identify . Vous devez alorsvoir une config très détaillée de votre portable en retour.
3. Passez à l’installation…
Installation
La version présentée ici est 1.4.0 de Kannel dispo ici :http://www.kannel.org/download/1.4.0/gateway-1.4.0.tar.gz Tar xzvf gateway-1.4.0.tar.gz./configure
makemake bindir=/usr/kannel install
Configuration des fichiers de configuration
Créez un répertoire dans /etc/kannel et mettez-y ce fichier sous le nomde sms.conf (cf Annexe A ou pour les fainéants, les fichiers sonttéléchargeables ici : http://www.e-watching.net/projets/kannel.zip )
Modifiez au moins sur le fichier ci-dessus les champs suivants :Device = encore une fois le périphérique (USB ou série)Pin = code pin de votre portable, si nécessaireUsername et password = nom d’utilisateur et mot de passe requis
pour l’envoi de smsBox-allow-ip et box-deny-ip = adresses ip qui seront acceptées ou
refusées en connexion. Séparer les IP par un point-virgule. Les adressesIP explicitement autorisées prévalent sur les refus.
Placez ensuite le fichier modems.conf dans /etc/kannel (égalementdispo via le fichier Zip ou dans l’archive gateway de Kannel ou dansl’annexe B).
Démarrage des programmes nécessaires
Pour fonctionner, il faut lancer : /usr/kannel/bearerbox-v 1 /etc/kannel/sms.conf
Puis /usr/kannel/smsbox -v 1 /etc/kannel/sms.conf
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 3/7
Page 3 sur 7 – Version 1.0
Je vous laisse le soin de mettre tout ceci au démarrage de votre poste !
En cas de problèmes : modifiez le paramètre –v 1 en –v 0 pour ces deuxapplis, le mode déboguage rendra votre dépannage plus facile. Sinon, -v
3 ne logue que les erreurs.
Utilisation
L’administration se fait par le port spécifié dans le fichier sms.conf soit vianavigateur graphique soit par ligne de commande, par exemple :lynx -dump http://127.0.0.1:13000/restart pour redémarrer la passerelle
L’envoi de SMS se fait à partir d’un navigateur web (ligne de commandeou graphique) :http://adresse_ip_du_serveur : port_sms /cgi-bin/sendsms?username=utilisateur &password=mot_de_passe &to=téléphone_destinataire&text=contenu_du_message
où :adresse_ip_du_serveur = adresse IP ou nom FQN du poste hébergeantKannel port_sms = port TCP défini dans sms.conf, ligne sendsms-port (section
SMSBOX SETUP) utilisateur = login autorisé à envoyer un SMS, défini dans sms.conf, ligneusername (section SEND-SMS USERS)mot_de_passe = mot de passe défini dans la ligne password (sectionSEND-SMS USERS)téléphone_destinaire = c’est vous qui voyez.Contenu_du_message = encore à vous de voir.
Compléments
Fichiers journaux- Deux fichiers journaux sont générés dans /var/kannel
(smsbox.log et kannel.log) et correspondent aux informations defonctionnement (ou dysfonctionnement) des applicationsrespectives smsbox et bearerbox. L’activation et l’emplacementde journaux est définie dans sms.conf, lignes log-file des sectionsCORE et SMSBOX SETUP.
- Le fichier /var/kannel/access.log loggue tous les envois de SMSeffectués avec l’ensemble des paramètres de l’URL ainsi que
l’adresse IP du client.
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 4/7
Page 4 sur 7 – Version 1.0
Améliorations à envisager
La première est de consulter la doc associée au produit, très riche.Utilisez un port HTTP/SSL plutôt que du simple http.Voir les options de log dans une base SQL pour facturation.Lancer le processus sous l’identité d’un utilisateur protégé avec les optionsen ligne de commande de lancement de bearerbox et smsbox.
Annexes
A – modèle de fichier de configuration principale : sms.conf
# Fichier de config pour Modem GSM connecte sur le port USB -05/03/2005 group = coreadmin-port = 13000#smsbox-port = 13001admin-password = 123456#status-password = foo#admin-deny-ip = ""
#admin-allow-ip = "" log-file = "/tmp/kannel.log" #log-level = 0box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1;192.168.0.10" #unified-prefix = "+358,00358,0;+,00" #access-log = "/tmp/access.log" #store-file = "/tmp/kannel.store" #ssl-server-cert-file = "cert.pem" #ssl-server-key-file = "key.pem"
#ssl-certkey-file = "mycertandprivkeyfile.pem"
include = "/etc/kannel/modems.conf"
# SMSC CONNECTIONS
group = smsc smsc = at modemtype = autodevice = /dev/usb/tts/0
speed = 9600# pin = 1234
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 5/7
Page 5 sur 7 – Version 1.0
# SMSBOX SETUP
group = smsbox bearerbox-host = localhost
sendsms-port = 13013global-sender = 13013#sendsms-chars = "0123456789 +-" #log-file = "/tmp/smsbox.log" #log-level = 0#access-log = "/tmp/access.log"
# SEND-SMS USERS
group = sendsms-user
username = user1 password = bidon#user-deny-ip = "" #user-allow-ip = ""
# SERVICESgroup = sms-servicekeyword = noptext = "You asked nothing and I did it!"
# there should be default alwaysgroup = sms-servicekeyword = default text = "No service specified"
B – modèle de fichier des modems gsm : modems.conf # Modems configuration## Example and default values#
# group = modems# id = "my-id" # name = "my-name" # detect-string = "MODEM" # detect-string2 = "" [Default]# init-string = "AT+CNMI=1,2,0,0,0" [Default]# speed = 9600 [Default]# enable-hwhs = "AT+IFC=2,2" [Default]# need-sleep = false [Default]# no-pin = false [Default]
# no-smsc = false [Default]# sendline-sleep = 100 [Default, miliseconds]# keepalive-cmd = "AT" [Default]
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 6/7
Page 6 sur 7 – Version 1.0
# broken = false [Default]# message-storage = "SM" # enable-mms = false [Default]
# If modemtype=auto, try everyone and defaults to this onegroup = modemsid = generic name = "Generic Modem"
group = modemsid = wavecomname = Wavecomdetect-string = "WAVECOM"
group = modemsid = premicell name = Premicell detect-string = "PREMICEL" no-pin = trueno-smsc = true
group = modemsid = siemens_tc35 name = "Siemens TC35"
detect-string = "SIEMENS" detect-string2 = "TC35" init-string = "AT+CNMI=1,2,0,1,1" speed = 19200enable-hwhs = "AT\\Q3" need-sleep = true
group = modemsid = siemens_m20name = "Siemens M20"
detect-string = "SIEMENS" detect-string2 = "M20" speed = 19200enable-hwhs = "AT\\Q3" keepalive-cmd = "AT+CBC;+CSQ" need-sleep = true
group = modemsid = siemens_sl45 name = "Siemens SL45"
detect-string = "SIEMENS" detect-string2 = "SL45" init-string = "AT+CNMI=1,2,2,2,1"
5/12/2018 PDF PasserelleSMS - slidepdf.com
http://slidepdf.com/reader/full/pdf-passerellesms-55a4d28b94455 7/7
Page 7 sur 7 – Version 1.0
keepalive-cmd = "AT+CBC;+CSQ" speed = 19200enable-hwhs = "AT\\Q3" need-sleep = truemessage-storage = "SM"
group = modemsid = nokiaphonename = "Nokia Phone" detect-string = "Nokia Mobile Phone" need-sleep = truekeepalive-cmd = "AT+CBC;+CSQ" enable-mms = true
group = modems
id = falcomname = "Falcom" detect-string = "Falcom" no-smsc = true
group = modemsid = ericsson_r520mname = "Ericsson R520m" detect-string = "R520m" init-string = "AT+CNMI=3,2,0,0"
group = modemsid = ericsson_t68name = "Ericsson T68" detect-string = "T68" init-string = "AT+CNMI=3,3" keepalive-cmd = "AT+CBC;+CSQ" broken = true
group = modems
id = alcatel name = "Alcatel" detect-string = "Alcatel" init-string = "AT+CNMI=3,2,0,0"