RSS

SCP i sFTP – bezpieczne alternatywy dla FTP

03 Wrz

FTP jest protokołem typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP. Jego główną wadą jest brak szyfrowania transmisji co wiąże się z przesyłaniem haseł oraz nazw użytkowników w postaci jawnej. Wada ta dyskwalifikuje ten protokół jeżeli zależy nam na bezpieczeństwie. Na szczęście istnieją alternatywy wykorzystujące SSH do komunikacji oraz gwarantujące szyfrowanie przekazywanych danych. W tym wpisie postaram się pokazać jak wdrożyć sFTP lub SCP na swoim serwerze pozwalając odejść poczciwemu FTP na emeryturę.

Trochę teorii z wikipedia na początek :

sFTP – protokół typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP.
Jest on pozbawiony wad, które posiada zwykły FTP. Przesyłając plik przy użyciu protokołu FTP uzyskujemy dobre przepływności, ale nie zyskujemy bezpieczeństwa, nasze hasła nie są szyfrowane. Znaczną poprawę bezpieczeństwa przynosi protokół SFTP, który nie wymaga na danym hoście posiadania serwera FTP, wystarczy konto SSH, którego jest on rozszerzeniem, używa jego struktury oraz przez niego się łączy.

SCP – protokół SCP jest bardzo podobny do protokołu RCP (BSD), jednak w przeciwieństwie do RCP SCP korzysta z szyfrowanego połączenia podczas transferu, dzięki temu podsłuchanie transmisji jest zdecydowanie trudniejsze. Sam protokół SCP nie zapewnia uwierzytelniania, opiera się on na protokole SSH. Protokół SSH zajmuje sie tylko transmisją plików, jego przewagą nad protokołem FTP jest to, że oprócz szyfrowania potrafi również przekazać razem z plikiem jego podstawowe atrybuty (np. uprawnienia).

sFTP przy zastosowaniu Scponly
Scponly gwarantuje nam bezpieczne przesyłanie plików dzięki SSH jednak wyłącza możliwość korzystania z samego shella. Tracimy możliwość wykonywania czy robienia czegokolwiek z poziomu SSH. Dobre rozwiązanie jeżeli chcemy dać dostęp do „ftp” ale nie chcemy dawać możliwość korzystania z shella.

Instalacja :
sudo apt-get install scponly

Konfiguracja użytkownika :
sudo chsh -s /usr/bin/scponly user

Od tej pory możemy logować się tylko przy pomocy klientów sFTP na konta który ustawimy. Jeżeli zalogujemy się przez SSH na konto któremu ustawiliśmy sFTP zobaczymy jedynie krótką informację :
WinSCP: this is end-of-file:0

sFTP + SCP przy zastosowaniu rssh
rssh jest restrykcyjną powłoką działającą w oparciu o ssh pozwalającą jedynie na łączenie się przy pomocy SCP lub sFTP wyłączając, jak poprzednio, możliwość logowania się do konsoli. Dodatkowo rssh pozwala na wymianę plikami przy pomocy rdist, rsync, lub cvs.

Instalacja :
sudo apt-get install rssh

Konfiguracja :
Musimy dodać dodatkowy wpis do /etc/shells o treści
/usr/bin/rssh

Oraz edytować plik /etc/rssh.conf w którym wybierzemy jakie rodzaje połączeń będą akceptowane :
#allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync

Na koniec musimy ręcznie zmienić powłokę użytkownikom który mają korzystać z rssh. Dokonamy tego w /etc/passwd, przykładowy wpis dla usera bartek
bartek:x:1001:1001:,,,:/home/bartek:/usr/bin/rssh

Jeżeli zależy nam na posiadaniu dostępu do konsoli oraz bezpiecznej wymienianie plikami to nie robimy nic poza sprawdzeniem czy posiadamy wpis
Subsystem sftp /usr/lib/openssh/sftp-server
w configu sshd ( /etc/ssh/sshd_config )

Na koniec warto by było wspomnieć o klientach sFTP/SCP. Skupię się jedynie na kliencie dla systemów z rodziny Microsoft. Godnym polecenia wydaje się WinSCP.
Możliwości programu :
* Graficzny interfejs użytkownika
* Kilka wersji językowych
* Integracja z systemem Windows (przeciągnij i upuść, URL, ikony skrótów)
* Wszystkie typowe operacje na plikach
* Obsługa protokołów SFTP i SCP
* Skrypty i linia komend
* Synchronizacja katalogów na kilka automatycznych i częściowo zautomatyzowanych sposobów
* Wbudowany edytor tekstu
* Wsparcie dla haseł SSH, keyboard-interactive, public key and Kerberos (GSS) authentication
* Integracja z Pageant (PuTTY Agent) dla pełnego wsparcia public key authentication(klucza publicznego)
* Do wyboru interfejs wzorowany na Eksploratorze Windows lub Norton Commanderze
* Opcjonalny zapis ustawień sesji.
* Opcjonalnie wspiera pracę bez instalacji używając pliku konfiguracyjnego zamiast wpisów rejestru, nadaje się do pracy z nośników wymiennych

Free Image Hosting at www.ImageShack.us

Linki
http://www.sublimation.org/scponly/wiki/index.php/Main_Page
http://dragontoe.org/rssh/
http://winscp.net/eng/docs/lang:pl
http://pl.wikipedia.org/wiki/File_Transfer_Protocol
http://pl.wikipedia.org/wiki/SFTP
http://pl.wikipedia.org/wiki/SCP
Bezpieczne korzystanie z danych na kontach FTP
Bezpieczne wgrywanie plików na konto FTP

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Wrzesień 3, 2009 w linuks, Linux, ubuntu, windows

 

Tagi: ,

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: