Probleme avec iptables +DNAT +terminal server - réseaux et sécurité - Linux et OS Alternatifs
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
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
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.
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
Marsh Posté le 16-12-2003 à 23:06:16
pat_testa_mora a écrit : non pas moyen de me connecter avec cette règle |
enlève le -o eth1 alors
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
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]"