• Bloquer les scans.

      Une autre possibilité en plus des fails2ban et autres.
      L'idée ici est de bloquer tout le monde sauf bien sur, les ip externes d'ou on s'enregistre et les fournisseurs de trunk sip ou iax.

      Etape 1:
      Mettre en place un petit script iptables. Ici l'exemple est pour debian.

      On va creer un petit script firewall qui sera executé au demarrage de la machine.
      Code:
      cd /etc/init.d/
      touch firewall
      chmod +x firewall
      update-rc.d firewall defaults
      voila pour l'installation du script firewall. Voyons maintenant son contenu.

      A adapter !!!

      Code:
      #!/bin/sh
      # description: Firewall
      
      
      IPT=/sbin/iptables
      
      
      stop() {
      $IPT -F INPUT
      $IPT -F LOG_DROP
      $IPT -X LOG_DROP
      }
      
      
      
      start() {
      # logs - drop
      # tout n'est pas necessaire, c'est juste le principe
      $IPT -N LOG_DROP
      $IPT -A LOG_DROP -j LOG -p tcp --dport 3306 --log-prefix '[IPTABLES DROP MYSQL] : '
      $IPT -A LOG_DROP -j LOG -p tcp --dport 22 --log-prefix '[IPTABLES DROP SSH] : '
      $IPT -A LOG_DROP -j LOG -p tcp --dport 10000 --log-prefix '[IPTABLES DROP WEBMIN] : '
      $IPT -A LOG_DROP -j LOG -p tcp --dport 5060 --log-prefix '[IPTABLES DROP SIP] : '
      $IPT -A LOG_DROP -j LOG -p tcp --dport 5038 --log-prefix '[IPTABLES DROP ASTMAN] : '
      $IPT -A LOG_DROP -j LOG -p tcp  --log-prefix '[DROP] : '
      $IPT -A LOG_DROP -j REJECT
      
      
      
      # host a bannir
      # $IPT -A INPUT -i eth0 -p tcp --source x.x.x.x -j DROP
      
      
      # facultatif
      # on autorise tout ce qui vient du subnet, a adapter pour vous.
      # iptables -A INPUT -s 192.168.10.0/24 -j ACCEPT
      
      
      
      #asterisk
      # supprime erreur dans log asterisk
      $IPT -A INPUT -p udp -m udp --dport 5060 -m string --string "Cirpack KeepAlive Packet" --algo bm -j DROP
      
      
      # pour le port 5060 on autorise uniquement certaines ips
      # Tout le subnet, a dapter pour VOTRE config
      $IPT -A INPUT  -s 192.168.10.0/24 -i eth0 -p udp --dport 5060  -j ACCEPT
      #on autorise certains fournisseurs sip
      #on ajoutera aussi ses propres ip externes
      $IPT -A INPUT  -s sip.ovh.net -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT  -s sip3.voip-centrex.net -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT  -s sip.intervoip.com -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT  -s sip.a.lomacom.com -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT  -s freephonie.net -i eth0 -p udp --dport 5060  -j ACCEPT
      #keyyo
      $IPT -A INPUT  -s 83.136.161.0/24 -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT  -s 83.136.162.0/24 -i eth0 -p udp --dport 5060  -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 5060  -j  LOG_DROP
      $IPT -A INPUT -i eth0 -p udp --dport 5060  -j  LOG_DROP
      
      $IPT -A INPUT -i eth0 -p udp -m udp --dport 10000:20000  -j ACCEPT
      
      
      # Le reste est fonction de votre config, juste pour info
      # si vous autorisez le subnetlocal, juste ssh est necessaire normalement.
      # On le mettra sur un autre port de preference.
      # on pourra limiter l'acces ssh a certaines ips avec la meme methode que ci dessus
      $IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
      $IPT -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 143 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 4025 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
      $IPT -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
      $IPT -A INPUT -i eth0 -p tcp --dport 5038 -j ACCEPT
      
      
      #ping
      $IPT -A INPUT -i eth0 -p icmp -j ACCEPT
      
      # on rejette tout les autres
      $IPT -A INPUT -i eth0 -j LOG_DROP
      }
      
      case "$1" in
      
      start)
              start
              echo "FireWall Telisk -- Start OK";
      
      exit 0
      ;;
      
      
      stop)
              stop
              echo "FireWall Telisk -- Stop OK";
      exit 0
      ;;
      restart)
              stop
              start
              echo "FireWall Telisk -- Restart OK";
      
      exit 0
      ;;
      
      *)
      echo "Usage: /etc/init.d/firewall {start|stop|restart}"
      exit 1
      ;;
      esac
      Les blocages du port sip seront loggues dans le fichier log systeme ce qui permettra d'ajouter les ips si necessaires et voir le blocage au cas ou on n'a oublié ce firewall.

      Avec ce script vous bloquez tous les scans sauf les ips de confiance ce qui est assez efficace. Les fails2ban et controle acl sont tout de meme utiles. On est jamais assez prudent.

      Remarques bienvenues.
      Cet article a été publié à l'origine dans la discussion du forum : Bloquer les scans. commencé(e) par fastm3 Afficher le message original
    • A propos d'Asterisk

      Asterisk

      Asterisk est un IPBX open source (logiciel libre) pour Linux originellement créé en 1999 par Mark Spencer, fondateur de la société Digium.

      logo asterisk
    • Downloads populaires

    • Articles récents

    • Utilisateurs actuellement connectésUtilisateurs actuellement connectés

      0 membre(s) et 163 invité(s)

      Le record de connectés est de 2 678, 22/07/2022 à 11h34.

    • Ils nous soutiennent

      logo digium
      logo alter-it
      logo avencall
      logo beronet
      logo celya
      logo cnsi
      logo dolmen
      logo easypyro
      logo eyepea
      logo keyyo
      logo opcom
      logo openip
      logo ovh
      logo qualigaz
      qualistream
      logo voip-asterisk
      logo voxity
      logo yealink