Probleme avec iptables +DNAT +terminal server

Probleme avec iptables +DNAT +terminal server - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 15-12-2003 à 11:58:55    

salut à tous,
voilà j'ai un firewall sous iptables ainsi q'un server windows 2003
je voudrais pouvoir me connecter à distance sur terminal serveur mais pas moyen de le faire
 
est ce que quelqu'un porrait m'aider
merci d'avance
 
ip de mon serveur 2003 193.51.200.50
eth0 81.125.XX.XX
eth1 193.51.200.2
mon script firewall
---------------------------------------------------------
 
 
#Activation du routage IP
echo 1 > /proc/sys/net/ipv4/ip_forward
 
# Protection contre le Spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
 for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
 do
   echo 1 > $filtre
 done
fi
 
# Protection contre le syn flood
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
 
# Protection contre le ICMP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 
# Protection contre tous type de scan
iptables -N CHECK_VALID
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL FIN,PSH,URG -j LOG --log-level 6 --log-prefix '[IPTABLES X-max Packet] '
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL NONE -j LOG --log-level 6 --log-prefix '[IPTABLES NULL scan Packet] '
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL NONE -j DROP
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL SYN,FIN -j LOG --log-level 6 --log-prefix '[IPTABLES Syn-Fin Packet] '
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL SYN,FIN -j DROP
iptables -A CHECK_VALID -p tcp -m state --state NEW,RELATED ! --syn -j LOG --log-level 6 --log-prefix '[IPTABLES ACK Packet] '
iptables -A CHECK_VALID -p tcp -m state --state NEW,RELATED ! --syn -j REJECT
iptables -A CHECK_VALID -p tcp -m state --state ESTABLISHED --syn -j LOG --log-level 6 --log-prefix '[IPTABLES SYN Packet] '
iptables -A CHECK_VALID -p tcp -m state --state ESTABLISHED --syn -j REJECT
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID,RELATED --tcp-flags ALL FIN -j LOG --log-level 6 --log-prefix '[IPTABLES FIN Packet] '
iptables -A CHECK_VALID -p tcp -m state --state NEW,INVALID,RELATED --tcp-flags ALL FIN -j REJECT
iptables -A CHECK_VALID -i eth0 -m state --state INVALID -j LOG --log-level 6 --log-prefix '[IPTABLES Packet invalid] '
iptables -A CHECK_VALID -i eth0 -m state --state INVALID -j DROP
 
#on fait passer tous les paquets par cette regle
iptables -A INPUT -i eth0 -j CHECK_VALID
iptables -A FORWARD -o eth1 -j CHECK_VALID
 
 
# Chargement des modules
modprobe ip_tables
modprobe ip_nat_ftp
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
 
# Effacement des anciennes règles et chaines
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
 
# Politique par defaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
 
# Creation d'une chaine pour loguer ce que je DROP
iptables -N LOG_DROP  
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] :'  
iptables -A LOG_DROP -j DROP  
 
# Pour tout accepter sur la boucle locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# Pour que le Proxy soit connecte
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dport 80,443,21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --sport 80,443,21 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter la Resolution DNS sur la passerelle
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 
# Pour que le Proxy soit tansparent
iptables -t nat -A PREROUTING -i eth1 -s ! 193.51.200.5 -p tcp --dport 80 -d ! 81.XX.XX.XX/XX -j DNAT --to-destination 193.51.200.2:3128
iptables -A INPUT -i eth1 -s 193.51.200.0/24 -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 193.51.200.0/24 -p tcp --sport 3128 -j ACCEPT
 
# Pour Masquer le LAN en faisant du Masquerading
iptables -t nat -A POSTROUTING -s 193.51.200.0/24 -o eth0 -j MASQUERADE
 
# Pour que la machine de toto ne passe pas par le proxy
iptables -A FORWARD -i eth1 -o eth0 -s 193.51.200.5/255.255.255.0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 193.51.200.5/255.255.255.0 -p tcp --sport 80 -j ACCEPT
 
# Pour autoriser Terminal serveur
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to 193.51.200.50:3389
# Pour donner l'acces a internet au Lan
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp --dport 80 -d 81.XX.XX.XX/XX -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp --sport 80 -s 81.XX.XX.XX/XX -j ACCEPT
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp -m multiport --dport 81,443,21,3389 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp -m multiport --sport 81,443,21,3389 -m state --state ESTABLISHED -j ACCEPT
 
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp -m multiport --sport 81,443,21,3389 -m state --state NEW,ESTABLISHED -j ACCEPT
 
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp -m multiport --dport 81,443,21,3389 -m state --state ESTABLISHED -j ACCEPT
 
# Pour tout accepter sur le reseau Local
iptables -A INPUT -s 193.51.200.0/24 -i eth1 -j ACCEPT
iptables -A OUTPUT -d 193.51.200.0/24 -o eth1 -j ACCEPT
 
# Pour accepter la resolution DNS sur le LAN
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 193.51.200.0/24 -i eth1 -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 193.51.200.0/24 -i eth0 -o eth1 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 
# Pour accepter la resolution DNS
iptables -A OUTPUT -o eth0 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
 
# Pour accepter une connexion SSH
iptables -A INPUT -s 81.XX.XX.XX -m state --state NEW,ESTABLISHED -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -p tcp --sport 22 -j ACCEPT
 
# Emettre une Connexion SSH
iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
 
# Pour Autoriser les connexion FTP
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
 
# Pour envoyer des Mails
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
 
# Pour recevoir des Mails
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT
 
# pour accepter une connexion SMB
iptables -A OUTPUT -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 193.51.200.0/24 -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT
 
# pour accepter une connexion SMB
iptables -A OUTPUT -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 193.51.200.50/24 -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
 
# Pour accepter une connexion a Webmim
iptables -A INPUT -i eth1 -p tcp --dport 10000 -s 193.51.200.0/24 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 10000 -d 193.51.200.0/24 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 81.XX.XX.XX -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 10000 -d 81.XX.XX.XX -j ACCEPT
# Pour le NFS
iptables -A INPUT -p tcp -s 193.51.200.0/24 -j ACCEPT
iptables -A OUTPUT -p tcp -d 193.51.200.0/24 -j ACCEPT
iptables -A INPUT -p udp -s 193.51.200.0/24 -j ACCEPT
iptables -A OUTPUT -p udp -d 193.51.200.0/24 -j ACCEPT
 
# Pour loguer tout ce qui n'a pas ete autorise
iptables -A FORWARD -j LOG_DROP  
iptables -A INPUT -j LOG_DROP  
iptables -A OUTPUT -j LOG_DROP
 
echo " [Firewall Active]"

Reply

Marsh Posté le 15-12-2003 à 11:58:55   

Reply

Marsh Posté le 15-12-2003 à 12:14:39    

Il te mes quoi dans les logs quand tu essaye de te connecter ?
Une fois de plus : les regles iptables telle quelles c'est imcomprenshible, ( a moins d'avoir du tps devant sois ).
Ca serait donc bien de les accompagner d'un iptable -L -nv, pour voir des le 1er coup d'oeil ou ca cloche !
 
A+
 
A

Reply

Marsh Posté le 15-12-2003 à 14:15:00    

voilà le resulta de iptables -L -vn
 
-------------------------------------------------
 
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
69705 4846K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
 6036 2872K ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0          multiport sports 80,443,21 state ESTABLISHED
  132 28699 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0          udp spt:53 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0          tcp spt:53 state ESTABLISHED
 5805 1040K ACCEPT     tcp  --  eth1   *       193.51.200.0/24      0.0.0.0/0          tcp dpt:3128
  570 86798 ACCEPT     all  --  eth1   *       193.51.200.0/24      0.0.0.0/0
   13  1152 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0          udp dpt:53 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0          tcp dpt:53 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       81.XX.XX./XX        0.0.0.0/0          state NEW,ESTABLISHED tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp spt:22 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       193.51.200.0/24      0.0.0.0/0          tcp spt:139 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       193.51.200.0/24      0.0.0.0/0          tcp dpt:139 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   *       193.51.200.0/24      0.0.0.0/0          tcp dpt:10000
    0     0 ACCEPT     tcp  --  eth0   *       81.XX.XX./XX        0.0.0.0/0          tcp dpt:10000
    0     0 ACCEPT     tcp  --  *      *       193.51.200.0/24      0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       193.51.200.0/24      0.0.0.0/0
  102 10621 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0
 
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  928  137K ACCEPT     tcp  --  eth1   eth0    193.51.200.0/24      0.0.0.0/0          tcp dpt:80
 1106  433K ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            193.51.200.0/24    tcp spt:80
    0     0 ACCEPT     tcp  --  eth1   eth0    193.51.200.0/24      81.XX.XX./XX   tcp dpt:80
    0     0 ACCEPT     tcp  --  eth0   eth1    81.XX.XX./XX     193.51.200.0/24    tcp spt:80
 1037  163K ACCEPT     tcp  --  eth1   eth0    193.51.200.0/24      0.0.0.0/0          state NEW,ESTABLISHED
 1065  618K ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            193.51.200.0/24    state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    193.51.200.0/24      0.0.0.0/0          state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            193.51.200.0/24    state ESTABLISHED
  194 13042 ACCEPT     udp  --  eth1   eth0    193.51.200.0/24      0.0.0.0/0          udp dpt:53 state NEW,ESTABLISHED
  194 38302 ACCEPT     udp  --  eth0   eth1    0.0.0.0/0            193.51.200.0/24    udp spt:53 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    193.51.200.0/24      0.0.0.0/0          tcp dpt:53 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            193.51.200.0/24    tcp spt:53 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0          tcp dpt:21 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0          tcp spt:21 state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0          tcp dpt:20 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0          tcp spt:20 state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0          tcp spts:1024:65535 dpts:1024:65535 state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0          tcp spts:1024:65535 dpts:1024:65535 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0          tcp dpt:25 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0          tcp spt:25 state ESTABLISHED
    0     0 ACCEPT     tcp  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0          tcp dpt:110 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0          tcp spt:110 state ESTABLISHED
  268 22175 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0
 
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
69705 4846K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
 6158 1128K ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0          multiport dports 80,443,21 state NEW,ESTABLISHED
  134  8643 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0          udp dpt:53 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0          tcp dpt:53 state NEW,ESTABLISHED
 6505 3523K ACCEPT     tcp  --  *      eth1    0.0.0.0/0            193.51.200.0/24    tcp spt:3128
   54  6024 ACCEPT     all  --  *      eth1    0.0.0.0/0            193.51.200.0/24
   11  1916 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0          udp spt:53 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0          tcp spt:53 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          state ESTABLISHED tcp spt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp dpt:22 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp dpt:139 state NEW,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp spt:139 state ESTABLISHED
    0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            193.51.200.0/24    tcp spt:10000
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            81.XX.XX./XX      tcp spt:10000
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            193.51.200.0/24
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            193.51.200.0/24
   80 10176 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0
 
Chain LOG_DROP (3 references)
 pkts bytes target     prot opt in     out     source               destination
  450 42972 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0          LOG flags 0 level 4 prefix `[IPTABLES
DROP] :'
  450 42972 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Reply

Marsh Posté le 15-12-2003 à 22:01:10    

alors personne pour m'aider ?????

Reply

Marsh Posté le 16-12-2003 à 10:33:23    

pat_testa_mora a écrit :

alors personne pour m'aider ?????


Si je ne me trompe pas eth0 est ton interface connecté au net et eth1 l'interface qui communique avec le LAN (tu le précise pas et comme les IP que tu donnes 193.a.b.c et 81.x.y.z sont publiques ...)
Tu n'as pas de règles qui autorise le flux de TSE à rentrer sur eth0.
Donc moi je remplacerais :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to 193.51.200.50:3389


par:

iptables -t nat -A PREROUTING -i eth0 -o eth1 -p tcp --dport 3389 -j DNAT --to 193.51.200.50:3389


 
Sinon tes règles pour le suivi de connexion (avec le multiport) ont l'air correctes.
 

Reply

Marsh Posté le 16-12-2003 à 17:20:04    

non pas moyen de me connecter avec cette règle
il me dit erreur -o  
PREROUTING -o marche pas

Reply

Marsh Posté le 16-12-2003 à 23:06:16    

pat_testa_mora a écrit :

non pas moyen de me connecter avec cette règle
il me dit erreur -o  
PREROUTING -o marche pas


enlève le -o eth1 alors

Reply

Marsh Posté le 17-12-2003 à 11:21:27    

c'est pareil je craque !!!

Reply

Marsh Posté le 18-12-2003 à 08:22:13    

j'ai trouvé mais j'ai une erreur qui me dit que mon terminal serveur est trop encombré je ne comprends pas c'est quoi ce truxc vraiment de la merde windaude, ça marche parfaitedment avec VNC et pas avec terminal serveur
 
mon erreur était que je n'autorisait pas le forwarding en entrée  

Reply

Sujets relatifs:

Leave a Replay

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