PowerScale OneFS: Konfigurowanie SFTP i konfigurowanie chroot
Summary: W tym dokumencie opisano sposób zezwalania na dostęp do klastra PowerScale za pośrednictwem protokołu SFTP (Secure File Transfer Protocol).
Instructions
W tym dokumencie opisano sposób zezwalania na dostęp do klastra PowerScale za pośrednictwem protokołu SFTP. Istnieją pewne ograniczenia i kwestie, o których należy pamiętać na początku tego procesu.
- Użytkownicy/grupy, które potrzebują dostępu SFTP, muszą mieć
ISI_PRIV_LOGIN_SSHUprawnienie powiązane z ich użytkownikiem. - Dostęp SSH i SFTP działa tylko w strefie System.
- Nie wszystkie opcje konfiguracji ssh są dostępne; System PowerScale obsługuje instrukcje dopasowania i podsystemu za pośrednictwem
isi ssh modifyZestaw poleceń.
Poza tymi czynnikami PowerScale działa jak każdy inny serwer FreeBSD OpenSSH. Sprawdź wersję OpenSSH w klastrze za pomocą polecenia ssh -V.
Aby uzyskać wskazówki dotyczące konfigurowania ról i uprawnień, zapoznaj się z podręcznikiem administracyjnym interfejsu wiersza polecenia lub podręcznikiem administracji sieci Web w sekcji "Role i uprawnienia administracyjne".
Sprawdzanie, czy użytkownik/grupa ma ISI_PRIV_LOGIN_SSH
Sprawdź, czy dany użytkownik ma ISI_PRIV_LOGIN_SSH. Poniżej przedstawiono przykład z domyślnym użytkownikiem admin.
p930-1# isi auth mapping token admin | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
Jeśli nie ma danych wyjściowych, użytkownik musi być przypisany do roli, która obejmuje to uprawnienie. Więcej informacji na ten temat można znaleźć w podręcznikach administracyjnych dla danej wersji w sekcji "Role i uprawnienia administracyjne".
Podstawowy dostęp SFTP dla użytkowników lokalnych
Po zweryfikowaniu poprawności uprawnień użytkownicy powinni mieć dostęp SFTP do części systemu plików na podstawie ich tokenu mapowania użytkownika.
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> dir
sftp> cd ..
sftp> dir
admin ftp
Podstawowy dostęp do Chroot SFTP
Aby ograniczyć użytkownika do określonego podzbioru systemu plików, użyj OpenSSH ChrootDirectory funkcjonalność w instrukcji Match. Powoduje to, że klient widzi swoją ścieżkę logowania jako / i sprawia, że nie mogą opuścić tego podzbioru systemu plików. ChrootDirectory ma jednak ścisłe wymagania dotyczące uprawnień do katalogu na całej ścieżce do ChrootDirectory że każdy katalog w ścieżce ma uprawnienia Posix root:wheel drwxr-xr-x Aby uzyskać więcej informacji na ten temat, zapoznaj się ze stroną podręcznika konserwacji OpenSSH.
Oto typowa instrukcja Match do implementacji ChrootDirectory podczas dopasowywania grupy. Pierwsze trzy wiersze są wymagane dla ChrootDirectory bez plików pomocniczych. Ostatni wiersz ogranicza możliwość korzystania przez użytkownika z funkcji X11Forwarding w OpenSSH.
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Poniżej znajduje się podstawowy przykład przygotowania ścieżki dla chroota, gdy wszyscy pasujący użytkownicy mogą pisać do /ifs/sftp/home . root:wheel jest właścicielem katalogów /ifs i /ifs/sftp, z uprawnieniami ustawionymi na 755 dla ChrootDirectory Podczas /ifs/sftp/home Ma uprawnienia 777, co pozwala użytkownikowi na dostęp do zapisu.
p930-1# isi auth settings acls modify --calcmode-group=group_only --calcmode-owner=owner_only
p930-1# mkdir -p /ifs/sftp/home
p930-1# chmod 755 /ifs/
p930-1# chmod 755 /ifs/sftp
p930-1# chmod 777 /ifs/sftp/home
p930-1# isi ssh settings modify --match="Match Group admin
dquote> ChrootDirectory /ifs/sftp
dquote> ForceCommand internal-sftp"
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> ls
home
sftp> pwd
Remote working directory: /
Konfigurowanie wielu ciągów dopasowania
Łatwiej jest zarządzać wieloma dopasowaniami w pliku, a następnie przekazywać je do naszego isi ssh . Korzystanie z tego procesu zapewnia sshd Sprawdza poprawność pliku i stosuje zmianę tylko wtedy, gdy jest prawidłowa.
Poniżej przykłady sukcesów i porażek.
p930-1# cat /ifs/sshMatches
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Match All
X11Forwarding no
p930-1# sshd -t -f /ifs/sshMatches && isi ssh settings modify --match="$(cat /ifs/sshMatches)"
p930-1# sshd -t -f /ifs/sshMatchBad && isi ssh settings modify --match="$(cat /ifs/sshMatchBad)"
Missing Match criteria for Allk
/ifs/sshMatchBad line 6: Bad Match condition
Zagadnienia dotyczące ciągu dopasowania.
Podczas konfigurowania ciągów dopasowania dowolny identyfikator użytkownika lub grupy znany klastrowi może być używany w ciągu "Dopasuj użytkownika" lub "Dopasuj grupę". Tak więc odwoływanie się do grup usługi Active Directory można wykonać za pomocą RFC2307 domain\user.
Jeśli użytkownik nie jest kierowany do poprawnej ścieżki lub ustawień w ciągu Dopasuj użytkownika, sprawdź, czy można wyszukać użytkownika w klastrze za pomocą polecenia isi auth mapping token <username> biorąc nazwę użytkownika z twojego ciągu dopasowania.
Jeśli użytkownik nie jest kierowany do poprawnej ścieżki lub ustawień w ciągu Dopasuj grupę, sprawdź, czy użytkownik jest członkiem danej grupy za pomocą polecenia isi auth mapping token <username> | grep <groupname>.
Podaj nazwę użytkownika i weź nazwę grupy z ciągu dopasowania.
Poniżej znajduje się przykład użytkownika, który nie jest poprawnie kierowany do ścieżki z powodu błędu w instrukcji Match Group. Użytkownik stateroot nie działa prawidłowo, podczas gdy użytkownik prodroot popraw błąd w nazwie grupy użyty w instrukcji Match Group, aby to naprawić.
p930-1# isi auth mapping token stageroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# isi auth mapping token prodroot | grep "LOGIN_SSH"
ISI_PRIV_LOGIN_SSH
p930-1# cat /ifs/sshMatches
Match Group Stage-Root-SFTP
ChrootDirectory /ifs/home/Stage-Root
X11Forwarding no
ForceCommand internal-sftp
Match Group Prod-Root
ChrootDirectory /ifs/home/Prod-Root
X11Forwarding no
ForceCommand internal-sftp
p930-1# isi auth mapping token stageroot | grep "Stage-Root-SFTP"
p930-1# isi auth mapping token prodroot | grep "Prod-Root"
Name: Prod-Root
p930-1# isi auth mapping token stageroot | grep "Stage-Root"
Name: Stage-Root
Starsze konfiguracje
Przed OneFS 8.2 można było wykonać tę samą funkcjonalność, ale isi ssh Polecenie jeszcze nie istniało. Zamiast używać isi ssh settings modify --match="" Edytowanie pliku /etc/mcp/templates/sshd_config z tymi samymi ciągami dopasowania, których użyłyby powyższe kroki. Dodaj je na końcu /etc/mcp/templates/sshd_config.
Podane wskazówki powinny działać w przypadku wersji OneFS wcześniejszych niż OneFS 8.2, ale wszelkie zmiany konfiguracji wykonane w ten sposób zostaną usunięte po uaktualnieniu do wersji OneFS z obsługą interfejsu programowania aplikacji (API). Użytkownicy korzystający z dostępu SFTP nadal wymagają ISI_PRIV_LOGIN_SSH Uprawnień.