You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.6 KiB
137 lines
3.6 KiB
#!/usr/bin/env bash
|
|
|
|
|
|
DESC="Test du firewall/IPv6."
|
|
|
|
SYSTEMS="bigboss lambda nomade societe tiny web"
|
|
|
|
|
|
testConfigBase() {
|
|
tput reset
|
|
echo "[Test de la configuration de base]"
|
|
echo
|
|
echo "Tout doit être vert (après configAll) !"
|
|
echo
|
|
vdnTest "Serveur web sur lambda ... ?" 'vdn-ssh root@lambda "timeout 1 lynx -dump lambda &> /dev/null"'
|
|
vdnTest "Serveur web sur nomade ... ?" 'vdn-ssh root@nomade "timeout 1 lynx -dump nomade &> /dev/null"'
|
|
vdnTest "Serveur web sur web....... ?" 'vdn-ssh root@web "timeout 1 lynx -dump web &> /dev/null"'
|
|
echo
|
|
vdnTest "societe en routeur........ ?" 'vdn-ssh root@societe "timeout 1 cat /proc/sys/net/ipv4/ip_forward | grep -q 1"'
|
|
echoDone
|
|
}
|
|
|
|
testQ0() {
|
|
tput reset
|
|
echo "[Test Q0 : Le grand nettoyage]"
|
|
echo
|
|
vdnTest "/root/vide.sh existe ..... ?" 'vdn-ssh root@societe "test -e /root/vide.sh"'
|
|
[ $? -eq 0 ] && {
|
|
echo
|
|
echo "Remarque : A vous d'exécuter le script !"
|
|
}
|
|
echo
|
|
echoDone
|
|
}
|
|
|
|
testQ1() {
|
|
tput reset
|
|
echo "[Test Q1 : NAT]"
|
|
echo
|
|
vdnTest "Présence de /root/local.sh .. ?" 'vdn-ssh root@societe "test -e /root/local.sh"'
|
|
|
|
[ $? -eq 0 ] && {
|
|
echo
|
|
echo "Remarque : A vous d'exécuter le script !"
|
|
echo
|
|
}
|
|
|
|
vdnTest "bigboss -> lambda ........... ?" 'vdn-ssh root@bigboss "timeout 1 lynx -dump lambda &> /dev/null"'
|
|
vdnTest "web -> nomade ........... ?" 'vdn-ssh root@web "timeout 1 lynx -dump nomade &> /dev/null"'
|
|
echoDone
|
|
}
|
|
|
|
testQ2() {
|
|
tput reset
|
|
echo "[Test Q2 : Fermeture]"
|
|
echo
|
|
vdnTest "/root/fermeDehors.sh existe ........ ?" 'vdn-ssh root@societe "test -e /root/fermeDehors.sh"'
|
|
[ $? -eq 0 ] && {
|
|
echo
|
|
echo "Remarque : A vous d'exécuter le script !"
|
|
echo
|
|
}
|
|
|
|
vdnTest "Filtrage des entrées sur societe ... ?" 'vdn-ssh root@nomade "
|
|
{ timeout 1 nmap -p 21 societe 2>1 | grep --line-buffered -q filtered; }
|
|
&&
|
|
{ timeout 1 nmap -p 22 societe 2>1 | grep --line-buffered -q open; }"'
|
|
echoDone
|
|
}
|
|
|
|
testQ3() {
|
|
tput reset
|
|
echo "[Test Q3 : NAT]"
|
|
echo
|
|
vdnTest "/root/forward.sh existe... ?" 'vdn-ssh root@societe "test -e /root/forward.sh"'
|
|
[ $? -eq 0 ] && {
|
|
echo
|
|
echo "Remarque : A vous d'exécuter le script !"
|
|
echo
|
|
}
|
|
vdnTest "nomade -> societe (web) .. ?" 'vdn-ssh root@nomade "timeout 1 lynx -dump societe &> /dev/null"'
|
|
echoDone
|
|
}
|
|
|
|
testQ4() {
|
|
tput reset
|
|
echo "[Test Q4 : Contrôle des sorties]"
|
|
echo
|
|
vdnTest "Filtrage des sorties de web ?" 'vdn-ssh root@web "
|
|
{ ! timeout 1 nmap -p 22 nomade 2>1 | grep --line-buffered -q open; }
|
|
&&
|
|
{ timeout 1 lynx -dump nomade &> /dev/null; }"'
|
|
|
|
echoDone
|
|
}
|
|
|
|
# Partie n°2
|
|
|
|
# Fonction utilitaire : Récupère l'adresse IPv6 autoconfigurée
|
|
# $1 : host
|
|
# $2 : interface
|
|
# Exemple : getIPv6 bigboss eth0
|
|
|
|
getIPv6() {
|
|
echo $(vdn-ssh root@$1 'ip -6 addr show dev '$2' | grep inet6 | head -n 1 | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1') | sed -re 's/[^[:print:]]//g'
|
|
}
|
|
|
|
testIPv6() {
|
|
|
|
ipWeb=$(getIPv6 web eth0)
|
|
vdn-ssh root@bigboss "timeout 1 ping6 -c 1 -I eth0 $ipWeb &> /dev/null"
|
|
}
|
|
|
|
|
|
testQ5() {
|
|
tput reset
|
|
echo "[Test partie n°2 : IPv6]"
|
|
echo
|
|
vdnTest "ping6 bigboss -> web ?" 'testIPv6'
|
|
echoDone
|
|
}
|
|
|
|
|
|
run() {
|
|
|
|
requireGuests $SYSTEMS
|
|
|
|
if ! echo ${BASH_ARGV[0]} | grep -q -i fast; then
|
|
echo "Cette temporisation pour vous décourager d'utiliser ce test comme debogueur !"
|
|
for i in $(seq 10 -1 0); do echo $i; sleep 1; done
|
|
fi
|
|
|
|
vdnExec testConfigBase testQ0 testQ1 testQ2 testQ3 testQ4 testQ5
|
|
}
|
|
|
|
|