Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/04/2015, 05:17
Avatar de lauser
lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Me estan tratando de hackear la web ?

Puedes crear un bash y bloquear todas las ip's de los países que tu consideres.
Código BASH:
Ver original
  1. #!/bin/bash
  2. # Purpose: Block all traffic. Use ISO code. #
  3. # En ISO= colocas los paises a bloquear, puedes consultar en...
  4. # www.ipdeny.com/ipblocks/data/countries
  5. # Por defecto china y afganistan
  6. ISO="af cn"
  7.  
  8. ### Set PATH ###
  9. IPT=/sbin/iptables
  10. WGET=/usr/bin/wget
  11. EGREP=/bin/egrep
  12.  
  13. ### No editing below ###
  14. SPAMLIST="countrydrop"
  15. ZONEROOT="/root/iptables"
  16. DLROOT="http://www.ipdeny.com/ipblocks/data/countries"
  17.  
  18. cleanOldRules(){
  19. $IPT -F
  20. $IPT -X
  21. $IPT -t nat -F
  22. $IPT -t nat -X
  23. $IPT -t mangle -F
  24. $IPT -t mangle -X
  25. $IPT -P INPUT ACCEPT
  26. $IPT -P OUTPUT ACCEPT
  27. $IPT -P FORWARD ACCEPT
  28. }
  29.  
  30. # create a dir
  31. [ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT
  32.  
  33. # clean old rules
  34. cleanOldRules
  35.  
  36. # create a new iptables list
  37. $IPT -N $SPAMLIST
  38.  
  39. for c  in $ISO
  40. do
  41.      # local zone file
  42.      tDB=$ZONEROOT/$c.zone
  43.  
  44.      # get fresh zone file
  45.      $WGET -O $tDB $DLROOT/$c.zone
  46.  
  47.      # country specific log message
  48.      SPAMDROPMSG="$c Country Drop"
  49.  
  50.      # get
  51.      BADIPS=$(egrep -v "^#|^$" $tDB)
  52.      for ipblock in $BADIPS
  53.      do
  54.         $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
  55.         $IPT -A $SPAMLIST -s $ipblock -j DROP
  56.      done
  57. done
  58.  
  59. # Drop everything
  60. $IPT -I INPUT -j $SPAMLIST
  61. $IPT -I OUTPUT -j $SPAMLIST
  62. $IPT -I FORWARD -j $SPAMLIST
  63.  
  64. # call your other iptable script
  65. # /path/to/other/iptables.sh
  66.  
  67. exit 0

Guardas el script como country.block.iptables.sh siendo root. Instalas el script y defines con crontab:
Código BASH:
Ver original
  1. @weekly /path/to/country.block.iptables.sh

Iniciar.
Código BASH:
Ver original
  1. # /path/to/country.block.iptables.sh
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-