[iptables] blacklistage de boolay - j'ai du raté qq chose

blacklistage de boolay - j'ai du raté qq chose [iptables] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 27-07-2003 à 01:31:40    


81.57.157.113 - - [27/Jul/2003:00:06:11 +0200] "GET /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 299
81.57.157.113 - - [27/Jul/2003:00:06:13 +0200] "GET /scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 299
81.57.157.113 - - [27/Jul/2003:00:06:14 +0200] "GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 299
81.57.157.113 - - [27/Jul/2003:00:06:16 +0200] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 299
81.57.157.113 - - [27/Jul/2003:00:06:18 +0200] "GET /scripts/..%%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 283
81.57.157.113 - - [27/Jul/2003:00:06:20 +0200] "GET /scripts/..%%35c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 283
81.57.157.113 - - [27/Jul/2003:00:06:22 +0200] "GET /scripts/..%25%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 300
81.57.157.113 - - [27/Jul/2003:00:06:28 +0200] "GET /scripts/..%252f../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 300
 


 
 
 
bon, on va l'envoyer chier
 
iptables -A INPUT -i eth1 -s 81.57.157.113 -j DROP
 
pourtant il réapparait dans les logs....
 


root@alizee:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere           state INVALID
fromrezo   all  --  anywhere             anywhere
fromnet    all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:http
DROP       all  --  choisy-1-81-57-157-113.fbx.proxad.net  anywhere
 
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             farib.rezo         tcp dpts:6881:6889
ACCEPT     tcp  --  anywhere             farib.rezo         tcp dpt:1214
ACCEPT     tcp  --  anywhere             farib.rezo         tcp dpt:4711
ACCEPT     udp  --  anywhere             farib.rezo         udp dpt:4662
ACCEPT     tcp  --  anywhere             farib.rezo         tcp dpt:4661
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere           state INVALID
fwdrezo    all  --  anywhere             anywhere
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain fromnet (1 references)
target     prot opt source               destination
 
Chain fromrezo (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
 
Chain fwdrezo (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
 

Reply

Marsh Posté le 27-07-2003 à 01:31:40   

Reply

Marsh Posté le 27-07-2003 à 01:32:50    

avec -I plutot que -A?


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 01:37:07    

Bobor a écrit :

avec -I plutot que -A?

ah ?
 
concretement ca change quoi ? j'ai jamais réellement compris...

Reply

Marsh Posté le 27-07-2003 à 01:37:43    

t'appliqe la règle en premier...et pas en dernier!


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 01:46:31    

j'ai ca
 
ACCEPT     all  --  anywhere             anywhere
 
et apparemment, et d'apres mon fichier, je devair pas l'avoir (cette ligne elle a l'air de tout accepter non ?)
 
chuis étonné parce que j'ai toujours ue l'impression que ca fonctionnnait bien et je vois cette ligne j'ai un doute
 


#!/bin/sh
# fichier config alizée pour le 17
 
 
IPT=/usr/sbin/iptables  
 
ipt() {
  echo $*
  $IPT $*
}
 
start() {
  /bin/echo "=> Initialisation du Firewall"
 
  echo -n "."
 
  #####  Initialisation generale
 
  # Polices par default (on accepte uniquement les sorties)
  ipt -P INPUT DROP
  ipt -P OUTPUT ACCEPT
  ipt -P FORWARD DROP
 
  #initialisation
  ipt -t nat -F
  ipt -F
  ipt -X
 
  #creation de tables
  ipt -N fromrezo   #securite moyenne
  ipt -N fromnet    #securite maximum
  ipt -N fwdrezo    #forward depuis le rezo
 
  #####  Premiere couche
 
  # Trie des entrees vers la machine elle meme
  ipt -A INPUT -i lo -j ACCEPT
  ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  ipt -A INPUT -m state --state INVALID -j DROP
 
  ipt -A INPUT -i eth0 -j fromrezo
  ipt -A INPUT -i eth1 -j fromnet
 
 
  #Trie des demandes de forward
  ipt -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
  ipt -A FORWARD -m state --state INVALID -j DROP
  ipt -A FORWARD -i eth0 -j fwdrezo
 
  #On NAt les ips sur le net
  ipt -t nat -A POSTROUTING -o eth1 -j MASQUERADE
 
 
#  #ICQ pour ToTo
#  ipt -t nat -I PREROUTING -i ppp0 -p tcp --dport 4000 -j DNAT --to 10.1.121.1:4000
#  ipt -t nat -I PREROUTING -i ppp0 -p udp --dport 4000 -j DNAT --to 10.1.121.1:4000
#  ipt -A INPUT -i ppp0 -p tcp --dport 4000 -j ACCEPT
#  ipt -A INPUT -i ppp0 -p udp --dport 4000 -j ACCEPT
 
#  Emule pour farib
 
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
 
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
 
iptables -I INPUT -i eth1 -s 81.57.157.113 -j DROP
#81.57.157.113
 
iptables -I PREROUTING -t nat -i eth1 -p tcp --dport 4661 -j DNAT --to 192.168.0.2
iptables -I FORWARD -i eth1 -o eth0 -p tcp --dport 4661 -d 192.168.0.2 -j ACCEPT
 
iptables -I PREROUTING -t nat -i eth1 -p udp --dport 4662 -j DNAT --to 192.168.0.2
iptables -I FORWARD -i eth1 -o eth0 -p udp --dport 4662 -d 192.168.0.2 -j ACCEPT
 
iptables -I PREROUTING -t nat -i eth1 -p tcp --dport 4711 -j DNAT --to 192.168.0.2
iptables -I FORWARD -i eth1 -o eth0 -p tcp --dport 4711 -d 192.168.0.2 -j ACCEPT
 
iptables -I PREROUTING -t nat -i eth1 -p tcp --dport 1214 -j DNAT --to 192.168.0.2
iptables -I FORWARD -i eth1 -o eth0 -p tcp --dport 1214 -d 192.168.0.2 -j ACCEPT
 
 
iptables -I PREROUTING -t nat -i eth1  -p tcp --dport 6881:6889 -j DNAT --to 192.168.0.2
iptables -I FORWARD -i eth1 -o eth0 -p tcp  --dport 6881:6889 -d 192.168.0.2 -j ACCEPT
 
 
 
  #acceptation du rézo
 ipt -A fromrezo -j ACCEPT
 
 
 
  #entrees FORWARD->fwd
 
  ipt -A fwdrezo -j ACCEPT  
 
 
  /bin/echo 1 > /proc/sys/net/ipv4/ip_forward
 
  echo "=> Firewall initialise"
}
 
stop() {
#
# On remet la police par défaut à ACCEPT
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
 
#
# On remet les polices par défaut pour la table NAT
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
 
#
# On vide (flush) toutes les règles existantes
#
iptables -F
iptables -t nat -F
 
#
# Et enfin, on efface toutes les chaînes qui ne
# sont pas à defaut dans la table filter et nat
 
iptables -X
iptables -t nat -X
 
# Message de fin
echo " [firewall stoppe]"
 
}
 
 
case $1 in
start)
  start
  ;;
 
stop)
  stop  
#  /bin/echo 0 > /proc/sys/net/ipv4/ip_forward
;;
 
restart)
 stop
 start
;;
 
*)
echo "Usage: $0 start | stop | restart"
;;
 
esac
 

Reply

Marsh Posté le 27-07-2003 à 02:03:11    

c'est pas dû à ta ligne lo par hasard? (dans ce cas c'est bon)
fais iptables-save plutot que iptables -L, c'est plus clair.
 
n'oublie pas de kicker ta blacklist en forward également.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 02:14:19    

Effectivement vu le résultat de iptables -L ton firewall laisse tout passer !!! [:totoz]
 
 
Tu définis la chaîne fromnet mais tu ne définis ensuite aucune règle pour elle, puis tu fais pointer la chaîne INPUT du côté de ton interface connectée au net vers  fromnet :
 

Code :
  1. ipt -A INPUT -i eth1 -j fromnet

 
 
Par défaut une chaîne vide est peut-être considérée comme "ACCEPT"
 
 
Je ne vois pas d'autre explication, donc soit tu vires cette chaîne dont tu ne te sers pas, soit les régles que tu définis pour la chaîne INPUT pour eth1, tu les définis pour fromnet, INPUT pointant vers celle-ci ça seras bon


Message édité par C_Po_Ma_Faute le 27-07-2003 à 02:15:58
Reply

Marsh Posté le 27-07-2003 à 07:49:00    

j'ai retiré les  références à fromnet
 


root@alizee:~# iptables-save
# Generated by iptables-save v1.2.7a on Sun Jul 27 07:42:22 2003
*nat
:PREROUTING ACCEPT [526:34058]
:POSTROUTING ACCEPT [260:42352]
:OUTPUT ACCEPT [278:49753]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 6881:6889 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p tcp -m tcp --dport 1214 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p tcp -m tcp --dport 4711 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p udp -m udp --dport 4662 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p tcp -m tcp --dport 4661 -j DNAT --to-destination 192.168.0.2
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sun Jul 27 07:42:22 2003
# Generated by iptables-save v1.2.7a on Sun Jul 27 07:42:22 2003
*filter
:INPUT DROP [262:15286]
:FORWARD DROP [2:2744]
:OUTPUT ACCEPT [1022:177465]
:fromrezo - [0:0]
:fwdrezo - [0:0]
-A INPUT -s 81.57.157.113 -i eth1 -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -i eth0 -j fromrezo
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth1 -o eth0 -p tcp -m tcp --dport 6881:6889 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth1 -o eth0 -p tcp -m tcp --dport 1214 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth1 -o eth0 -p tcp -m tcp --dport 4711 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth1 -o eth0 -p udp -m udp --dport 4662 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth1 -o eth0 -p tcp -m tcp --dport 4661 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth0 -j fwdrezo
-A fromrezo -j ACCEPT
-A fwdrezo -j ACCEPT
COMMIT
# Completed on Sun Jul 27 07:42:22 2003
root@alizee:~#
 


Message édité par farib le 27-07-2003 à 07:50:36
Reply

Marsh Posté le 27-07-2003 à 07:52:29    

et j'ai toujours ca  
 
ACCEPT     all  --  anywhere             anywhere
 
en fait ce qu'il y a de bizarre c'est que selon les scanneurs on-line, je suis bien protégé...


Message édité par farib le 27-07-2003 à 08:36:40
Reply

Marsh Posté le 27-07-2003 à 09:30:59    

iptables-save est ok. Fais un test sans la ligne de lo car je pense que c'est ça.  
donc tout est bon là.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 09:30:59   

Reply

Marsh Posté le 27-07-2003 à 09:51:05    

Bobor a écrit :

iptables-save est ok. Fais un test sans la ligne de lo car je pense que c'est ça.  
donc tout est bon là.

bah fo quand même plutot accepter le local non ?

Reply

Marsh Posté le 27-07-2003 à 09:55:14    

oui, c'est juste pour voir si cela correspond à cette ligne intrigante


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 10:34:51    

apparemment oui.
 
 
mais ca n'explique aps pourquoi la blacklisté a pu réussir à acceder au pc ( -A ou -I je vois pas au final la différence...) puisque par défaut c'est à drop

Reply

Marsh Posté le 27-07-2003 à 10:40:48    

parce que iptables lit les règles dans l'ordre: il est tombé en 1er (avec -A) sur la ligne ACCEPT port 80 donc accés autorisé (car iptables arrête alors la lecture des règles). En mettant -I, la ligne blacklistée se retrouve en 1er dans le déroulement des règles et donc il se fait dropé illico car c'est la première règle qui coprrespond. Iptables arrête la lecture à ce niveau.
 
regarde bien l'ordre dans iptables-save.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 10:46:16    

Bobor a écrit :

parce que iptables lit les règles dans l'ordre: il est tombé en 1er (avec -A) sur la ligne ACCEPT port 80 donc accés autorisé (car iptables arrête alors la lecture des règles). En mettant -I, la ligne blacklistée se retrouve en 1er dans le déroulement des règles et donc il se fait dropé illico car c'est la première règle qui coprrespond. Iptables arrête la lecture à ce niveau.
 
regarde bien l'ordre dans iptables-save.


 
l'enculé

Reply

Marsh Posté le 27-07-2003 à 10:48:35    

un homme averti en vaut 2  [:bigsmilev]


---------------
Gitan des temps modernes
Reply

Marsh Posté le 27-07-2003 à 11:20:22    

un clavier azerty en vaut deux, inculte.
 
nan mais justement c'est important de savoir qu'il sarrete apres un accept au niveau des ADD, moi je pensais qu'il cherchait a respecter toutes les règles, sachant que la dernière règle rentrée est la plus prioritaire....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed