• SFTP chroot w CentOS

    dodany przez Przemysław Sikora

    Mając nawet niewielki prywatny serwer, przychodzi moment, gdy chcemy udostępnić część swojej przestrzeni znajomemu. Zapewne dla wielu naturalną drogą wgrywania plików na zdalną maszynę, jest FTP, ale w obecnych czasach jest to nie zalecane. Dlaczego tak jest? Zawsze się wgrywało i było ok. Co się zmieniło? Największe firmy hostingowe dają tylko taką metodę przesyłania plików. Te i wiele innych odpowiedzi pada z ust osób, którym proponujemy odejście od klasycznego FTP i skorzystanie z SFTP. Na korzyść tego drugiego rozwiązania przemawia szyfrowana transmisja, co w znaczący sposób poprawia bezpieczeństwo przesyłanego hasła, co w obecnych czasach jest niezwykle istotne. Standardowo SFTP daje dostęp do całej struktury katalogowej do której nasz użytkownik ma jakiekolwiek prawa. Można to jednak zmienić. Najprostszym sposobem jest zrobienie chroota dla SFTP przy użycie wbudowanej ku temu funkcji w SSH. Niestety pakiet openssh-server obecny w CentOS-ie jest w zbyt starej wersji i nie posiada tejże możliwości. Musimy więc pobrać źródła ze strony projektu i skompilować je lub skorzystać z innego niż standardowe repo. Osobiście używam CentALT. Po zaktualizowaniu  wspomnianego pakietu przystępujemy do konfiguracji, edytując pli “/etc/ssh/sshd_config”.

    Subsystem sftp /usr/libexec/openssh/sftp-server

    Zakomentowujemy powyższą linijkę.

    Subsystem sftp internal-sftp

    Dodajemy powyższą.

    Match User nazwa_użytkownika
    ChrootDirectory /ścieżka_do _folderu_chroot
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
    service sshd restart

    Na koniec oczywiście restartujemy wspomnianą usługę.

    Zamiast “Match User nazwa_użytkownika” można użyć “Match User nazwa_grupy”. Właścicielem folderu środowiska “chroot” powinien być “root”. Nie trzeba zmieniać katalogu domowego, ani domyślnego shella w pliku “/etc/passwd”. Powyższa konfiguracja zapewnia blokadę ssh i dostęp tylko poprzez sftp.

2 komentarze do “SFTP chroot w CentOS”

  1. drake pisze:

    pytanie: jak zalogowac sie do systemu (poza chroot jail), wszyscy uzytkownicy loguja sie do chroot jaila, jest mozliwosc zdalnego logowanie sie systemu w celu administracyjnym…??

  2. admin pisze:

    Prawdopodobnie logując się jako root ominiesz jaila. Jeśli danemu userowi przypisany jest chroot, to tego nie ominiesz.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony