Πέμπτη 24 Σεπτεμβρίου 2009

Πώς να ασφαλίσουμε έναν 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 του να γίνει εύκολη λεία των χάκερς.

Από το HackWorld

Κυριακή 20 Σεπτεμβρίου 2009

Ηθικές και Χάκινγκ.


Το 1984 ο Stephen Levy είχε γράψει ένα βιβλίο με τον τίτλο Hacker:Heroes of the Computer Revolution όπου ανέλυσε τα hacker ethics (κώδικες ηθικής των hackers).Από τότε έχουν περάσει πολλά χρόνια αλλά οι κώδικες ηθικής αυτοί έχουν παραμείνει και έχουν εξαπλώθει μέσω του Internet σε όλους αυτούς που θέλουν να γίνουν hackers.Ποιά είναι όμως τα κυριότερα hacker ethics?

Τα σημαντικότερα Hacker Ethics:
1)Η γνώση πρέπει να είναι ελεύθερη
2)Η πρόσβαση σε υπολογιστές και σε οτιδήποτε μπορεί να σε διδάξει κάτι σχετικά με τον τρόπο με τον οποίο λειτουργεί ο κόσμος πρέπει να είναι απεριόριστη και συνολική
3)Δυσπίστία σε όλες τις μορφές εξουσίας
4)Ένας χάκερ θα πρέπει να κρίνεται σύμφωνα με τις ικανότητες του στο hacking και όχι με κριτήρια την ηλικία του ή το πτυχίο του
5)Ένας χάκερ μπορεί να δημιουργήσει τέχνη και ομορφιά μέσω ενός υπολογιστή
6)Οι υπολογιστές μπορούν να αλλάξουν την ζωή προς το καλύτερο

Ωστόσο υπάρχουν και κάποια άλλα hacker ethics τα οποία είναι σημαντικά να τα γνωρίζει κάποιος,ειδικότερα οι νέοι επίδοξοι hackers.

1)Πάνω από όλα είναι η μη πρόκληση καταστροφής

Όπου είναι εφικτό δεν θα πρέπει ένας χάκερ να καταστρέφει ένα υπολογιστικό σύστημα ή δεδομένα.Το hacking είναι η έρευνα για γνώση.Δεν έχει καμία σχέση με την επιθυμία κάποιου για καταστροφή.

2)Προστασία της ιδιωτικότητας

Πρέπει να υπάρχει ένας διαχωρισμός της δημοσίας πληροφορίας που μπορεί να βρει κάποιος από την ιδιωτική.Δεν είναι σωστό να αναρτήσει κάποιος προσωπικές πληροφορίες για κάποιον άλλον στο Internet.Ένας χάκερ μπορεί να βρει πολλές πληροφορίες για ανθρώπους ή συστήματα αλλά πρέπει να ξέρει τι πρέπει να αναρτήσει και τι όχι.Η γραμμή αυτήν είναι πολύ λεπτή και είναι συνάρτηση των προσωπικών και πολιτικών πεποιθήσεων.

3)Υπέρβαση των περιορισμών

Το να λέει κάποιος σε έναν χάκερ ότι κάτι δεν μπορεί να γίνει είναι σαν να του λέει ότι πρέπει να προσπαθήσει να το κάνει οπωσδήποτε.

4)Όχι ίχνη από επιθέσεις

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

5)Διαμοιρασμός

Όταν μοιραζόμαστε την πληροφορία με άλλους ανθρώπους μεγαλώνει και η αξία της.Η πληροφορία που μπορεί να διαμοιράσουμε σε κάποιους ανθρώπους μπορεί να γίνει η βάση για την γνώση κάποιου άλλου.

6)Ενημέρωση στον διαχειριστή του συστήματος


Οι ανακαλύψεις που μπορεί να βρει κάποιος χάκερ (π.χ μία τρύπα σε ένα web server) μπορούν να συνεισφέρουν στην βελτίωση ενός συστήματος.

Πώς κλείνουμε τα ανοιχτά ports


Πλέον είμαστε σε μία εποχή που η λέξη ασφάλεια πρέπει να ανησυχεί όχι μόνο τους διαχειριστές δικτύων εταιρειών αλλά και τον κάθε μέσο χρήστη που συνδέεται στο Internet.Οι απειλές που μπορεί να δεχτεί κάποιος είναι αρκετές από virus,trojans,worms μέχρι και επιθέσεις από κακόβουλους χάκερς.Είναι σημαντικό λοιπόν να ξέρει ο κάθε χρήστης κάποια πράγματα που μπορούν να τον βοηθήσουν να ασφαλίσει το σύστημα του.
Πώς ανοίγει ένα port?
Όταν χρησιμοποιούμε κάποιο πρόγραμμα αυτό μας ανοίγει και κάποιο port στον υπολογιστή μας.Για παράδειγμα αν χρησιμοποιούμε τον Internet Explorer τότε η 80 θύρα θα ανοίξει στο σύστημα μας.Ακολούθως αν χρησιμοποιήσουμε κάποιο FTP (File Transfer Protocol) πρόγραμμα θα ανοίξει η θύρα 21.Τα ανοικτά ports λοιπόν που έχουμε στο σύστημα μας είναι σίγουρα μία απειλή ακόμα.Όσα περισσότερα ανοιχτά ports έχουμε τόσο περισσότερο εκτεθημένο είναι το σύστημα μας.Οπότε θα πρέπει να κάνουμε χρήση μόνο προγράμματα που τα θεωρούμε απαραίτητα να τρέχουν για να μειώσουμε τον κίνδυνο.
Πώς βλέπουμε τα ανοικτά ports που έχουμε?
Η απάντηση είναι απλή.Μπαίνουμε στην διαχείριση εντολών και απλά πληκτρολογούμε netstat -a και θα μας δώσει όλες τις ενεργές συνδέσεις καθώς και την κατάσταση τους.Επίσης θα μπορέσουμε να δούμε και αν είμαστε συνδεδεμένοι σε κάποιο απομακρυσμένο host και έτσι θα μπορέσουμε να καταλάβουμε αν έχουμε κάποιο πιθανό backdoor σε περίπτωση που δεν τρέχουμε κάποιο πρόγραμμα που να το γνωρίζουμε και να έχει συνδεθεί εκεί.
Παράδειγμα 1:
Ενεργές συνδέσεις
Ενεργές συνδέσεις
Για να αναλύσουμε λίγο και τι βλέπουμε παίρνουμε ως παράδειγμα την τελευταία σειρά.Βλέπουμε καταρχάς την εσωτερική IP του δικτύου μας που είναι η 192.168.1.3 ότι χρησιμοποιεί το port 20313 για να συνδεθεί σε μία απομακρυσμένη διεύθυνση και στο port 49387.Η κατάσταση αν είναι established σηματοδοτεί ότι υπάρχει σύνδεση μεταξύ των δύο host.
Πώς κλείνουμε ένα port που είναι ανοικτό?
Όπως αναφέραμε και παραπάνω αν χρησιμοποιούμε κάποιο πρόγραμμα αυτό το πρόγραμμα ανοίγει και κάποιο port προσωρινά στον υπολογιστή μας για να εκτελέσει κάποιες διεργασίες.Όταν κλείσουμε την εφαρμογή θα κλείσει και το port που χρησιμοποιεί αυτόματα.Στην προκειμένη περίπτωση έχουμε το port 20313 που είναι ανοιχτό στο σύστημα μας.
Για να το κλείσουμε θα πρέπει να βρούμε την εφαρμογή που το χρησιμοποιεί.Για να το βρούμε αυτό αρκεί να δώσουμε στην διαχείριση εντολών την εντολή netstat -o η οποία και θα μας δώσει επίσης τα ανοιχτά ports αλλά και το PID (Process Identifier) της εφαρμογής.Το PID δεν είναι τίποτα άλλο από έναν αριθμό που δίνει το λειτουργικό μας σύστημα σε μία διεργασία για να την αναγνωρίσει μοναδικά.
Παράδειγμα 2:
Εύρεση του PID
Εύρεση του PID
Έχοντας λοιπόν το PID το επόμενο μας βήμα είναι να ανοίξουμε την διαχείριση εργασιών των Windows (Ctrl+Alt+Del),να πάμε στις διεργασίες και εκεί από το μενού να πάμε Προβολή—>Επιλογή Στηλών και στο νέο παράθυρο που θα μας εμφανίσει να τσεκάρουμε το κουτάκι με την ονομασία PID και κάνουμε κλικ στην επιλογή OK.
Παράδειγμα 3:
PID
Πλέον θα δούμε ότι στις διεργασίες της διαχείρισης εργασιών θα εμφανίζεται και το PID της διεργασίας.Βρίσκουμε λοιπόν στις διεργασίες το PID που αντιστοιχεί σε αυτό που είχαμε βρει όταν ψάχναμε το PID της εφαρμογής που είχε ανοιχτό το port που θέλαμε να κλείσουμε (εικόνα παραδείγματος 2).Τερματίζουμε την διεργασία και έτσι θα κλείσουμε και το port που χρησιμοποιεί.
Άλλοι τρόποι για κλείσιμο ports
Εκτός βέβαια από αυτόν τον τρόπο υπάρχει και η λύση των Firewall για να χρησιμοποιήσουμε ένα port.Πλέον τα περισσότερα router υποστηρίζουν και hardware firewall κάτι που σημαίνει ότι όλες οι θύρες (ports) είναι φιλτραρισμένες.Αυτός είναι και ο λόγος που κάνουμε port forward στο router μας όταν θέλουμε να χρησιμοποιήσουμε κάποια εφαρμογή όπως μtorrent για παράδειγμα.Δηλαδή να ανοίξουμε κάποιο port που θέλουμε ή χρειαζόμαστε.
Επιπρόσθετα μπορούμε να χρησιμοποιήσουμε και κάποιο software firewall (Zone Alarm, Outpost κτλ) για να κλείσουμε τα ανοικτά ports και να έχουμε κάποια προστασία και κάποιο έλεγχο σε περίπτωση που βρεθούμε κάτω από κάποια επίθεση.

Από το HackWorld

Τετάρτη 16 Σεπτεμβρίου 2009

Έληξε ο διαγωνισμός χάκινγκ της SDMI

Έληξε την Τρίτη ο διαγωνισμός που είχε προκηρύξει η κοινοπραξία Secure Digital Music Initiative (SDMI) για το «σπάσιμο» του κλειδώματος αρχείων ψηφιακής μουσικής. Η SDMI ανακοίνωσε ότι μόνο δύο από τους 447 διαγωνιζόμενους κατόρθωσαν να «σπάσουν» επιτυχώς μία από τις πέντε τεχνολογίες που είχε δημιουργήσει για την προστασία των αρχείων.

Οι δύο νικητές θα μοιραστούν το έπαθλο των 10.000 δολαρίων (περίπου 4 εκατ. δρχ.) που είχε υποσχεθεί η SDMI.
Συγχαρητήρια στους νικητές έδωσε ο διευθύνων σύμβουλος της κοινοπραξίας, Λεονάρντο Τσαριλιόνε, τονίζοντας ότι τα αποτελέσματα του διαγωνισμού παρείχαν «πολύτιμες πληροφορίες για το πώς οι συγκεκριμένες τεχνολογίες θα δουλέψουν υπό πραγματικές συνθήκες», καθώς και χρήσιμα συμπεράσματα για τη βελτιστοποίησή τους.
Στις αρχές του μήνα η SDMI είχε αναφέρει ότι δύο από τις πέντε τεχνολογίες της είχαν «σπάσει» επιτυχώς. Ωστόσο, στη μία από αυτές τις περιπτώσεις δεν κατέστη δυνατόν να δημιουργηθούν αντίγραφα αρχείων που να μπορούν εύκολα να αναπαραχθούν και έτσι θεωρήθηκε άκυρη.
Νωρίτερα, ομάδες ερευνητών που δεν συμμετείχαν στο διαγωνισμό είχαν υποστηρίξει ότι κατόρθωσαν να «σπάσουν» τις τέσσερις τεχνολογίες της SDMI που χρησιμοποιούσαν την τεχνική του «υδατόσημου» (watermarking).

Τρίτη 15 Σεπτεμβρίου 2009

Νόμιμο το «χάκινγκ» από την αστυνομία στην Αγγλία


Το δικαίωμα να μπαίνουν σε προσωπικούς υπολογιστές χωρίς ένταλμα έχουν πλέον οι αστυνομικοί στην Αγγλία. Με μηνύσεις απειλείται το υπουργείο Εσωτερικών της χώρας για το γεγονός ότι επέτρεψε την πραγματοποίηση του εν λόγω μέτρου.

Οι κινήσεις αυτές ενισχύουν την άποψη ότι η κυβέρνηση προωθεί την επέκταση μιας «κοινωνίας επιτήρησης», η οποία απειλεί τα προσωπικά δεδομένα των πολιτών. Ωστόσο, το χάκινγκ είναι μια μέθοδος που χρησιμοποιεί καιρό τώρα η βρετανική αστυνομία με τη δικαιολογία ότι είναι απαραίτητη για τον εντοπισμό εγκληματιών και παιδόφιλων που δραστηριοποιούνται στο διαδίκτυο. Οργανώσεις ανθρωπίνων δικαιωμάτων εκφράζουν την ανησυχία της επέκτασης του ελέγχου και της θέσης σε κίνδυνο των προσωπικών δεδομένων.

Η βρετανική κυβέρνηση αντιμετωπίζει και σοβαρή αντίδραση αναφορικά με τη διάβρωση των αστικών δικαιωμάτων στη χώρα. Τα σχέδια δημιουργίας μιας τεράστιας βάσης δεδομένων τύπου Big Brother, η οποία θα αποθηκεύει στοιχεία από κάθε τηλεφωνική κλήση, μήνυμα ηλεκτρονικού ταχυδρομείου ή επίσκεψη στο ίντερνετ που πραγματοποιείται από κάθε πρόσωπο στο Ηνωμένο Βασίλειο.

Μόλις τον περασμένο μήνα, οι Ευρωπαίοι υπουργοί Εσωτερικών συμφώνησαν να επιτραπεί στην Αστυνομία να πραγματοποιούν έρευνες σε ύποπτους υπολογιστές μέσα στην Ε.Ε. Οι λεπτομέρειες της πρότασης είναι ακόμα υπό συζήτηση, ενώ η κριτική που ασκήθηκε στο βρετανικό υπουργείο Εσωτερικών επισήμανε τον κίνδυνο της ευρείας επέκτασης της αστυνομικής επέμβασης στην προσωπική ζωή των πολιτών.

Από το HackWorld