Cygal.net.pl

Systemy, Sieci i takie tam :)

Server Proftpd + szyfrowanie SSL = FTPS

FTPS czy SFTP ?

Są to zupełnie dwa różne typy usług

FTPS to normalny serwer FTP uzywający szyfrowania SSL.
SFTP to sesja poprzez SSH (wszystko szyfrowane tak jak poprzez SSH).

Zaleta FTPS jest taka że łatwiej jest kontrolować dostęp dla użytkownika w trybie chrooted, praktycznie prosto z pudełka.
 

Do dzieła …

Ściągamy najnowszą wersję proftpd z
# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4c.tar.gz
# tar -xvzf proftpd-1.3.4c.tar.gz
 

# yum install build-essential gcc 
# yum install libssl-dev
# ./configure --with-modules=mod_tls
# make
# make install

sprawdzamy załadowane moduły

# proftpd -l

Następnie konfig

porty passive otwarte 59000-59999

/usr/local/sbin/proftpd  -c /etc/proftpd.conf 

Generujemy klucze SSL

wrzucamy je do  /etc/ftpcert/.

# cd /etc
# mkdir ftpcert
# cd ftpcert/
# openssl genrsa 1024 > host.key
# chmod 400 host.key
# openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert

KONFIG

 ServerName                      "FTP server"
ServerType                      standalone
DefaultServer                   on
#MasqueradeAddress (zewnętrzny adres ip na którym będzie widoczny nasz serv)

Port                            21

Umask                           022

AllowStoreRestart               on
AllowRetrieveRestart            on
AllowForeignAddress             on

LogFormat                       default "%h %l %u %t "%r" %s %b"
LogFormat                       auth    "%v [%P] %h %t "%r" %s"
LogFormat                       write   "%h %l %u %t "%r" %s %b"

DefaultTransferMode             binary
UseFtpUsers                     on

MaxInstances                    30

User                            nobody
Group                           nobody

DefaultRoot                     ~

AllowOverwrite                  on

PassivePorts                    59000 59999
DefaultRoot                     ~
AllowOverwrite                  on

TransferLog                     /var/log/ftpd/xferlog
ExtendedLog                     /var/log/ftpd/access.log WRITE,READ write
ExtendedLog                     /var/log/ftpd/auth.log AUTH auth
ExtendedLog                     /var/log/ftpd/paranoid.log ALL default

 

TLSEngine on
TLSLog /var/log/ftpd/tls.log

TLSProtocol SSLv23
TLSRequired on
TLSVerifyClient off
TLSRSACertificateFile /etc/ftpcert/host.cert
TLSRSACertificateKeyFile /etc/ftpcert/host.key

Zeby możliwe było logowanie do servera użytkowników istniejących w systemie…

# setsebool -P ftp_home_dir 1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


Time limit is exhausted. Please reload CAPTCHA.