mardi 28 août 2012

Fail2ban + Asterisk 1.8


Fail2ban est souvent utilisé avec Asterisk pour sécuriser les connexions, éviter les fraudes.
Mais depuis la version 1.8 le format des log a quelque peu changé.
Le port de l'utilisateur distant a été ajouté et par conséquent les filtres Asterisk existant sont inopérants.

Par conséquend modifier comme suit la configuration de votre jail pour Asterisk.

NOTICE.* .*: Registration from '.*' failed for '<HOST>(:[0-9]{1,5})?' - Wrong password
NOTICE.* .*: Registration from '\".*\".*' failed for '<HOST>(:[0-9]{1,5})?' - No matching peer found

La première ligne permet de bloquer les connexions intempestive.
La seconde bloque les appels anonymes ou les appels entrants venant de peer inconnu.


mardi 21 août 2012

SSH reverse tunnel

Parfois il est pratique de mettre en place un tunnel ssh inversé.
Par exemple, le serveur de mon client déménage et change d'IP pour être sûr d'en récupérer le contrôle je mets en place un tunnel ssh inverse.


La commande a éxécuté sur le serveur du client :
ssh -p 2222 -R 10000:localhost:22 root@monserveur





Une fois connecté sur mon serveur pour aller sur le serveur du client
ssh -p 10000 localhost

Pour automatiser créer un script : reverse_ssh.sh

#!/bin/sh
#set -x
COMMAND="ssh -p 2222 -N -f -R 10000:localhost:22 root@monserver"
pgrep -f -x "$COMMAND" > /dev/null 2<&1 || $COMMAND

Exécuter ce script par cron
*/10 * * * * /bin/sh /root/reverse_ssh.sh



Avec l'aide de l'excellent blog

http://rhnotebook.wordpress.com/2010/02/13/reverse-ssh-port-forwarding-t-o-i-c-o-r-g/

mercredi 15 août 2012

Installer un serveur dhcp et tftp

Souvent avec les téléphones SIP, nous avons besoin de mettre à jour le firmware et les fichiers de configurations.

Le plus simple est d'utiliser TFTP pour automatiser la mise à jour.
la seule difficulté est declarer les options dhcp 66 et 150 pour indiquer aux téléphones SIP l'adresse du serveur TFTP.

Installer TFTP server

Installer les paquets xinetd tftpd.

Créer le fichier /etc/xinetd.d/tftp

service tftp { 
protocol = udp 
port = 69 
socket_type = dgram 
wait = yes 
user = nobody 
server = /usr/sbin/in.tftpd 
server_args = /tftpboot 
disable = no 
}

Placer les fichiers dans /tftpboot, changer le propriétaire en nobody.

Redémarrer xinited

Installer DHCPD

Editer /etc/dhcp/dhcpd.conf

ddns-update-style none;
ddns-update off;
option T150 code 150 = string; #Déclaration DHCP option 150
deny client-updates;
one-lease-per-client false;
allow bootp;

subnet 10.0.0.0 netmask 255.255.255.0 {
interface eth0;
range 10.0.0.100 10.0.0.150;
default-lease-time 6000;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option time-offset -28000;
option tftp-server-name "tftp://10.0.0.1"; #Option DHCP 66
option ntp-servers pool.ntp.org;
option T150 "10.0.0.1"; #Option 150, ip du server TFTP
}

Redémarrer dhcpd