Како да инсталирате Pure-FTPd со TLS и виртуелни корисници на OpenSUSE Leap 42.1


Pure-FTPd е бесплатен и лесен FTP сервер базиран на Troll-FTPd, развојот започна во 2001 година и работи на многу оперативни системи слични на Unix, вклучувајќи Linux, *BSD, Solaris и HP-UX. Pure-FTPd има многу функции како виртуелни домени, chroot home директориум, виртуелни корисници, TLS/SSL поддршка, виртуелна квота и многу повеќе.

Во ова упатство, ќе ви покажам како да инсталирате и конфигурирате pure-ftpd на OpenSUSE Leap 42.1. Ќе ви покажам како да поставите Pure-ftpd со TLS/SSL, а потоа да поставите виртуелни корисници.

Предуслов

  • OpenSUSE Leap 42.1
  • Привилегии на root
  • OpenSUSE, знаење на Zypper

Чекор 1 - Инсталирајте и конфигурирајте го SuSEfirewall2

SuSEfirewall2 е скрипта за генерирање на конфигурацијата на заштитен ѕид во датотеката /etc/sysconfig/SuSEfirewall2. Ќе инсталираме SuSEfirewall2 и потоа ќе ги отвориме портите за SSH и услугата FTP.

Инсталирајте го SuSEfirewall2 со ципер:

zypper in SuSEfirewall2

Следно, уредете ја конфигурациската датотека /etc/sysconfig/SuSEfirewall2 со vim:

vim /etc/sysconfig/SuSEfirewall2

Додадете ги новите услуги ssh и FTP на линијата 253:

FW_SERVICES_EXT_TCP="ssh ftp"

Зачувај и излези.

Сега стартувајте го SuSEfirewall2 со командата systemctl:

systemctl start SuSEfirewall2

Чекор 2 - Инсталирајте и конфигурирајте Pure-FTPd

Во овој чекор, ќе инсталираме pure-ftpd со OpenSSL за конфигурацијата TLS/SSL и ќе ги конфигурираме корисникот и групата pure-ftpd.

Инсталирајте ги апликациите со zypper како што е прикажано подолу:

zypper in pure-ftpd openssl

Сега додадете ја новата група ftpgroup и новиот корисник за главниот корисник FTP наречен ftpuser во групата.

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Одете во директориумот pure-ftpd и уредете ја конфигурациската датотека pure-ftpd.conf со уредникот vim:

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Променете ја вредноста во линијата 81 во да за оневозможување на анонимниот корисник.

NoAnonymous                 yes

Откажете ја линијата 131 за да го конфигурирате задниот дел. Pure-ftpd има поддршка за MySQL, PostgreSQL и LDAP како заднина, но во ова упатство ќе користиме PureDB за поддржаниот.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

Коментирајте ја линијата за автентикација PAMA за да ја оневозможите автентикацијата на PAM на линијата 141 бидејќи ќе користиме PureDB како извор за автентикација.

#PAMAuthentication             yes

Зачувај и излези.

Чекор 3 - Конфигурирајте TLS/SSL за Pure-FTPd

Генерирајте нова датотека со сертификат потпишан самостојно во директориумот /etc/ssl/private со командата openssl:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Променете ги дозволите на датотеката со сертификат во 0600:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Следно, вратете се во директориумот Pure-ftpd и уредете ја конфигурациската датотека за да овозможите поддршка за TLS/SSL за клиентската врска.

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Откажете ја линијата 439 за да овозможите TLS.

TLS                      1

Откажете ја линијата 449 од коментар и додајте нова опција за да ја направите побезбедна.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Откажете ја линијата 445 за да ја дефинирате датотеката со сертификат.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Зачувај и излези.

Сега стартувајте pure-ftpd со командата systemctl:

systemctl start pure-ftpd

Чекор 4 - Конфигурирајте виртуелни корисници

Pure-FTPd обезбедува функции за креирање и користење на виртуелни корисници наместо реални корисници на системот (Linux). Pure-FTPd обезбедува неколку автентични позадини и конфигурацијата на виртуелниот корисник зависи од задниот дел што го користи серверот. Во чекор 2 го поставивме PureDB како заднина.

Можеме да создадеме нов виртуелен корисник со командата pure-pw обезбедена од pure-ftpd. Во овој чекор, ќе создадеме нов виртуелен корисник со име shiro со директориумот /srv/ftp/shiro како домашен директориум ftp и корисникот е префрлен во тој директориум за да не може да пристапи до другите системски директориуми.

Креирајте го новиот виртуелен корисник со pure-pw:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

Направете директориум за виртуелниот корисник и сменете го сопственикот на тој директориум во главен корисник FTP.

mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiro

Следно, мора да ги зачуваме промените со командата подолу:

pure-pw mkdb

Сега корисничкиот shiro  е подготвен за употреба, можеме да користиме FTPp од командната линија или FileZilla за интерфејс GUI за да се поврземе со серверот.

Забелешка:

pure-pw има повеќе командни опции, можете да користите pure-pw help за да ги видите сите корисни команди.

Чекор 5 - Тестирање

Ќе ја користам командата FTP во терминалот за тестирање. Отворете го вашиот терминал и напишете \ftp\:

ftp

Следно внесете ја IP адресата на серверот чисто ftpd:

open 192.168.43.69

Најавете се со корисникот shiro и лозинката и потоа притиснете Enter.

Обидете се да испратите датотека со командата put:

put picture.png mypict.png

Сега ќе ја видите датотеката mypict.png на серверот со командата ls подолу:

ls

Референца

  • https://www.novell.com/coolsolutions/feature/11418.html