-Χρησιμοποιήστε το hping3(https://tools.kali.org/information-gathering/hping3, https://www.howtoinstall.me/ubuntu/18-04/hping3/ ) εργαλείο για την πραγματοποίηση Dos και DDos Attack σε μέλη του σμήνους.
-Χρησιμοποιήστε τα tcpdump, netstat εργαλεία για την εύρεση, ανάλυση και παρουσίαση των συγκεκριμένων επιθέσεων.
-Δημιουργήστε iptables rules για την αντιμετώπιση των επιθέσεων.
3.Δημιουργήστε Local/Remote SSH Forwarding για την παροχή υπηρεσιών στο σμήνος που έχετε στη διάθεσή σας.
4.Δημιουργήστε VPN (http://docs.swarmlab.io/SwarmLab-HowTos/labs/sec/ex-5_iptables.adoc.html)για την παροχή υπηρεσιών στο σμήνος που έχετε στη διάθεσή σας.
### Ξεκινώντας
Για να μπορέσετε να τρέξετε το πρόγραμμα θα πρέπει να έχετε εγκατστημένο και λειτουργικό το docker οδηγίες για την εγκατάσταση του οποίου καθλως και μια συνοπτική περιγραφή δίνει ο καθγήτης μας στον ακόλουθο σύνδεσμο [docker](http://docs.swarmlab.io/SwarmLab-HowTos/labs/Howtos/docker/install.adoc.html).
Εν συνεχεία θα χρειαστέι να ακολουθήστε τις οδηγίες που μας δίνει πάλι ο καθηγητής μας στον ακόλουθο σύνδεσμο [swarmlab-sec](http://docs.swarmlab.io/SwarmLab-HowTos/labs/sec/sec.adoc.html) , για την εγκατάσταση και χρήση ενός σμήνους υπολογιστών πάνω στους οποίους θα εκτελεστεί το παρόν project.
Στο τέλος θα έχουμε καταλήξει με εναν φάκελο με το όνομα swarmlab-sec εντός του οποίου στο terminal θα πάμε να δημιουργήσουμε το δικό μας project μας :
-Το αποτέλεσμα που θα πάρουμε το τοποθετούμε **αφού αφαιρέσουμε την πρώτη σειρα** στο αρχείο *inventory.yml* στη θέση των άλλων ip ενώ **αφού αφιρέσουμε και την δεύερη σειρα** τις τοποθετούμε και στο αρχείο *inventory_w.yml*
Είμαστε στον master και τρεχουμε με τη σειρα τις δυο εξης εντολες-scrit:
```
./first_script.sh
./second_script.sh
```
To πρώτο script κανει στον master **apt update εγκαθστα ansible και sshpass** ενώ προσθετει και μια γραμμη για να μην ζητάει κωδικό το sshpass και τέλος τρέχει με **ansible to test.yml** για ολους του υπολογιστές οπου φτιαχνει εναν *φακελο για αποθήκευση δεδομένων* εγκαθιστά το *openvpn* που θα χρειαστεί στο ερώτημα 4 μεταφέρει τα *iptables_rules.sh* και *fail2ban_script.sh* στον τοπικό χώρο των υπολογιστών και εκτελει και την εντολή *ls -al* για τεσταρισμα.
Το δευτερο script τρέχει με **ansible to test2.yml** για ολους τους workers οπου μεταφέρει και εκτελεί τοπικά το script_update.sh μεταφέρει τοπικά το medusa_script.sh και εγκαθιστά το hping3 και το sshpass.
μα δεν τα καταφερνει καθως ο master δεν δυναται πλέον να δώσει υπηρεσία ... H επίθεση ήταν επιτυχής και το εντοπίσαμε, οπότε τη σταμταμε από τον worker on ip 3*
το οποίο τρεχει με ansible για ολους τους workers το *test3.yml* ,οι οποίοι επιτίθονται στον master χρησιμοποιόντας μάλιστα την παράμετρο async 120 poll 0 ωστε να διαρκέσει η επίθεση 120 δευτερόλεπτα , να μη χρειαστεί να την διακόψουμε εμέις και να μπορέσουμε να εξέλθουμε από το script για να εντοπίσουμε την επίθεση και να την αποκρούσουμε πριν περασουν τα 120 δευτερόλεπτα με τις εξής εντολές:
```
sudo tcpdump -i eth0
./ansible_iptables.sh #δινει τα απαραίτητα iptables μέσω ansible σε όλους τους υπολογιστές
```
##### >worker on ip 4 *προσπαθει μεσω του μαστερ να ζητησει το google.gr ξανά* runs:
και αυτή τη φορά τα καταφερνει καθως ο master είναι προστατευμένος από τους νέους κανόνες ... H επίθεση απέτυχε και εμεις τελειώσαμε το ερώτημα 1 παραθέτοντας το ανάλογο **βιντεάκι** με αναλυτικότερο "τρέξιμο"
όπου φτιάχνουμε ενα ssh tunnel μεταξύ του υπολογιστή μας και του μηχανήματος που "κάθεται στην ip 172.21.0.5
και λαμβάνουμε ολα τα δεδομένα του μεσω της πόρτα μας 1313 από την δική του πόρτα 3333.
Μπορούμε για παάδειγμα να βλέπουμε Φόρμουλα 1 στον σερβερ μας και να μεταφέρουμε την μετάδοση μεσω SSH στον πολογιστή μας που δεν έχει κάρτα τηλεόρασης ωστε να μπορέσουμε να παρακολουθήσουμε....
## Ερώτημα 4
### VPN
#### Προετοιμασία
Έχουμε ανοιχτα 5 παραυρα στο τερμιναλ , ένα για κάθε υπολογιστή..θα πρεπει για αυτο το ερώτημα και για να κάνουμε τη ζωή μας πιο εύκολη να ανοίξουμε, άλλα 5 , ένα δηάδη για τον καθένα +1 extra παραθυρο που θα "κάθεται το κανονικό μας μηχάνημα εκτός docker και εντος του φακελου vpn που δημιουργησαμε στην αρχή της εργασίας.
Ειμαστε λοιπον στο "δικό μας" μηχανημα και τρεχουμε ένα script για δημιουργία 5 χρηστών επεξεργασία των αρχειων αυτών και αποστολή τους εντος του docker:
```
./create-vpn.sh #για την δημιουργία του VPN μας
./cr_vi_sec_vpn_my5.sh #για την διαγραφή του έχουμε το rm_my5.sh
./show-user.sh #ώστε να δούμε του χρήστες που φτιάξαμε
Έτσι έχουμε ξεκινήσει την υπηρεσία σε όλους . Επιδή όμως τρέχει στο ΠΡΟσκήνιο μεταβαίνουμε στα αλλα 5 παράθυρα που μεριμνήσαμε να ανοίξουμε πριν και τρέχουμε σε όλους την εντολή :
```
ifconfig
```
Βλέπουμε πως υπάρχει νέο δίκτο επ ονόματι tun0 στο οποίο κάθε υπολογιστής έχει νέα IP τυπου '10.80.0.*'
Επαναλαμβάνουμε λοιπον την διαδικασία με την :
```
nmap -sP 10.80.0.* | grep Nmap | cut -d' ' -f5-6
```
που είχαμε κάνει στην αρχή της εργασίας για τα αρχεια *inventory.yml* και *inventory_w.yml* και περναμε ολες τις ανάλογες IP στο αρχείο *inventory.vpn**