ΟΔΗΓΟΣ ΑΣΦΑΛΕΙΑΣ/ΕΛΕΓΧΟΥ LINUX (SECURITY/AUDIT)
Φυσική ασφάλεια / Τροφοδοσία -Υπάρχει ελεγχόμενη φυσική πρόσβαση στο μηχάνημα ? Το μηχάνημα πρέπει να βρίσκεται σε προστατευόμενη τοποθεσία κατά προτίμηση σε χώρο που θα κλειδώνει και που θα υπάρχει ελεγχόμενη πρόσβαση από εξουσιοδοτημένο τεχνικό προσωπικό. -Υπάρχει εγκατεστημένο σύστημα UPS ? Για ευνόητους λόγους συνίσταται η εγκατάσταση UPS. Έλεγχος BIOS -Υπάρχει Bios password ? Αν το μηχάνημα κάνει reboot από μακριά, τότε δεν πρέπει να βάλουμε bios password. Αν εγκατασταθεί bios password θα πρέπει να καλύπτει bios setup και boot process. -Γίνεται boot κατευθείαν από hard disk ? Πρέπει να επαληθευθεί ότι το σύστημα κάνει boot κατευθείαν από τον τοπικό σκληρό δίσκο και partition με το λειτουργικό σύστημα που θέλουμε. Boot Loader -Πρέπει να γίνει έλεγχος ότι ο boot loader φορτώνει το kernel που έχουμε επιλέξει για την λειτουργία της υπηρεσίας. -Υπάρχει password στον boot loader ? Αν ναι, πρέπει να ληφθεί υπόψη ότι η ύπαρξη password μπορεί να δημιουργήσει πρόβλημα σε περιπτώσεις remote reboot. Έλεγχος Login passwords -Χρησιμοποιούμε shadow passwords ? Υπάρχουν μερικοί default χρήστες / υπηρεσίες που δεν είναι απενεργοποιημένοι ? ntp, vcsa, wnn, nscd, mailnull, squid, rpm, pcap, named, ident, rpc, rpcuser, nfsnobody, radvd, xfs Συνίσταται η απενεργοποίηση των χρηστών / υπηρεσιών rpc, rpcuser, squid, nfsnobody -Επιβάλλεται συχνή αλλαγή των password ? (login.defs) Συνίσταται ρύθμιση ώστε τα passwords να λήγουν σε τακτικά χρονικά διαστήματα. -Μεγάλου μήκους passwords (login.defs) ? Συνίσταται ρύθμιση ώστε τα passwords να είναι πιο πολύπλοκα. root login - Από που επιτρέπεται να κάνει login ο root ? Ίσως ο αριθμός των ενεργών consoles που μπορεί να κάνει login ο root πρέπει να περιορισθεί. Processes Συνίσταται η απενεργοποίηση των υπηρεσιών για τις οποίες δεν υπάρχει βάσιμος λόγος για την λειτουργία τους. Ενεργές συνδέσεις (netstat) Συνίσταται όμως ο τακτικός έλεγχος του netstat output ιδίως όταν το μηχάνημα είναι στην παραγωγή. nmap port scanning nmap output (local) nmap output (remote) Δικαιώματα Έλεγχος Permissions Η παρακάτω εντολή εντοπίζει αρχεία που μπορούν να τρέξουν από ένα απλό χρήστη, αλλά έχουν root UID όταν τρέχουν. Συνίσταται ο τακτικός έλεγχος των αρχείων που έχουν τέτοια δυνατότητα. # find / -type f -perm -04000 -ls Η παρακάτω εντρολή εντοπίζει αρχεία που μπορούν να τρέξουν από ένα απλό χρήστη, αλλά έχουν root η άλλα permissions όταν τρέχουν. Συνίσταται ο τακτικός έλεγχος των αρχείων που έχουν τέτοια δυνατότητα. # find / -type f -perm -02000 -ls Έλεγχος «world readable» αρχείων # find / -type f -perm -2 -print Έλεγχος tcp wrappers Έλεγχος αρχείων hosts.allow και hosts.deny Θα έπρεπε να περιλαμβάνουν ποιες υπηρεσίες επιτρέπονται / απαγορεύονται. Εγκατεστημένοι compilers/interpreters Γενικά δεν συνίσταται η εγκατάσταση compilers ώστε να μην υπάρχει η δυνατότητα χρήσης τους για compilation. -gcc -python -perl Εγκατεστημένοι Editors vi pico emacs Γενικά δεν συνίσταται η εγκατάσταση editors ώστε να μην υπάρχει η δυνατότητα χρήσης τους σε περίπτωση που κάποιος αποκτήσει παράνομη πρόσβαση στο μηχάνημα. Εγκατεστημένοι editors κάνουν την ζωή εύκολη σε νόμιμους χρήστες και ευκολότερη σε παράνομους χρήστες. Υπηρεσίες Έλεγχος xinetd.conf directory firewall services Η υπηρεσία iptables είναι εγκατεστημένη ? telnet Συνίστατι η υπηρεσία telnet να είναι απενεργοποιημένη. ssh Συνίσταται η υπηρεσία ssh να είναι εγκατεστημένη και ενεργοποιημένη. Ελεγχος περιεχόμενων του sshd_config cat sshd_config Παρατηρήσεις για sshd_config #LoginGraceTime Αφήνει απεριόριστο χρόνο σε χρήστη να κάνει login. #StrictModes yes Δεν ελέγχει file permissions στο directory του χρήστη πριν αφήσει τον χρήστη να κάνει login #PermitEmptyPasswords no Συνίσταται η ενεργοποίηση του. #X11Forwarding no X11Forwarding yes Αν δεν το χρησιμοποιούμε καλό θα ήταν να αλλάξουμε το «X11Forwarding yes» σε «X11Forwarding no». ftp Ελεγχος στα hosts.allow / hosts.deny Ελεγχος του ftpusers - συνήθως δεν υπάρχει (outdated) χρησιμοποιεί ftpaccess. -Ελεγχος του ftpaccess Παρατηρήσεις για το ftpaccess Ίσως ο αριθμός των αποτυχημένων προσπαθειών πρέπει να ελαττωθεί. # Allow 5 mistyped passwords loginfails 5 Ελεγχος sendmail nfs Είναι εγκατεστημένο ?. Γιατί είναι εγκατεστημένο ? samba Είναι εγκατεστημένη ? Γιατί είναι εγκατεστημένη ? Apache server Συνίσταται η απενεργοποίηση «directory listing» και αν είναι δυνατόν τα «web directories» να είναι «read only» Επίσης η υπηρεσία httpd να «τρέχει» με διαφορετικό όνομα χρήστη από αυτό του webmaster. xwindows Υπάρχει X-Windows server εγκατεστημένος. ? Προτείνεται να μην χρησιμοποιούμε xhost authentication για απόμακρους χρήστες αλλά ssh και αν δεν υπάρχει ανάγκη για remote xwindows κόβουμε την πόρτα 6000. Για εξοικονόμηση πόρων του συστήματος συνίσταται η απενεργοποίηση του X Windows, εφόσον δεν χρησιμοποιούνται. Έλεγχος των logs /var/log/secure /var/log/messges /var/log/http/error_log /var/log/http/access_log /var/log/xferlog Προτάσεις / Συστάσεις Παρακολούθηση Συνίσταται η τακτική εκτέλεση των παρακάτω: -netstat -aw -ps efw -df -a -nmap (από άλλο μηχάνημα) -τακτικός έλεγχος file permissions Συνίσταται ο τακτικός έλεγχος των παρακάτω αρχείων logs: /var/log/messages Εδώ συνήθως βρίσκουμε μηνύματα από το σύστημα /var/log/secure Εδώ συνήθως βρίσκουμε μηνύματα από το σύστημα που σχετίζονται με ασφάλεια, Login failures, κλπ. /var/log/httpd web server logs (access & error) Έλεγχος για αναβαθμίσεις πακέτων Red Hat up2date up2date -l up2date -u Έλεγχος binary αρχείων Μερικά binaries θα ήταν καλό να τρέχουν μόνο από τον root. Επίσης ίσως αρχεία των logs. Συνίσταται ο τακτικός έλεγχος των παρακάτω αρχείων. /usr/bin/gcc /usr/bin/chattr /usr/bin/w /usr/bin/who /usr/bin/last /usr/bin/lastb /usr/bin/lastlog /bin/rpm /bin/dmesg /sbin/iptables /sbin/sysctl /sbin/shutdown /sbin/reboot /sbin/halt /sbin/poweroff Αρχεία στο /var/log directory καθώς και το cron schedule. booting - Εγκατάσταση bios password αν δεν υπάρχει - Επιβεβαίωση ότι το μηχάνημα κάνει boot από σκληρό δίσκο, αν δεν γίνεται ήδη - Απενεργοποίηση ctrl-alt-del για reboot στο inittab η ορισμός χρηστών που μπορούν να κάνουν reboot στο inittab - Εγκατάσταση password, timeout delay στο lilo.conf / grub boot manager accounts - Σβήνουμε οτιδήποτε accounts δεν θα χρησιμοποιούμε uucp, ftp, news, games, gopher, κλπ. root logon - Μόνο από ορισμένα σημεία. (securetty) Backups - Υπάρχει διαδικασία / μηχανισμός δημιουργίας αντιγράφων ασφαλείας ? - Σε τι μέσο ? - Πόσο τακτικά ? - Έχουν γίνει / θα γίνουν δοκιμές αποκατάστασης αρχείων ? Network time protocol - Συνιστάται η εγκατάσταση / λειτουργία του r* services (rexec, etc) - Πρέπει να επιβεβαιώσουμε ότι έχουν απενεργοποιηθεί. Συνιστάται η εγκατάσταση συστήματος IDS που να παρακολουθεί τυχόν απόπειρες παράνομης πρόσβασης στο υποδίκτυο που βρίσκεται ο server. Η εγκατάσταση του IDS δεν πρέπει να γίνει στο ίδιο μηχάνημα. Για περισσότερες πληροφορίες δείτε το www.snort.org Γενικές παρατηρήσεις - Σε περίπτωση που ο διαχειριστής του συστήματος απενεργοποιήσει υπηρεσίες βάσει αυτού η άλλου έλεγχου, πρέπει να επιβεβαιωθεί ότι οι υπηρεσίες έχουν σταματήσει από τα «startup scripts» Τέλος συνίσταται η άμεση αλλαγή των passwords για στους χρήστες («root», κλπ) των οποίων τα passwords έχουν κοινοποιηθεί σε τρίτους για τον σκοπό του audit. |
Copyright © 1999-2012 Makis Sidiropoulos. All rights reserved. Athens, Greece.
---
Όροι Χρήσης (Terms of use) ---
Απαιτείται ενεργοποίηση των 'Cookies', 'Javascript' & 'Java' - must be enabled
Προτεινόμενη ανάλυση οθόνης 1024x768 pixels - best viewed