
Richard Poole
0
2910
431

Wprowadzenie
Scponly to alternatywna powłoka dla administratorów systemu, którzy chcieliby zapewnić zdalnym użytkownikom dostęp zarówno do odczytu, jak i do zapisu plików lokalnych, bez nadawania uprawnień do zdalnego wykonywania. Funkcjonalnie najlepiej opisać to jako opakowanie wypróbowanego i prawdziwego zestawu aplikacji ssh. Scponly to bezpieczna alternatywa dla anonimowego FTP. Daje administratorowi możliwość skonfigurowania bezpiecznego konta użytkownika z ograniczonym zdalnym dostępem do plików i bez dostępu do interaktywnej powłoki.
Typowym zastosowaniem scponly jest tworzenie konta półpublicznego. Pozwala to administratorowi na współdzielenie plików w taki sam sposób, w jaki zrobiłby to anon ftp, wykorzystując tylko całą ochronę, jaką zapewnia ssh. Jest to szczególnie ważne, jeśli weźmiesz pod uwagę, że uwierzytelnienia ftp przechodzą przez sieci publiczne w formacie zwykłego tekstu.
Wymagania wstępne
Przed rozpoczęciem tego samouczka należy spełnić kilka warunków wstępnych, takich jak:
- Potrzebujesz świeżego CentOS 6 lub 7 Droplet.
- Musisz także uruchamiać wszystkie polecenia jako użytkownik inny niż root.
Zainstaluj i skonfiguruj Scponly
Krok 1:
Jest 5 wymaganych pakietów do zainstalowania, aby zbudować scponly ze źródła, są to następujące pakiety:
- Wget: do pobierania plików
- człowiek: czytać strony podręcznika
- rsync: aby zapewnić zaawansowane kopiowanie plików
- gcc: skompilować scponly ze źródła
- openssh-client-tools: używać różnych narzędzi ssh
Aby zainstalować te pakiety, użyjemy następującego polecenia:
sudo yum install wget man rsync gcc openssh-clients -y
Krok 2:
Teraz pobierzemy najnowszą wersję Scponly, postępując zgodnie z poniższymi instrukcjami. Zaczniemy od przejścia do /optować katalog przy użyciu następującego polecenia, które jest używane w przypadku oprogramowania opcjonalnego:
cd / opt
I użyjemy następującego polecenia, aby zainstalować najnowszą wersję Scponly:
sudo wget http://sourceforge.net/projects/scponly/files/scponly-snapshots/scponly-20110526.tgz
Aby wyodrębnić plik, użyjemy następującego polecenia:
sudo tar -zxvf scponly-20110526.tgz
Krok 3:
Teraz po pobraniu i rozpakowaniu pliku rozpoczniemy budowanie scponly za pomocą 3 głównych poleceń: configure, make i make install.
Przejdziemy do katalogu, w którym znajduje się kod źródłowy scponly, używając następującego polecenia:
cd / opt / scponly-20110526
Następnie użyjemy pierwszego polecenia „configure”, aby zbudować plik makefile z wybranymi przez nas funkcjami.
Wybieramy następujące opcje:
--enable-chrooted-binary:
Instaluje chrootowany plik binarnyscponlyc
--enable-winscp -atible:
Zapewnia zgodność z WinSCP, klientem scp / sftp dla systemu Windows--enable-rsync -atible:
Włącz zgodność z rsync, bardzo wszechstronnym narzędziem do kopiowania plików--enable-scp-Compatible:
Włącza zgodność z poleceniami scp w stylu UNIX
Jak napisano w następującym poleceniu:
sudo ./configure --enable-chrooted-binary --enable-winscp -atible --enable-rsync -atible --enable-scp -atible --with-sftp-server = / usr / libexec / openssh / sftp-server
Teraz użyjemy drugiego polecenia „make” do zbudowania wybranych opcji w plikach binarnych, które zostaną zainstalowane i uruchomione w Twoim systemie.
sudo make
I zainstalujemy pliki binarne za pomocą następującego polecenia:
sudo make install
Dodamy powłoki scponly do pliku / etc / shells za pomocą następującego polecenia:
sudo / bin / su -c "echo" / usr / local / bin / scponly ">> / etc / shells"
Teraz dodaliśmy nową powłokę do systemu o nazwie scponly i znaleźliśmy plik binarny w katalogu / usr / local / bin / scponly.
Następnie utworzymy naszą grupę o nazwie scponly za pomocą następującego polecenia:
sudo groupadd scponly
Krok 4:
W tej sekcji utworzymy centralny katalog przesyłania dla grupy scponly. Pozwala to kontrolować, gdzie i ile danych można przesłać na serwer.
Utwórz katalog o nazwie / pub / upload
to będzie katalog przeznaczony do przesyłania:
sudo mkdir -p / pub / upload
Zmień własność grupy / pub / upload
katalog do scponly
:
sudo chown root: scponly / pub / upload
Następnym krokiem jest skonfigurowanie uprawnień w / pub / upload
informator. Ustawiając uprawnienia w tym katalogu na 770, dajemy dostęp tylko użytkownikom root i członkom grupy scponly.
Zmień uprawnienia w / pub / upload
katalog do odczytu, zapisu i wykonywania dla właściciela i grupy oraz usuwanie wszystkich uprawnień dla innych:
sudo chmod 770 / pub / upload
Krok 5:
Aby sprawdzić naszą konfigurację scponly, skonfigurujemy nowe konto użytkownika. Zaczniemy więc od stworzenia użytkownika o nazwie Waf_User i wspomnieć scponly jako grupę alternatywną i / usr / local / bin / scponly
jako powłoka za pomocą następującego polecenia:
sudo useradd -m -d / home / Waf_User -s "/ usr / local / bin / scponly" -c "Waf_User" -G scponly Waf_User
Teraz edytujemy uprawnienia w katalogu domowym Waf_User za pomocą następującego polecenia:
sudo chmod 500 / home / Waf_User
Zakończymy ten krok, dodając hasło do naszego utworzonego użytkownika za pomocą następującego polecenia:
sudo passwd Waf_User
Krok 6:
Na tym etapie sprawdzimy, czy nasza powłoka scponly działa zdalnie. Zaczniemy od sprawdzenia, czy nasz utworzony użytkownik nie ma dostępu do terminala. Aby to zrobić, spróbujemy zalogować się do serwera jako Waf_User za pomocą następującego polecenia:
su - Waf_User
Jeśli nie masz dostępu, naciśnij ctrl + c, aby wyjść z powłoki scponly. Możesz również sprawdzić dostęp z komputera lokalnego za pomocą następującego polecenia:
ssh [email chroniony] twój_IP
Zobaczysz, że nie masz dostępu, więc ponownie naciśnij ctrl + c, aby wyjść z powłoki scponly.
Krok 7:
Teraz sprawdzimy, czy z naszym utworzonym użytkownikiem możemy pobierać pliki. Zaczniemy od utworzenia pliku 100 MB za pomocą następującego polecenia:
sudo fallocate -l 100m /home/Waf_User/Waf_file.img
Teraz zmienimy własność pliku Waf_file.img na Waf_User za pomocą następującego polecenia:
sudo chown Waf_User: Waf_User /home/Waf_User/Waf_file.img
Następnie przejdź do katalogu tmp za pomocą następującego polecenia:
cd / tmp
Następnie użyjemy następującego polecenia, aby przejść na nasz serwer:
sftp [email chroniony] twój_IP
Następnie użyj następujących poleceń, aby pobrać plik:
ls -l get Waf_file.img
Po zakończeniu pobierania użyj polecenia quit, aby wyjść:
porzucić
Sprawdź, czy plik został pomyślnie pobrany przed powrotem na komputer lokalny.
ls -l Waf_file.img
Krok 8:
Teraz sprawdzimy, czy Waf_User może pobierać pliki na serwer za pomocą polecenia sftp.
Tak jak w poprzednim kroku, utwórz 100-megabajtowy plik o nazwie Waf_upload.img
używając następującego polecenia:
fallocate -l 100m /home/Waf_User/Waf_upload.img
Następnie z systemu lokalnego połącz się z serwerem za pomocą następującego polecenia:
sftp [email chroniony] twój_IP
Następnie prześlij plik za pomocą następującego polecenia:
umieść Waf_upload.img / pub / upload /
Sprawdź, czy plik został pomyślnie przesłany za pomocą następującego polecenia:
ls -ltr / pub / upload
Otrzymasz coś takiego:
-rw-r - r-- 1 Waf_User Waf_User 104857600 27 lipca 08:58 Waf_upload.img
Na koniec użyj polecenia quit, aby wyjść:
porzucić
Wniosek
Teraz masz scponly zainstalowany i skonfigurowany w swoim systemie. To narzędzie jest ograniczoną powłoką umożliwiającą użytkownikom dostęp scp / sftp i tylko dostęp scp / sftp do twojego pudełka. Dodatkowo możesz skonfigurować scponly chroot użytkownika do określonego katalogu, zwiększając poziom bezpieczeństwa.
Źródła i odnośniki:
- Strona główna Scponly
- Cyfrowy ocean