J'ai un serveur sous Ubuntu (hébergé dans un data center) qui me sert de serveur web ainsi que de serveur VPN (avec une redirection de port pour pouvoir accéder au net depuis la connexion VPN)
Pour le sécuriser j'utilise la conf suivante pour iptables:
- Code: Tout sélectionner
#!/bin/bash
# eth0 : interface vers internet
# tun0 : interface VPN
# Adresse réseau VPN
PRIVATE=10.8.0.0/24
# Adresse Loopback
LOOP=127.0.0.1
# Configuration du noyau
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Nettoyage de la conf
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -F
# Configuration du comportement par défaut
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
# Sécurisation de l'interface loopback
iptables -A INPUT -i eth0 -s $LOOP -j DROP
iptables -A FORWARD -i eth0 -s $LOOP -j DROP
iptables -A INPUT -i eth0 -d $LOOP -j DROP
iptables -A FORWARD -i eth0 -d $LOOP -j DROP
# Tout de qui vient de l'internet doit avoir une adresse IP valide
iptables -A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
# Blocage du NETBIOS
iptables -A FORWARD -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A FORWARD -p udp --sport 137:139 -o eth0 -j DROP
iptables -A OUTPUT -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A OUTPUT -p udp --sport 137:139 -o eth0 -j DROP
# Autorisation de l'interface loppback
iptables -A INPUT -s $LOOP -j ACCEPT
iptables -A INPUT -d $LOOP -j ACCEPT
# Autorisation du PING
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d 92.243.5.36 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -s 92.243.5.36 -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -s 92.243.5.36 -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d 92.243.5.36 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Autorisation des services
iptables -A INPUT -p tcp --dport http -j ACCEPT #HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT #HTTPS
iptables -A INPUT -p tcp --dport 3422 -j ACCEPT #SSH
# Configuration autoriser les connexion OPENVPN
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s $PRIVATE -o eth0 -j MASQUERADE
Mon hébergeur m'a récemment attribué une adresse IP V6, comment puis-je faire pour réaliser la même conf à peu près pour l'IP v6? notamment pour la conf de OpenVPN car le NAT n'a plus de raison d'être avec l'IP v6.
Si quelqu'un connais de bon articles parlant du sujet, je suis preneur