|
|
#!/usr/bin/env bash
|
|
|
|
|
|
DESC="Réparations de fixme."
|
|
|
|
|
|
SYSTEMS="distributeur client comanche castafiore appolo passerelle darkside brightside"
|
|
|
|
|
|
repairQ1() {
|
|
|
|
|
|
# Pas d’accès Internet depuis le réseau local
|
|
|
|
|
|
vdn-ssh root@passerelle "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE"
|
|
|
}
|
|
|
|
|
|
repairQ2() {
|
|
|
|
|
|
# appolo est aveugle
|
|
|
|
|
|
cat << EOF | setInterfaces appolo
|
|
|
# This file describes the network interfaces available on your system
|
|
|
# and how to activate them. For more information, see interfaces(5).
|
|
|
|
|
|
# The loopback network interface
|
|
|
auto lo
|
|
|
iface lo inet loopback
|
|
|
|
|
|
auto eth0
|
|
|
iface eth0 inet static
|
|
|
address 192.168.3.2
|
|
|
gateway 192.168.3.1
|
|
|
netmask 255.255.255.0
|
|
|
|
|
|
EOF
|
|
|
vdn-ssh root@appolo "systemctl restart networking"
|
|
|
}
|
|
|
|
|
|
repairQ3() {
|
|
|
echo -n "."
|
|
|
# Administration du serveur Web castafiore depuis le réseau local
|
|
|
# La règle doit être insérée avant le REJECT (-I INPUT 1)
|
|
|
|
|
|
vdn-ssh root@castafiore "iptables -I INPUT 1 -p tcp --dport 22 -s 192.168.2.0/24 -j ACCEPT"
|
|
|
}
|
|
|
|
|
|
repairQ4() {
|
|
|
echo -n "."
|
|
|
|
|
|
# Serveur Web visible de l’extérieur
|
|
|
|
|
|
vdn-ssh root@passerelle "iptables -t nat -A PREROUTING -p tcp -d $($VDN_PATH/bin/vdn-infos passerelle PUBLIC_IP) --dport 80 -j DNAT --to 192.168.3.3"
|
|
|
}
|
|
|
|
|
|
repairQ5() {
|
|
|
echo -n "."
|
|
|
|
|
|
# Comanche accessible à partir de client (défaut non direct et complexe)
|
|
|
|
|
|
vdn-ssh root@distributeur "\
|
|
|
sed -i -re 's/192.168.2.8/192.168.2.4/' /etc/dhcp/dhcpd.conf; \
|
|
|
systemctl restart isc-dhcp-server"
|
|
|
echo -n "."
|
|
|
vdn-ssh root@comanche "systemctl restart networking"
|
|
|
}
|
|
|
|
|
|
repairQ6() {
|
|
|
echo -n "."
|
|
|
|
|
|
# Bloquer le pirate
|
|
|
|
|
|
# Pour le détecter :
|
|
|
# iptables -I FORWARD 1 -o eth0 -d darkside -j LOG
|
|
|
#
|
|
|
|
|
|
vdn-ssh root@passerelle "iptables -A OUTPUT -o eth0 -d darkside -j DROP"
|
|
|
echo -n "."
|
|
|
vdn-ssh root@passerelle "iptables -A FORWARD -o eth0 -d darkside -j DROP"
|
|
|
}
|
|
|
|
|
|
repairQ7() {
|
|
|
echo -n "."
|
|
|
|
|
|
# La DMZ n’est pas étanche
|
|
|
|
|
|
vdn-ssh root@passerelle "iptables -A FORWARD -i eth2 -d 192.168.2.0/24 -p tcp --syn -j REJECT"
|
|
|
}
|
|
|
|
|
|
|
|
|
run() {
|
|
|
setErrorHandler
|
|
|
echoStart
|
|
|
|
|
|
#requireSshGuests $SYSTEMS
|
|
|
|
|
|
vdn-ssh root@passerelle "sh /etc/vdn/00-firewall"
|
|
|
|
|
|
repairQ1
|
|
|
repairQ2
|
|
|
repairQ3
|
|
|
repairQ4
|
|
|
repairQ5
|
|
|
repairQ6
|
|
|
repairQ7
|
|
|
|
|
|
unsetErrorHandler
|
|
|
echoDone
|
|
|
|
|
|
sleep 1
|
|
|
|
|
|
}
|
|
|
|
|
|
|