Σε αυτό το άρθρο θα κάνουμε την απόπειρα μας να testαρουμε και να δούμε πόσο ασφαλές είναι καποιο box Linux με "φορεμένες" μερικές από τις πιο δημοφιλείς εκδόσεις (disto) όπως Debian / Redhat / Ubuntu (με τις default ρυθμίσεις τους) όταν αποκτούμε σε αυτο φυσική πρόσβαση [physical access] καθώς και μερικούς τρόπους για να πάρουμε root access με μερικές απλές κινήσεις.
Ακολουθούν 3 τρόποι ώστε να μην μείνουμε ποτέ έξω από το σύστημα μας αν.. λέω αν.. ξεχάσουμε το root password..
Όλες οι διανομές Linux που έχουμε στα χέρια μας για τα test έχουν το κοινό μεταξύ τους ότι μας προσφέρουν εκκινητή GRUB με επιλογές εισόδου σε Recovery Mode καθώς και σε Single-User Mode πάνω στο οποίο θα βασιστούμε για να πάρουμε access στο root του κάθε συστήματος
Αρκετά με τις φλυαρίες .. ας αρχίσουμε την δουλειά.
[color="#FF0000"]1ος Τρόπος [/color]
Εκκινώντας το σύστημα θα μας βγει η λίστα επιλογών του GRUB , εκεί μπορούμε να κάνουμε edit στο boot menu που έχουμε επιλέξει και με το οποίο θα θέλαμε να εισαχθούμε στο εν λόγο σύστημα.
Για να μπούμε στο menu επιλογών του GRUB πατάμε esc και μετά με μερικές απλές κινήσεις θα έχουμε τον ΔΙΚΟ ΜΑΣ κωδικό root χωρίς να χρειάζεται να ξέρουμε τον παλιό. Ακούγεται μάλλον κάπως πολύπλοκο αλλά στην ουσία είναι πολύ εύκολο
Με τα βελάκια επιλέγουμε πιο boot entry που θέλουμε να "πειράξουμε"
Πατάμε e (edit) και πάλι χρησιμοποιούμε τα βελάκια για να πάμε στη γραμμή απ' το kernel που επιλέξαμε να για να μπούμε
Πατάτε e πάλι (edit).
Στο τέλος της γραμμής προσθέτουμε απλά την λέξη single

ESC (για να πάμε πίσω).
και τέλος b (boot)
Το kernel που "πειραξαμε" μετά το bootαρισμα αν φορτώσει κανονικά και η έκδοση που κάνουμε την δοκιμή ανήκει στην κατηγόρια των "ευπαθών" (σε τέτοια είσοδο) εκδόσεων τότε θα μας προσγειώσει στην κονσόλα με διακαιώματα root που τώρα το μόνο που μας μένει είναι η αλλαγή του root password.
Για να γίνει αυτό γράφουμε απλά:
#passwd
και μετά βάζουμε το password που θέλουμε ... χωρίς να μας "ρωτήσει" το σύστημα τον υπάρχοντα κωδικό root
[color="#FF0000"]
2ος Τρόπος[/color]
Έχουν υπάρξει βέβαια πολλές φορές που ενώ θέλουμε να "μπούμε" με τον παραπάνω τρόπο (1ος τροπος) σε ένα σύστημα παίρνουμε το παρακάτω μήνυμα
- Κώδικας: Επιλογή όλων
"Give root password for system maintenance"
Οπότε σε αυτή τη περίπτωση περνάμε σε μια εναλλακτική λύση παρόμοια με την προηγούμενη προσπαθώντας να μπούμε στο boxακι και δυστυχώς χωρίς να ξέρουμε (ακομα) το root password.

Με τα βελάκια επιλέγουμε πιο boot entry που θέλουμε να "πειράξουμε"
Πατάμε e (edit) και πάλι χρησιμοποιούμε τα βελάκια για να πάμε στο line απ' το kernel που επιλέξαμε να για να μπουκάρουμε

Πατάτε e πάλι (edit).
Πάμε στο τέλος της κάτω κάτω γραμμής και γράφουμε [color="#FF0000"]rw init=/bin/bash[/color]

πατάμε enter και πατάμε b (για boot).
Αν όλα έγιναν σωστά τότε το σύστημα θα ξεκινήσει στο shell ξανα (χωρίς password)
#passwd username
(όπου username το όνομα του χρηστη η του root)

και να 'μαστε μέσα οριστικά.
Στο παράδειγμα αλλάξαμε το password του χρήστη pr0n .. μπορείτε να αλλάξετε του root η όποιου άλλου θέλετε
Πληροφοριακά σχετικά με τα tests να πούμε οτι:
Ο πρώτος τρόπος απευθύνετε σε συστήματα Debian / RedHat/Fedora
Ο δεύτερος τρόπος απευθύνετε σε συστήματα Debian / RedHat/Fedora /Ubuntu και το παράδειγμα έγινε σε Ubuntu
O τρίτος τρόπος απευθύνετε σε συστήματα Debian / Ubuntu
Aν όλα αυτά σας έχουν τρομάξει όσον αφορά την ακεραιότητα του συστήματος σας καθώς και πόσο ευπαθές είναι σε τέτοιες εισόδους.. τότε αυτό που έχετε να κάνετε είναι να δοκιμάσετε αν μπορείτε να μπείτε με τους τρεις τρόπους που μόλις αναφέραμε.
How to Protect yourself !
Για τους δυο πρώτους που έχουν να κάνουν με την προσθήκη παραμέτρων στο GRUB μπορούμε να βάλουμε ένα bios password όταν εκκινείτε το σύστημα σας και ένα Password στο Grub - Bootloader
Ανοίγουμε το τερματικό μας και βάζουμε,
- Κώδικας: Επιλογή όλων
# gedit /boot/grub/menu.lst
ψάχνουμε για το κομμάτι του κείμενου που γράφει τα παρακάτω
- Κώδικας: Επιλογή όλων
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password top-secret
# password --md5 $1A$B5zFN9$dRKe5^f3Hd1t14Lk0e6NMoE5P
# password topsecret
Στo κομματι που λεει :
# password --md5 $1A$B5zFN9$dRKe5^f3Hd1t14Lk0e6NMoE5P
αντικαθιστούμε το md5 που εχει το παράδειγμα με το δικο μας md5 (που αντιστοιχεί στο password μας) και βγαζουμε το "#" μπροστά .To "#" δεν αφήνει το σύστημα μας να διαβάσει τα περιεχόμενα της γραμμής.
Συνεχίζοντας, πάμε λίγο πιο κάτω στο /boot/grub/menu.lst και βρίσκουμε τα παρακάτω.
- Κώδικας: Επιλογή όλων
itle Debian GNU/Linux, kernel 2.6.8-2-k7
root (hd0,0)
kernel /vmlinuz-2.6.8-2-k7 root=/dev/hda2 ro
initrd /initrd.img-2.6.8-2-k7
lock
savedefault
boot
και προσθέτουμε τη λέξη[color="#00FF00"] lock[/color] όπως στο παράδειγμα.
Σώζουμε το αρχείο και κάνουμε restart.
Όταν γίνει η επανεκκίνηση πατάμε "p" ώστε να βγει το password prompt για να δώσουμε password και γράφουμε το password μας.
Κάπως έτσι, αποκτήσαμε ένα ασφαλέστερο σύστημα καθώς ανακαλύψαμε πόσο εύκολο είναι να πάρει κάποιος root στο σύστημα μας καθώς και πόσο εύκολο είναι να το ασφαλίσουμε ώστε να του κάνουμε τη ζωή δύσκολη.




