MAKIS WEB logo - Μετάβαση στην αρχική σελίδα (Go to Home Page) Ελληνική τοποθεσία! (This is an Hellenic site!) 

ΟΔΗΓΟΣ ΑΣΦΑΛΕΙΑΣ/ΕΛΕΓΧΟΥ 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