1. Το σύστημα διεξαγωγής των επιθέσεων
2. DoS/DDoS
Αρχικά, ερευνήθηκε το δίκτυο 172.19.0.0/16, για μηχανές ευπαθείς σε μία επίθεση DoS, με το σαρωτή δικτύων nmap [2]. Από τη σάρωση βρέθηκε η μηχανή με IP 172.19.0.5, στην οποία έτρεχε μία υπηρεσία http στη port 80. Περιγραφή στη σελίδα 5
Η επίθεση πραγματοποιήθηκε με τη βοήθεια του εργαλείου hping3 [3]. Μέσω αυτού, κατακλύστηκε η port 80 της μηχανής-στόχου με πακέτα SYN ( 1.2.1 Διεξαγωγή της επίθεσης).
Από την πλευρά της μηχανής-στόχου, ο εντοπισμός της επίθεσης έγινε με δύο εργαλεία.
-
Netstat [4]
Εντοπίστηκε συσσώρευση πακέτων SYN στην port 80, προερχόμενα από διαφορετικές διευθύνσεις IP.
1.2.2 Εντοπισμός της επίθεσης -
TCPdump [5]
Με το φίλτρο tcp[tcpflags] == tcp-syn επιβεβαιώθηκαν τα αποτελέσματα του netstat.
1.2.2 Εντοπισμός της επίθεσης
Αφοτου εντοπίστηκε η επίθεση, σχεδιάστηκαν τα αντίμετρα για την αντιμετώπιση της. Η εφαρμογή των αντιμέτρων έγινε με το iptables
[6].
1.2.3 Αντιμετώπιση της επίθεσης
Για την επίθεση DDoS αξιοποιήθηκε το εργαλείο ansible [7]. Μέσω αυτού, ενορχηστρώθηκαν οι υπόλοιπες μηχανές του σμήνους, ώστε να διεξάγουν επιθέσεις DoS στη μηχανή-στόχο.
Οι παραμετροποιήσεις για την αξιοποίηση του ansible, καθώς και το playbook με τις οδηγίες που ακολούθησαν οι μηχανές του σμήνους, βρίσκονται στο φάκελο DoS-DDoS/ansible. Η πλήρης ανάπτυξη του κώδικα, 1.3 Η επίθεση DDoS, σελ. 13.
3. SSH Brute Force Attack
Μία επίθεση ωμής βίας στο πρωτόκολλο SSH αποπειράται να παραβιάσει τις αρχές ασφαλείας του και να επιτρέψει την πρόσβαση ενός κακόβουλου χρήστη στο υπολογιστικό σύστημα του ευπαθούς στόχου.
Η προσομοίωση της επίθεσης έγινε με δύο τρόπους: με το Metasploit
[9]
framework και με ένα αυτοσχέδιο εργαλείο (Python/Paramiko).
-
Metasploit
Η επίθεση διεξήχθη από μία εικονική μηχανή με λειτουργικό Kali,Linux, προς την εικονική μηχανή Metasploitable.
Για περισσότερες πληροφορίες, 2.1.1 Διεξαγωγή της επίθεσης με Metasploit
Από το framework, επιλέχθηκε το module scanner/ssh/ssh_login, το οποίο παραμετροποιήθηκε, όπως φαίνεται στην εικόνα που ακολουθεί. Επιπλέον, φαίνεται και το αποτέλεσμα με το τρέξιμο του module.
2.1.1 Διεξαγωγή της επίθεσης με Metasploit, σελ. 16 -
Python/Paramiko
Αξιοποιώντας τη βιβλιοθήκη Paramiko, η λειτουργικότητα της οποίας αφορά την εγκαθίδρυση καναλιών επικοινωνίας με το πρωτόκολλο SSH, σχεδιάστηκε το πρόγραμμα που μπορείτε να βρείτε στο SSH-Brute-Force/tools. Είχε τα ίδια αποτελέσματα με αυτά του Metasploit.
2.1.2 Διεξαγωγή της επίθεσης με εργαλείο Python/Paramiko
Σε κάθε περίπτωση, η επίθεση αντιμετωπίστηκε, αρχικά, με το Fail2ban
[10]. Για τον επιτυχή αποκλεισμό των κακόβουλων χρηστών, έγιναν οι ακόλουθες παραμετροποιήσεις του αρχείου jail.local.
2.2 Αντιμετώπιση της επίθεσης με Fail2ban
Ωστόσο, η καλύτερη τακτική για την εξασφάλιση του SSH είναι η απενεργοποίηση της επιλογής εισόδου με κωδικό πρόσβασης.
2.3 Εγκαθίδρυση καναλιού μόνο με key
Με τη ρύθμιση που προηγήθηκε, η εγκαθίδρυση των καναλιών SSH θα γίνεται μόνο με ένα ζεύγος κλειδιών. Με τη βοήθεια της εργαλειοθήκης του OpenSSH μπορεί να παραχθεί ένα κατάλληλο ζεύγος, τρέχοντας την εντολή ssh-keygen.
4. Local/Remote Port Forwarding
-
Local Port Forwarding
Η δημιουργία του tunnel έγινε μεταξύ της Manager Engine και της Worker Engine με IP 172.19.0.5. Σκοπός, η πρόσβαση του πίνακα example5 της βάσης δεδομένων που έτρεχε στη δεύτερη.
3.1 Δημιουργία Local Port Forwarding -
Remote Port Forwarding
Με ελάχιστες διαφορές, δημιουργήθηκε και ένα tunnel με τη μέθοδο Remote Port Forwarding
3.2 Δημιουργία Remote Port Forwarding
5. Δημιουργία VPN στο σμήνος
Η δημιουργία του VPN έγινε βάσει των οδηγιών
http://docs.swarmlab.io/SwarmLab-HowTos/labs/sec/ex-5_iptables.adoc.html.
Τα αρχεία που δημιουργήθηκαν από την περάτωση της διαδικασίας, εκτός του φακέλου pki, βρίσκονται στο swarmVPN/vpn-files. Τα βήματα παρουσιάζονται, αναλυτικά, στο
link:README.pdf#page=28[4. Δημιουργία