Hacked CentOS Server

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 24 Μαρ 2010 14:32

Γεια χαρα,

Αυτο που λεει ο τιτλος.. δεχτηκε επιθεση ο σερβερ φιλου που βοηθαω στο τρεξιμο του φορουμ.

Ο σερβερ ειναι unmanaged dedicated και απο ασφαλεια δεν εχει σχεδον τιποτα αυτη τη στιγμη.

Τρεχει CentOS 5 Server (2.6.18-164.9.1.el5PAE) / Plesk panel

H επιθεση κατα 99% ειναι brute force attack.

Υπαρχει καποιο καλο firewall/ script για προστασια απο αυτου του ειδους επιθεσεις..?

Αν ειναι δυνατον με UI γιατι ειμαι ψιλοασχετος με τις εντολες σε Linux περιβαλον..
Δημήτρης

Άβαταρ μέλους
Ntf_daS
Δημοσιεύσεις: 150
Εγγραφή: 30 Μάιος 2006 12:31

Hacked CentOS Server

Δημοσίευση από Ntf_daS » 24 Μαρ 2010 15:09

Καλησπέρα.

Ρίξε μια ματιά σε αυτό εδώ το wiki. Ίσως να μπορέσει να σε βοηθήσει. Ειδικά το 2 και το 6, αν δεν τα έχεις ήδη, τα θεωρώ απαραίτητα.

Γενικά μπορείς να ψάξεις στο wiki του CentOS, έχει πολλές πληροφορίες.

Επίσης μπορείς να κοιτάξεις στο security guide του Red Hat, καθώς το CentOS είναι βασισμένο εξ ολοκλήρου στο RED HAT enterprise edition.

Ελπίζω να βοήθησα.
Εικόνα

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 24 Μαρ 2010 15:33

Ευχαριστω φιλε Ntf_daS ! :) Σιγουρα βοηθησες!

Το πρωτο πραγμα που εκανα, ηταν να ψαξω αυτο ακριβως στο wiki που λες, το Securing OpenSSH.

Στο 2 (Disable Root Logins) εγω κανω login στο root του σερβερ με το bitvise tunnelier. Και επειδη οπως ειπα ειμαι ψιλοασχετος στις linux command line, λεει να απενεργοποιησω τα Root Logins και να κανω login σαν χρηστης και μετα να χρησιμοποιησω το su command για να μπω στο root. Αυτο δεν καταλαβα πως γινεται, oπως και το πως γινεται το ρησταρτ του sshd service.


Και στο 6 (Filter SSH at the Firewall) κανουμε 2 ατομα login, απο διαφορετικες ip και που ειναι δυναμικες.. αυτο παλι με εχει μπερδεψει πως μπορει να γινει..
Δημήτρης

Άβαταρ μέλους
Ntf_daS
Δημοσιεύσεις: 150
Εγγραφή: 30 Μάιος 2006 12:31

Hacked CentOS Server

Δημοσίευση από Ntf_daS » 25 Μαρ 2010 07:20

Καλή σου μέρα φίλε μου και συγνώμη για την καθυστερημένη απάντηση.

Μόλις τώρα κατάφερα να κοιτάξω τι γίνεται στον κόσμο έξω από το γραφείο μου (ναι, ναι, πέρασα όλη την νύχτα προσπαθόντας να βρώ ένα bug :evil: :evil: )

Τέλος πάντων, για να μην πολυλογώ, μπορώ να σε βοηθήσω δίνοντας σου οδηγίες για το τί να κάνεις μέσω κονσόλας (συγνώμη, δεν μπήκα ποτέ στον κόπο να βρώ πως μπορεί να γίνουν αλλιώς)

Υποθέτω ότι το μηχάνημα δεν το έχεις στήσει εσύ, οπότε ξέρεις λίγα πράγματα για το setup του. Οπότε το βασικό που πρέπει να διαπιστώσεις πριν κάνεις οτιδήποτε, είναι άν ο χρήστης που χρησιμοποιείς έχει το δικαίωμα να κάνει login σαν root.

Oπότε αυτό που πρέπει να κάνεις είναι, να συνδεθείς με τον χρήστη σου (όχι τον root, κάποιον άλλο) στο μηχάνημα με SSH και να γράψεις

Κώδικας: Επιλογή όλων

su - 
ή

Κώδικας: Επιλογή όλων

su
Μια που δεν έχεις επαφή δεν θα καταλάβεις διαφορά μεταξύ των 2 διαφορετικών τρόπων.

Θα σου ζητήσει password, όπου και θα του δώσεις το root password. Αν σε αφήσει να συνδεθείς έτσι σαν root, τότε μπορείς να συνεχίσεις.

Tώρα θα χρειαστείς έναν editor ώστε να κάνεις edit το αρχείο που λέει στο wiki. Το CentOS έχει default τον vi και τον nano. Αν δεν ξέρεις να χρησιμοποιείς τον vi, χρησιμοποίησε τον nano, είναι πολύ πιο εύκολος στην χρήση για να ξεκινήσεις.

Στην κονσόλα γράψε

Κώδικας: Επιλογή όλων

nano /etc/ssh/sshd_config
και ψάξε μέσα στο αρχείο να βρείς

Κώδικας: Επιλογή όλων

# Prevent root logins:
PermitRootLogin yes
Άλλαξε το yes με no, σώσε και κλείσε το αρχείο.

Για να κάνεις restart τον sshd γράψε

Κώδικας: Επιλογή όλων

/etc/init.d/sshd restart
και πάτα enter.

Τώρα δοκίμασε να μπείς σαν root από μια άλλη κονσόλα. Αν σου βγάλει access denied, τότε τα κατάφερες.
Πριν κλείσεις την κονσόλα που είσαι συνδεδεμένος σαν root, άνοιξε μια καινούρια και μπες ξανά κάνοντας login πρώτα με τον δικό σου χρήστη και μετά, με su - σαν root. Αν και αυτό δουλεύει σωστά, τότε είσαι έτοιμος.

Πρόσεξε, μην κλείσεις την κονσόλα με την οποία είσαι συνδεδεμένος σαν root μέχρι να σιγουρευτείς ότι όλα δουλεύουν σωστά.

Αν ακολουθήσεις τα παραπάνω βήματα, θα έχεις ένα σύστημα που ο root μπορεί να κάνει απευθείας login μόνο αν βρίσκεται φυσκά μπροστά από το μηχάνημα.

Ενημέρωσε αν αντιμετοπίσεις προβλήματα, και αν χρειαστείς κάτι άλλο, εδώ είμαστε. :)
Εικόνα

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 25 Μαρ 2010 14:44

Φιλε Ntf_daS γεια χαρα. Ευχαριστω για το πολυ χρησιμο ποστ σου.! :)

Η κονσολα ειναι μια χαρα, εγω δεν ξερω τις εντολες γιαυτο και μπερδευομαι..

Παντως, μετα απο ψαξιμο, και σαν πρωτη αποπειρα τελικα χθες αλλαξα την default port και εκανα και restart το service του sshd και το θεωρω μεγαλη επιτυχια..


Το μηχανημα οχι δεν το εχω στησει εγω.. δεν φαινεται αλωστε..? :P

Το προβλημα ειναι οτι δεν εχω αλλο λογαριασμο παρα μονο το root και του πλεσκ, που δε νομιζω οτι εχει σημασια ομως εδω.

Αυτο που θελω να ρωτησω ειναι πως γινεται να φτιαξω ενα απλο χρηστη, και τι δικαιωματα πρεπει να του δωσω μπορεσω να κανω αυτες τις αλλαγες.

Αυτο γινεται απο την κονσολα (command line) του ssh η απο καποιο αρχειο του server μεσα απο τον SFTP client (πχ το bitvise tunnelier) που χρησιμοποιώ..?



Χθες εκανα και μια αλλη ρυθμιση, (δεν ξερω αν εκανα σωστα γιατι δεν ειδα επιβεβαιωση στην κονσολα αλλα ουτε μηνυμα λαθους)
Εκανα κοπυ-παστε τον παρακατω κωδικα στην κονσολα του ssh (αλλαξα την port με αυτη που χρησιμοποιω) και ρησταρτ το ssh service.

Κώδικας: Επιλογή όλων

iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 --syn -j DROP
Ειναι ρυθμιση στο 6. Filter SSH at the Firewall που αφηνει μονο 3 προσπαθειες συνδεσης ανα λεπτο.

Επισης πηγα να αλλαξω το root password με την εντολη passwd, μου εβγαλε επιλογη να γραψω το νεο password (Change Password for User root. New UNIX password:) αλλα οσο και να πληκτρολογουσα δεν εγραφε τιποτα η κονσολα.. εκει το σταματησα μην κανω κανα λαθος και κλειδωθω απ εξω κιολας.
Δημήτρης

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 25 Μαρ 2010 14:51

easyrider77 έγραψε:Φιλε Ntf_daS γεια χαρα. Ευχαριστω για το πολυ χρησιμο ποστ σου.! :)

Η κονσολα ειναι μια χαρα, εγω δεν ξερω τις εντολες γιαυτο και μπερδευομαι..

Παντως, μετα απο ψαξιμο, και σαν πρωτη αποπειρα τελικα χθες αλλαξα την default port και εκανα και restart το service του sshd και το θεωρω μεγαλη επιτυχια..


Το μηχανημα οχι δεν το εχω στησει εγω.. δεν φαινεται αλωστε..? :P :lol:

Το προβλημα ειναι οτι δεν εχω αλλο λογαριασμο παρα μονο το root και του πλεσκ, που δε νομιζω οτι εχει σημασια ομως εδω.

Αυτο που θελω να ρωτησω ειναι πως γινεται να φτιαξω ενα απλο χρηστη, και τι δικαιωματα πρεπει να του δωσω μπορεσω να κανω αυτες τις αλλαγες.

Αυτο γινεται απο την κονσολα (command line) του ssh η απο καποιο αρχειο του server μεσα απο τον SFTP client (πχ το bitvise tunnelier) που χρησιμοποιώ..?



Χθες εκανα και μια αλλη ρυθμιση, (δεν ξερω αν εκανα σωστα γιατι δεν ειδα επιβεβαιωση στην κονσολα αλλα ουτε μηνυμα λαθους)
Εκανα κοπυ-παστε τον παρακατω κωδικα στην κονσολα του ssh (αλλαξα την port με αυτη που χρησιμοποιω) και ρησταρτ το ssh service.

Κώδικας: Επιλογή όλων

iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 --syn -j DROP
Ειναι ρυθμιση στο 6. Filter SSH at the Firewall που αφηνει μονο 3 προσπαθειες συνδεσης ανα λεπτο.

Επισης πηγα να αλλαξω το root password με την εντολη passwd, μου εβγαλε επιλογη να γραψω το νεο password (Change Password for User root. New UNIX password:) αλλα οσο και να πληκτρολογουσα δεν εγραφε τιποτα η κονσολα.. εκει το σταματησα μην κανω κανα λαθος και κλειδωθω απ εξω κιολας.
Δημήτρης

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3197
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από CyberCr33p » 25 Μαρ 2010 15:01

Η εντολή passwd δεν εμφανίζει ***** για λόγους ασφαλείας (να μην ξέρει κάποιος από πόσους χαρακτήρες αποτελείται ο κωδικός) , αλλά γράφεται κανονικά ο κωδικός.

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 25 Μαρ 2010 16:15

Το προβλημα φιλε CyberCr33p ειναι οτι δεν κινιοτανε καθολου ο κενσορας για να δειξει οτι εστω δεχεται τους χαρακτηρες. Εμενε ακίνητος στη θεση του γιαυτο λεω οτι δεν πηρε το νεο password.


Κατι αλλο που βρηκα στο αρχειο secure (/var/log/secure) ειναι η ip του hacker που κανει απειρες προσπαθειες να συνδεθει στο root με brute force οπως φαινεται, και μολις ειδα το log αυτο τρελαθηκα..
εχει καταγραφες μονο 3 μερες ολες κ ολες, απο οταν αρχισε δηλαδη 21/3 μεχρι τοτε που κατεβασαμε το domain 23/3 και το αρχειο ειναι 4.5 ΜΒ text.!




Btw, thanks που γραφεις στο θρεντ φιλε CyberCr33p. :D Εισαι απο τα λιγα ατομα που "ακουω" τεχνολογικα.
Δημήτρης

Άβαταρ μέλους
Ntf_daS
Δημοσιεύσεις: 150
Εγγραφή: 30 Μάιος 2006 12:31

Hacked CentOS Server

Δημοσίευση από Ntf_daS » 25 Μαρ 2010 19:45

Καλησπέρα φίλε μου και συγνώμη για το καθηστερημένο της απάντησης.

Πρώτον, η αλλαγή που έκανες τα iptables δεν μου φαίνεται να έχει κάποιο λάθος.

Δεύτερον, όπως είπε και ο συντοπίτης CyberCr33p, όταν αλλάζεις κωδικό, δεν φαίνεται τίποτα στην οθόνη. Δίνεις passwd, δίνεις τον κωδικό, σου ζητάει επιβεβαίωση και τέλος. Ούτε **** ούτε αναβοσβήσημο του κέρσορα.

Τώρα, για να προσθέσεις χρήστη.

Κάτι βασικό. Ο κάθε χρήστης στο Linux ανήκει σε ένα usergroup. Αν κατά την δημιουργία του χρήστη αυτό δεν οριστεί, τότε αυτόματα δημιουργείται ένα usergroup με όνομα το ίδιο με του χρήστη.

Για να δεις τι usergroups υπάρχουν αυτή τη στιγμή στο μηχάνημά σου, γραψε

Κώδικας: Επιλογή όλων

cat /etc/group
Θα δεις ότι υπάρχουν πολλά usergroups, τα περισσότερα για administrative σκοπούς. Ένα group που σε βολεύει γι αυτό που θες να κάνεις, είναι το users (default group του CentOS).

Για να δημιουργήσεις ένα χρήστη στην ομάδα users γράψε (σαν root):

Κώδικας: Επιλογή όλων

useradd -g users username
όπου username το όνομα που θέλεις να δώσεις στον χρήστη, και φυσικά αμέσως μετά πρέπει να του ορίσεις κωδικό:

Κώδικας: Επιλογή όλων

passwd username
Ισχύουν αυτά που είπαμε για τους κωδικούς για τον root.

Λοιπόν, κανονικά, και εφόσον το σύστημα δεν είναι πολύ πειραγμένο, χρήστης που ανήκει στο group users έχει το δικαίωμα να κάνει su - και να μπεί σαν root.

Άνοιξε ένα άλλο terminal και κάνε login στον server με τον χρήστη που μόλις έφτοιαξες. Δες άν δουλεύει το su- , και αν δουλεύει τότε είσαι έτοιμος να απαγορεύσεις την είσοδο του root απομακρυσμένα :) :) .

Ελπίζω να βοήθησα και να σου έλυσα κάποιες απορίες.

Για ότι άλλο θελήσεις, ξέρεις που θα μας βρείς :wink:
Εικόνα

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 26 Μαρ 2010 01:58

Καλησπερα φιλε Ntf_daS :)

Μολις εφτιαξα ενα χρηστη οπως ειπες.
Το προβλημα τωρα ειναι εκει που λες να κανω login σαν user. Ανοιγω νεο τερματικο χωρις να κλεισω τον SFTP Manager και το προηγουμενο τερματικο, αλλα ηδη ειμαι μεσα σαν root.. :-?

Πως γινεται να κανω login σαν user..?
(σορυ αλλα ειμαι τελειως σκραπας :lol:)
Δημήτρης

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Alice_Cooper » 26 Μαρ 2010 10:23

sto termatiko vale user//pass afta tou user kai oxi root

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 26 Μαρ 2010 12:06

ΟΚ. εκανα το login σαν χρηστης και στη συνεχεια με την εντολη su + password μπηκα στο root κανονικα. !! :lol:

Τωρα θα δοκιμασω να μπλοκαρω το root login.. :-?
Δημήτρης

Άβαταρ μέλους
Ntf_daS
Δημοσιεύσεις: 150
Εγγραφή: 30 Μάιος 2006 12:31

Hacked CentOS Server

Δημοσίευση από Ntf_daS » 26 Μαρ 2010 12:32

Μπορείς για τέτοιες δουλειές να χρησιμοποιείς ένα απλό terminal που να σου επιτρέπει να έχεις πολλά sessions ανοικτά, όπως ειναι το putty;)
Εικόνα

Άβαταρ μέλους
Easyrider
Δημοσιεύσεις: 385
Εγγραφή: 18 Μάιος 2005 21:26
Τοποθεσία: Αθήνα
Επικοινωνία:

Hacked CentOS Server

Δημοσίευση από Easyrider » 25 Ιαν 2012 02:26

Βρηκα το θρεντακι αυτο ξεχασμενο και διαπιστωσα οτι δεν σε ευχαριστησα για τη βοηθεια τοτε φιλε Ntf_daS.

Big thanks για τη βοηθεια φιλε. :D
Δημήτρης

Άβαταρ μέλους
Ntf_daS
Δημοσιεύσεις: 150
Εγγραφή: 30 Μάιος 2006 12:31

Hacked CentOS Server

Δημοσίευση από Ntf_daS » 25 Ιαν 2012 11:30

Να είσαι καλά!

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

:)
Εικόνα

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες