Един от най -сигурните и традиционни методи за свързване във всяка организация е FTP (File Transfer Protocol), който позволява прехвърлянето на файлове между два компютъра в TCP мрежа.
Дизайнът му се основава на архитектурата клиент-сървър, с която е възможно да се използва клиентски компютър, откъдето можем да се свържем със сървър за изтегляне на файлове от него или за изпращане на файлове независимо от операционната система, използвана на всеки от компютрите, оттам широкото приемане на този протокол.
Една от помощните програми, които имаме на разположение, за да добавим още повече сигурност към FTP връзката, е ProFTPD, който ще анализираме днес в CentOS 7.
Какво е ProFTPDProFTPD е по същество силно конфигуриран GPL лицензиран FTP сървър софтуер за изпълнение на очакванията за връзка на всеки сайт. ProFTPD е проектиран от нулата, така че не използва друго копие и това ни дава възможност да конфигурираме множество опции при неговото изпълнение.
ProFTPDProFTPD може да се изпълнява на следните платформи по интегрален начин:
- AIX
- BSD / OS
- Cygwin
- Цифров Unix
- DG / UX HP / UX
- IRIX
- Linux
- macOS
- ШОС
- FreeBSD
- NetBSD
- OpenBSD
- Соларис
- SunOS
- Linux за IBM S / 390, zSeries
Функции на ProFTPDСред неговите характеристики откриваме:
- Той има един главен конфигурационен файл, с директиви и групи директиви, които са интуитивни за всеки потребител, който е използвал Apache.
- Той има директория ".ftpaccess", чиято конфигурация е подобна на ".htaccess" на Apache
- Възможност за конфигуриране на множество виртуални FTP сървъри и анонимни FTP услуги
- Проектиран да работи като самостоятелен сървър или от inetd / xinetd, в зависимост от натоварването на системата
- Анонимните коренни директории на FTP не изискват специфична структура на директории, системни двоични файлове или други системни файлове за лесно администриране
- Няма команда SITE EXEC. В съвременната интернет среда тези команди са кошмар за сигурността
- Изходният код е достъпен за администратори и разработчици за одит на системата
- Има скрити файлове и директории въз основа на разрешения в стил Unix или собственост на потребител / група
- Той работи като конфигурируем непривилегирован потребител в самостоятелен режим, за да намали шансовете за атаки, които биха могли да експлоатират "root" възможности. Забележка: Тази функция зависи от възможностите на хост системата Unix
- Поддръжка на системния регистър и utmp / wtmp. Регистрацията е в съответствие със стандарта wu-ftpd, с налична разширена регистрация
- Поддръжка за набор от пароли в сянка, включително поддръжка за изтекли акаунти
- Той се основава на модулен дизайн, който ни позволява лесно да разширим сървъра с модули. Модулите са написани за SQL бази данни, LDAP сървъри, SSL / TLS криптиране, поддръжка на RADIUS и др.
- Поддържа IPv6.
1. Как да инсталирате EPEL на CentOS 7
Етап 1
Първата стъпка, която трябва да направите, е да инсталирате хранилището на EPEL, за да получите по -късно ProFTPD, за това изпълняваме следното:
yum -y инсталирайте epel -release
Стъпка 2
След като този процес приключи, ще видим следното:
Стъпка 3
Сега ще импортираме ключа EPEL GPG, като използваме следния ред:
rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-EPEL-7Продължаваме да актуализираме системните пакети:
yum -y актуализация
2. Как да инсталирате ProFTPD на Как да инсталирате EPEL на CentOS 7
Следващата стъпка ще бъде да инсталирате помощната програма ProFTPD и OpenSSL, като изпълните следното:
yum install -y proftpd openssl proftpd -utils
След като този процес приключи, ще изпълним следните редове:
systemctl start proftpd.service (Стартира услугата ProFTPD) systemctl enable proftpd.service (Активира услугата ProFTPD заедно с стартиране на CentOS)
3. Как да конфигурирате защитната стена
Ако Firewalld е инсталиран на CentOS 7, трябва да го конфигурираме с firewall-cmd, за да отворим FTP порта, както следва:
firewall-cmd --add-service = ftp-постоянна защитна стена-cmd -reload
Продължаваме да проверяваме инсталираната версия на ProFTPD:
proftpd -v
4. Как да създадете потребители и групи за ProFTPD в CentOS 7
След като ProFTPD е инсталиран в CentOS 7, той трябва да създаде групата и потребителя за достъп, в този случай ще създадем група ftpgroup и решаващ1 потребител за ProFTPD и ще определим / ftpshare като начална директория за създаденият потребител:
groupadd ftpgroup useradd -G ftpgroup Solvertic1 -s / sbin / nologin -d / ftpshare passwd solutiontic1
Там трябва да въведем и потвърдим съответната парола за новия потребител. След като това стане, ще предоставим разрешенията на ftpshare, като изпълним:
chmod -R 1750 / ftpshare /
5. Как да активирате TLS в ProFTPD
Сега ще е необходимо да защитим FTP връзките с помощта на TLS и за това трябва да отворим /etc/proftpd/proftpd.conf файла, но той е идеален преди редактиране на файла, създаване на резервно копие на оригиналния файл и след това редактирайте файла с nano.
Етап 1
За да създадем копието, което изпълняваме:
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bakЗа достъп до файла ще използваме nano и ще изпълним:
nano /etc/proftpd.confВ показания файл ще въведем следното под реда DefaultRoot ~! Adm:
PassivePorts 6000 6100
Стъпка 2
В допълнение към това ще коментираме следните редове:
# TLSEngine на TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ВСИЧКО:! изисква TLSOptions 36 NoCertRequest000 offStriatet000 изисква TLSOptions NoCertRequest таймаут 300 TLSLog /var/log/proftpd/tls.log # # TLSSessionCache shm: / file = / var / run / proftpd / sesscache # #Стъпка 3
Запазваме промените с помощта на клавишите Ctrl + O и излизаме от редактора с помощта на клавишите Ctrl + X. Както виждаме, портове 6000 и 6100 са добавени, за да позволят пасивен режим на ftp, за да разрешим този достъп, ще изпълним следното :
защитна стена-cmd --add-port = 6000-6100 / tcp-постоянна защитна стена-cmd-презареждане
Стъпка 4
Ако искаме да видим състоянието на портовете, можем да изпълним следното:
защитна стена-cmd --list-портове
Стъпка 5
Сега ще е необходимо да конфигурирате SELINUX, за да позволите четенето и записването на файловете, изпълняваме следното:
setsebool -P allow_ftpd_full_access = 1
Стъпка 6
За да използвате TLS, ще е необходимо да създадете SSL сертификат, ние ще го създадем в пътя / etc / pki / tls / certs, както следва:
openssl req -x509 -nodes -newkey rsa: 1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pemЩе се покажат следните въпроси, където ще въведем отговори като:
- Град
- Държава
- Организация
- Поща и др
Стъпка 7
Сега, от съображения за сигурност, ние ще конфигурираме сертификатите така, че да могат да се четат само така:
chmod 0440 /etc/pki/tls/certs/proftpd.pemНакрая рестартираме услугата ProFTPD, като изпълним следното:
systemctl рестартирайте proftpd.service
6. Как да получите достъп до CentOS чрез FTP
Етап 1
За достъп до CentOS чрез FTP можем да използваме FTP клиент и за този случай ще използваме Filezilla, която може да бъде изтеглена на следната връзка:
Filezilla
При достъп до Filezilla отиваме в менюто File и там избираме опцията Site manager, за да създадем конфигурацията на нашия достъп, ще въведем следното:
Сървър192.168.0.9 (CentOS 7 IP)
ПротоколFTP
ШифрованеИзисква изричен FTP през TLS
Режим на достъпНормално
Потребителsolutiontic1 (Създаден по време на настройката)
пристанищеТова може да е празно, ако порт, различен от 21, не е персонализиран, което е по подразбиране.
ПаролаСъздадено по време на потребителска настройка
Увеличете
Стъпка 2
След като това бъде дефинирано, щракнете върху Свързване за достъп до нашия сървър CentOS и оттук започнете връзката, този процес може да се извърши от Windows, macOS или Linux, когато кликнем там, ще се покаже следното съобщение:
Подробности за съобщениетоТам можем да видим подробности като:
- Алгоритми, дата на валидност и пръстови отпечатъци на сертификата
- Данни на сертификата, конфигурирани по време на създаването
- Данни за сесията с IP адрес, потребител, пароли и тип криптиране
Стъпка 3
Можем да активираме полето Винаги се доверявайте на сертификата в бъдещи сесии, за да предотвратите показването на това съобщение при всяка връзка с CentOS 7.
Ако това е правилно, щракнете върху бутона OK и по този начин ще бъдем свързани с CentOS 7, използвайки ProFTPD:
Увеличете
Там можем да стартираме процеса на сърфиране без проблем.
Стъпка 4
В случай, че искате да конфигурирате анонимния потребител за FTP достъп, ще създадем следния файл:
nano /etc/proftpd.confТам ще поставим следното:
[…] ### Анонимен споделен ##### Потребителски ftp Група ftp UserAlias анонимен ftp DirFakeUser на ftp DirFakeGroup на ftp MaxClients 10 DenyAllЗапазваме промените с помощта на клавишите Ctrl + O и излизаме с помощта на Ctrl + X.
Стъпка 5
Накрая рестартираме услугата:
systemctl рестартирайте proftpd.serviceВидяхме как ProFTPD е полезен инструмент за установяване на интегрирана връзка с нашите сървъри, като по този начин гарантира интегрирана и напълно гъвкава комуникация на файловете.
Не забравяйте, че ProFTPD е достъпен за различни системи, така че използването му е широко.