Android

Πώς να ρυθμίσετε τη φυλακή chroot sftp

Πότε μπορούν να διαγραφούν τα χρέη προς την εφορία | SBCTV

Πότε μπορούν να διαγραφούν τα χρέη προς την εφορία | SBCTV

Πίνακας περιεχομένων:

Anonim

Σε αυτό το σεμινάριο, θα εξηγήσουμε πώς να ρυθμίσετε ένα περιβάλλον SFTP Chroot Jail που θα περιορίζει τους χρήστες στους οικείους καταλόγους τους. Οι χρήστες θα έχουν μόνο πρόσβαση SFTP, η πρόσβαση SSH θα απενεργοποιηθεί. Αυτές οι οδηγίες πρέπει να λειτουργούν για οποιαδήποτε σύγχρονη διανομή Linux, συμπεριλαμβανομένων των Ubuntu, CentOS, Debian και Fedora.

Δημιουργία ομάδας SFTP

Αντί να διαμορφώσουμε τον εξυπηρετητή OpenSSH για κάθε χρήστη ξεχωριστά, θα δημιουργήσουμε μια νέα ομάδα και θα προσθέσουμε όλους τους chrooted χρήστες μας σε αυτήν την ομάδα.

Εκτελέστε την ακόλουθη εντολή groupadd για να δημιουργήσετε την ομάδα χρηστών sftponly :

sudo groupadd sftponly Μπορείτε να ονομάσετε την ομάδα όπως θέλετε.

Προσθήκη χρηστών στην ομάδα SFTP

Το επόμενο βήμα είναι να προσθέσετε τους χρήστες που θέλετε να περιορίσετε στην ομάδα sftponly .

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

sudo useradd -g sftponly -s /bin/false -m -d /home/username username

  • Η επιλογή -g sftponly θα προσθέσει τον χρήστη στην ομάδα sftponly. Η επιλογή -s /bin/false ορίζει το κέλυφος σύνδεσης του χρήστη. Ορίζοντας το κέλυφος σύνδεσης στο /bin/false ο χρήστης δεν θα μπορεί να συνδεθεί στο διακομιστή μέσω SSH. Οι επιλογές -m -d /home/username λένε στο useradd να δημιουργήσει τον οικείο κατάλογο του χρήστη.

Ορίστε έναν ισχυρό κωδικό πρόσβασης για το νεοδημιουργημένο χρήστη:

sudo passwd username

Διαφορετικά, αν ο χρήστης που θέλετε να περιορίσετε υπάρχει ήδη, προσθέστε τον χρήστη στην ομάδα sftponly και αλλάξτε το κέλυφος του χρήστη:

sudo usermod -G sftponly -s /bin/false username2

Ο αρχικός κατάλογος χρήστη πρέπει να ανήκει σε root και να έχει 755 δικαιώματα:

sudo chown root: /home/username sudo chmod 755 /home/username

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

sudo mkdir /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads}

Εάν μια εφαρμογή ιστού χρησιμοποιεί τον κατάλογο του public_html του χρήστη ως ρίζα εγγράφου, αυτές οι αλλαγές ενδέχεται να οδηγήσουν σε ζητήματα αδειών. Για παράδειγμα, εάν εκτελείτε το WordPress, θα χρειαστεί να δημιουργήσετε μια ομάδα PHP που θα τρέξει ως χρήστης που κατέχει τα αρχεία και θα προσθέσει τον sftponly ομάδα sftponly .

Ρύθμιση SSH

Το SFTP είναι ένα υποσύστημα SSH και υποστηρίζει όλους τους μηχανισμούς πιστοποίησης SSH.

Ανοίξτε το αρχείο διαμόρφωσης SSH /etc/ssh/sshd_config με τον επεξεργαστή κειμένου:

sudo nano /etc/ssh/sshd_config

Αναζητήστε τη γραμμή που αρχίζει με το Subsystem sftp , συνήθως στο τέλος του αρχείου. Αν η γραμμή ξεκινά με ένα hash # αφαιρέστε το hash # και τροποποιήστε το ώστε να μοιάζει με το ακόλουθο:

/ etc / ssh / sshd_config

Subsystem sftp internal-sftp

Προς το τέλος του αρχείου, το παρακάτω πεδίο ρυθμίσεων:

/ etc / ssh / sshd_config

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

Η οδηγία ChrootDirectory καθορίζει τη διαδρομή προς τον κατάλογο chroot. %h σημαίνει τον αρχικό κατάλογο του χρήστη. Αυτός ο κατάλογος πρέπει να ανήκει στον χρήστη root και να μην είναι εγγράψιμος από οποιονδήποτε άλλο χρήστη ή ομάδα.

Προσέξτε ιδιαίτερα όταν τροποποιείτε το αρχείο ρυθμίσεων SSH. Η εσφαλμένη ρύθμιση παραμέτρων μπορεί να προκαλέσει την αδυναμία εκκίνησης της υπηρεσίας SSH.

Αφού τελειώσετε, αποθηκεύστε το αρχείο και επανεκκινήστε την υπηρεσία SSH για να εφαρμόσετε τις αλλαγές:

sudo systemctl restart ssh

Στο CentOS και στο Fedora η υπηρεσία ssh ονομάζεται sshd :

sudo systemctl restart sshd

Δοκιμή της διαμόρφωσης

Τώρα που έχετε ρυθμίσει το chroot SFTP, μπορείτε να προσπαθήσετε να συνδεθείτε στο απομακρυσμένο μηχάνημα μέσω SFTP χρησιμοποιώντας τα διαπιστευτήρια του χρήστη chrooted. Στις περισσότερες περιπτώσεις, θα χρησιμοποιήσετε έναν υπολογιστή-πελάτη SFTP επιφάνειας εργασίας όπως το FileZilla, αλλά σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε την εντολή sftp.

Ανοίξτε μια σύνδεση SFTP χρησιμοποιώντας την εντολή sftp που ακολουθείται από το όνομα χρήστη του απομακρυσμένου διακομιστή και τη διεύθυνση IP του διακομιστή ή το όνομα τομέα:

sftp [email protected]

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης χρήστη. Μόλις συνδεθεί, ο απομακρυσμένος διακομιστής θα εμφανίσει ένα μήνυμα επιβεβαίωσης και την εντολή sftp> :

[email protected]'s password: sftp>

Εκτελέστε την εντολή pwd , όπως φαίνεται παρακάτω, και αν όλα λειτουργούν όπως αναμένεται, η εντολή θα πρέπει να επιστρέψει / .

sftp> pwd Remote working directory: /

Μπορείτε επίσης να απαριθμήσετε τα απομακρυσμένα αρχεία και τους καταλόγους χρησιμοποιώντας την εντολή ls και θα πρέπει να δείτε τους καταλόγους που έχουμε δημιουργήσει στο παρελθόν:

sftp> ls public_html uploads

συμπέρασμα

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

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

ssh sftp ασφάλεια