|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
DESC="Tests"
|
|
|
|
|
|
SYSTEMS="distributeur client comanche castafiore appolo passerelle darkside brightside"
|
|
|
|
|
|
testConfigBase() {
|
|
|
tput reset
|
|
|
echo "[Test de la configuration de base]"
|
|
|
echo
|
|
|
echo "Tout doit être vert (après configAll) !"
|
|
|
echo
|
|
|
vdnTest "Serveur web sur brightside ... ?" 'vdn-ssh root@brightside "timeout 1 lynx -dump localhost &> /dev/null"'
|
|
|
vdnTest "Serveur web sur darkside ..... ?" 'vdn-ssh root@darkside "timeout 1 lynx -dump localhost &> /dev/null"'
|
|
|
vdnTest "Serveur web sur castafiore ... ?" 'vdn-ssh root@castafiore "timeout 1 lynx -dump localhost &> /dev/null"'
|
|
|
vdnTest "Serveur web sur comanche ..... ?" 'vdn-ssh root@comanche "timeout 1 lynx -dump localhost &> /dev/null"'
|
|
|
echo
|
|
|
vdnTest "Config distributeur .......... ?" 'vdn-ssh root@distributeur "systemctl status isc-dhcp-server.service &> /dev/null"'
|
|
|
vdnTest "Config passerelle ............ ?" 'vdn-ssh root@passerelle "timeout 1 cat /proc/sys/net/ipv4/ip_forward | grep -q 1"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
testQ1() {
|
|
|
tput reset
|
|
|
echo "[Q1 : Pas d’accès Internet (réseau local)]"
|
|
|
echo
|
|
|
vdnTest "client -> brightside ......... ?" 'vdn-ssh root@client "timeout 1 lynx -dump brightside 2> /dev/null | grep -q brightside"'
|
|
|
vdnTest "distributeur -> brightside .. ?" 'vdn-ssh root@distributeur "timeout 1 lynx -dump brightside 2> /dev/null | grep -q brightside"'
|
|
|
vdnTest "comanche -> brightside ....... ?" 'vdn-ssh root@comanche "timeout 1 lynx -dump brightside 2> /dev/null | grep -q brightside"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
|
|
|
testQ2() {
|
|
|
tput reset
|
|
|
echo "[Q2 : appolo est aveugle]"
|
|
|
echo
|
|
|
vdnTest "appolo -> brightside ... ?" 'vdn-ssh root@appolo "timeout 1 lynx -dump brightside 2> /dev/null | grep -q brightside"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
testQ3() {
|
|
|
tput reset
|
|
|
echo "[Q3 : Administration du serveur Web]"
|
|
|
echo
|
|
|
vdnTest "client -> castafiore ... ?" 'vdn-ssh root@client "nmap -p 22 castafiore 2>&1 | grep -q open"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
|
|
|
testQ4() {
|
|
|
tput reset
|
|
|
echo "[Q4 : Serveur Web visible de l’extérieur]"
|
|
|
echo
|
|
|
vdnTest "brightside -> castafiore ... ?" \
|
|
|
'vdn-ssh root@brightside "timeout 1 lynx -dump passerelle 2> /dev/null | grep -q castafiore"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
testQ5() {
|
|
|
tput reset
|
|
|
echo "[Q5 : Défaut non direct et complexe]"
|
|
|
echo
|
|
|
vdnTest "client -> comanche ... ?" \
|
|
|
'vdn-ssh root@client "timeout 1 lynx -dump comanche 2> /dev/null | grep -q comanche"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
testQ6() {
|
|
|
tput reset
|
|
|
echo "[Q6 : Trouvez le pirate]"
|
|
|
echo
|
|
|
vdnTest "blocage du pirate ... ?" \
|
|
|
'vdn-ssh root@client "timeout 1 nmap -p 22 darkside 2>1 | grep --line-buffered -q open && exit 1 || exit 0"'
|
|
|
echoDone
|
|
|
}
|
|
|
|
|
|
testQ7() {
|
|
|
tput reset
|
|
|
echo "[Q7 : La DMZ n’est pas étanche]"
|
|
|
echo
|
|
|
vdnTest "Flux DMZ vers intranet bloqués .. ?" \
|
|
|
'vdn-ssh root@castafiore "timeout 1 nmap -p 22 client 2>1 | grep --line-buffered -q open && exit 1 || exit 0"'
|
|
|
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 testQ1 testQ2 testQ3 testQ4 testQ5 testQ6 testQ7
|
|
|
}
|
|
|
|
|
|
|