Πώς να ασφαλίσουμε έναν server

Πάρα πολλοί άνθρωποι πλέον πληρώνουν σε εταιρείες για κάποιον server προκειμένου να τρέχουν ιστοσελίδες,φόρουμ κτλ. αλλά χωρίς να έχουν ιδέα από ασφάλεια.Συνήθως το αφήνουν στην εταιρεία που κάνει το hosting ή δεν ασχολούνται και καθόλου καθώς το μόνο που ενδιαφέρει πολλούς είναι να τρέχει αυτό που θέλουν σωστά αδιαφορώντας για την ασφάλεια του.

Το θέμα της ασφάλειας ενός server είναι φυσικά πολύ μεγάλο και δεν μπορεί να αναλυθεί σε μερικές γραμμές.Ωστόσο παρακάτω θα δούμε μερικά πράγματα που θα πρέπει να κάνουμε προκειμένου να ασφαλίσουμε τον server και κατά συνέπεια την όποια ιστοσελίδα διαθέτουμε. 

Χρησιμοποίηση Firewall

Είναι απαραίτητο ο server μας να τρέχει οπωσδήποτε κάποιο Firewall.Ο λόγος είναι απλός.Ένα Firewall μπορεί να ελέγχει τις εισερχόμενες και τις εξερχόμενες συνδέσεις και να εμποδίσει τυχόν επιθέσεις από χάκερς.Αν ο server μας τρέχει Linux τότε μπορούμε να χρησιμοποιήσουμε το APF και αν τρέχει Windows το TinyFirewall. 

Επίσης είναι σημαντικό να γνωρίζουμε ποιά ports είναι ανοιχτά και για ποιό λόγο και ποιά δεν είναι.Επίσης σε περίπτωση που κάποιος ξεκινήσει μία brute force επίθεση θα είμαστε σε θέση μέσω του Firewall να μπλοκάρουμε την IP του.

Ενημέρωση του Kernel και του λειτουργικού του Server

Θα πρέπει να υπάρχει συνεχής ενημέρωση (update) του λειτουργικού μας με τα τελευταία patches.Μία παλιά έκδοση kernel και η οποία είναι και μη ενημερωμένη μπορεί να κάνει τον server μας εύκολο στόχο για τους χάκερς.

Έλεγχος των Logs

Το να ελέγχουμε τα logs του server μας είναι ουσιώδες διότι μπορούμε έτσι να παρατηρήσουμε τι συμβαίνει πάνω στον server μας.Το LogWatch είναι ένα αρκετά καλό εργαλείο που μέσω email μπορεί να μας ενημερώσει καθημερινά για την δραστηριότητα πάνω στον server.Έτσι θα είμαστε σε θέση να εντοπίσουμε οτιδήποτε περίεργο συμβαίνει πάνω στον server όπως αποτυχημένες προσπάθειες για login.

Backups

Θα πρέπει να γίνεται αυτόματο και καθημερινό backup στον server μας.Φυσικά η χρησιμοποίηση ενός απομακρυσμένου συστήματος backup συνίσταται καθώς τα δεδομένα μας θα βρίσκονται σε ασφαλές μέρος σε περίπτωση που διαγραφούν από κάποιον.Το να μην κάνουμε backup στα δεδομένα μας είναι σαν να μην σεβόμαστε την δουλειά μας που έχουμε κάνει πάνω στον server.

Χρησιμοποίηση ModSecurity στον Apache και ασφάλιση των php scripts

Το ModSecurity είναι ένα λογισμικό ανοιχτού κώδικα για web εφαρμογές το οποίο παρακολουθεί και φιλτράρει όλα τα request προς τον server.Το ModSecurity λειτουργεί σαν module του Apache και παρέχει προστασία στον server από πολλές επιθέσεις.

Η χρησιμοποιήση της php στον server,μπορεί να μας δημιουργήσει προβλήματα όσον αφορά στην ασφάλεια του καθώς καθημερινά βγαίνουν πολλά bugs και exploits.Γι’αυτό μία καλή λύση είναι η χρησιμοποίηση του PHPsuexec.Με το PHPsuexec μπορούμε να διαχειριστούμε όλα τα php scripts μας πιο εύκολα και επίσης αυτά που θα πρέπει να γίνουν είναι να απενεργοποιήσουμε το register_globals και enable_dl και επίσης η χρησιμοποίηση των open_base και url_open θα βελτίωνε την ασφάλεια μας.

Κλείδωμα φακέλων

Κάθε φάκελος μπορεί να έχει συγκεκριμένους περιορισμούς όσον αφορά τα δικαιώματα του.Συγκεκριμένα οι φάκελοι που θα πρέπει να προστατέψουμε είναι οι ακόλουθοι:

/tmp

/var/tmp

/dev/shm

Ο λόγος είναι ότι συνήθως αυτοί οι φάκελοι χρησιμοποιούνται από χάκερς για να τοποθετήσουν διαφόρων ειδών εκτελέσιμα.Θα πρέπει λοιπόν να απομακρύνουμε όλα τα defaults από εκείνες τις θέσεις και να τα αντικαταστήσουμε με το noexec και το nosuid.Αυτό θα αποτρέψει το να τρέχουν εκτελέσιμα από εκείνες τις θέσεις.Στο /etc/fstab θα βρούμε όλες τις πληροφορίες για τα partition του συστήματος μας και από εκεί θα κάνουμε τις παραπάνω αντικαταστάσεις.

‘Ελεγχος των διεργασιών

Δεν μπορούμε να προστατέψουμε ένα σύστημα αν δεν ξέρουμε τι εφαρμογές και διεργασίες τρέχουν πάνω σε αυτό.Θα πρέπει Θα πρέπει να ξέρουμε λοιπόν τι τρέχει στο σύστημα μας και γιατί.Αν υπάρχουν διεργασίες και εφαρμογές που δεν είναι απαραίτητο να τρέχουν τότε για λόγους ασφαλείας θα πρέπει να απεγκαταστήσουμε.Εξάλλου σε περίπτωση που ξέρουμε τις διεργασίες που τρέχουν αν κάποιος χάκερ προσθέσει κάποια διεργασία (π.χ backdoor)θα είμαστε σε θέση να την αναγνωρίσουμε άμεσα.

Intrusion Detection System

Το να έχουμε κάποιο IDS στον server μας είναι σαν να έχουμε πάνω του κάποιο συναγερμό.Σε περίπτωση λοιπόν που κάτι αλλάξει πάνω στον server ή παρουσιαστεί κάποια ασυνήθιστη δραστηριότητα το IDS θα μας ειδοποιήσει.Τα πιο γνωστά IDS που μπορούμε να έχουμε πάνω στον server μας είναι το Snort, AIDE και TripWire.

Περιορισμός της πρόσβασης στον server στο ελάχιστο

Δεν θα πρέπει να δίνουμε παραπάνω πρόσβαση σε χρήστες παραπάνω από αυτό που απαιτείται.Κοινώς δεν θα πρέπει να δίνουμε πρόσβαση στο shell και θα πρέπει να ορίσουμε τα κατάλληλα δικαιώματα στα αρχεία και στους φακέλους μας.

Έλεγχος στην απόδοση του Server

Είναι σημαντικό να ξέρουμε πόσο bandwidth χρησιμοποιεί ο server μας σε καθημερινή βάση.Ο λόγος είναι ο εξής:σε περίπτωση που κάποιος εισβολέας μπει στο σύστημα μας ανοίξει κάποιες τρύπες ή δοκιμάζει DoS επιθέσεις ο server θα ανταποκρίνεται πιο αργά.Αν δεν ξέρουμε λοιπόν το πως είναι η καθημερινή αποδόση του server μας πως θα παρατηρήσουμε αν συμβεί κάτι ασυνήθιστο?

Δυστηχώς οι περισσότεροι που έχουν κάποιον server δεν ασχολούνται άμεσα με το να ρωτήσουν την εταιρεία που κάνει το hosting τι συμβαίνει και είναι πιο αργός ο server.Συνήθως το κάνουν όταν είναι πια αργά ενώ αν άμεσα τσεκάρανε το τι συμβαίνει θα μπορούσανε να προλάβουνε κάποια επίθεση στον server τους.

Φυσικά μπορούν να γίνουν πολλά ακόμη για να ασφαλίσουμε τον server μας αλλά αυτά είναι μερικά βασικά πράγματα που θα πρέπει να γνωρίζει κάποιος και να χρησιμοποιεί αν δεν θέλει ο server του να γίνει εύκολη λεία των χάκερς.

2 Σχόλια to “Πώς να ασφαλίσουμε έναν server”

  1. Για τα παραπάνω δεν χρειάζεται να είναι σε dedicated server ο χρήστης; Αν κάποιος -όπως οι περισσότεροι- είναι shared, μου φαίνεται, επαφίεται στον hoster η ασφάλεια (πέραν της ασφάλειας του περιεχομένου του). Κάνω λάθος;

    Βέβαια είναι εξαιρετικά ενδιαφέρον, να τρέξεις σε ένα μηχανάκι τον server σου και να δοκιμάσεις ό,τι προτείνετε. Συγχαρητήρια!

  2. Όχι δεν κάνεις λάθος StormRider αλλά παρόλα αυτά κάποια από τα παραπάνω μπορούν να γίνουν ούτως ή άλλως.Για παράδειγμα στην απόδοση του Server είναι σημαντικό κάποιος έγκαιρα να ειδοποιήσει την εταιρεία για το τι συμβαίνει προκειμένου να ανακαλύψει αν είναι κάποιο πρόβλημα ή απλά δέχεται το site DoS επίθεση.

    Επίσης το κλείδωμα φακέλων,php scripts και ο έλεγχος των logs είναι κάτι που επίσης μπορούμε να κάνουμε ακόμα και αν το hosting δεν είναι δικό μας.

    Γι’αυτό και είναι σημαντικό σε τι box ανεβάζουμε την ιστοσελίδα μας… 😉

Σχολιάστε