Jara RHCSA: Fifi, Ṣiṣeto ati Ifipamọ Ayelujara ati Olupin FTP - Apá 9


Olupin wẹẹbu kan (ti a tun mọ ni olupin HTTP) jẹ iṣẹ ti o mu akoonu (awọn oju-iwe wẹẹbu ti o wọpọ julọ, ṣugbọn awọn iru awọn iwe miiran bakanna) si alabara kan ninu nẹtiwọọki kan.

Olupin FTP jẹ ọkan ninu awọn ohun elo atijọ ati awọn orisun ti a lo julọ (paapaa di oni) lati ṣe awọn faili wa fun awọn alabara lori nẹtiwọọki ninu awọn ọran nibiti ko si ijẹrisi jẹ pataki nitori FTP nlo orukọ olumulo ati ọrọ igbaniwọle laisi fifi ẹnọ kọ nkan.

Olupin wẹẹbu ti o wa ni RHEL 7 jẹ ẹya 2.4 ti Apache HTTP Server. Bi o ṣe jẹ fun olupin FTP, a yoo lo Gan Secure Ftp Daemon (aka vsftpd) lati fi idi awọn isopọ ti o ni ifipamo nipasẹ TLS.

Ninu nkan yii a yoo ṣalaye bi o ṣe le fi sori ẹrọ, tunto, ati aabo olupin ayelujara kan ati olupin FTP kan ni RHEL 7.

Fifi Afun ati Olupin FTP sii

Ninu itọsọna yii a yoo lo olupin RHEL 7 pẹlu adirẹsi IP aimi ti 192.168.0.18/24. Lati fi Apache ati VSFTPD sori ẹrọ, ṣiṣe aṣẹ wọnyi:

# yum update && yum install httpd vsftpd

Nigbati fifi sori ba pari, awọn iṣẹ mejeeji yoo wa ni alaabo ni ibẹrẹ, nitorinaa a nilo lati bẹrẹ wọn pẹlu ọwọ fun akoko naa ki o jẹ ki wọn bẹrẹ ni ibẹrẹ laifọwọyi pẹlu bata ti n bọ:

# systemctl start httpd
# systemctl enable httpd
# systemctl start vsftpd
# systemctl enable vsftpd

Ni afikun, a ni lati ṣii awọn ibudo 80 ati 21, nibiti oju opo wẹẹbu ati awọn daponi ftp n tẹtisi, lẹsẹsẹ, lati gba aaye si awọn iṣẹ wọnyẹn lati ita:

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-service=ftp --permanent
# firewall-cmd --reload

Lati jẹrisi pe olupin ayelujara n ṣiṣẹ daradara, ṣe ina aṣawakiri rẹ ki o tẹ IP ti olupin naa sii. O yẹ ki o wo oju-iwe idanwo naa:

Bi fun olupin ftp, a yoo ni lati tunto rẹ siwaju, eyiti a yoo ṣe ni iṣẹju kan, ṣaaju ki o to jẹrisi pe o n ṣiṣẹ bi o ti ṣe yẹ.

Tito leto ati ni ifipamo Server Web Apache

Faili iṣeto akọkọ fun Apache wa ni /etc/httpd/conf/httpd.conf , ṣugbọn o le gbẹkẹle awọn faili miiran ti o wa ninu /etc/httpd/conf.d

Biotilẹjẹpe iṣeto aiyipada yẹ ki o to fun ọpọlọpọ awọn ọran, o jẹ imọran ti o dara lati faramọ pẹlu gbogbo awọn aṣayan to wa bi a ti ṣalaye ninu iwe aṣẹ osise.

Gẹgẹbi igbagbogbo, ṣe daakọ afẹyinti fun faili iṣeto akọkọ ṣaaju ṣiṣatunkọ rẹ:

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.$(date +%Y%m%d)

Lẹhinna ṣii pẹlu olootu ọrọ ti o fẹ julọ ki o wa fun awọn oniyipada atẹle:

  1. ServerRoot: itọsọna naa nibiti a ti tọju iṣeto ni olupin, aṣiṣe, ati awọn faili log.
  2. Tẹtisi: kọ Apache lati tẹtisi lori adirẹsi IP kan pato ati/tabi awọn ibudo.
  3. Ni: ngbanilaaye ifisi awọn faili iṣeto miiran, eyiti o gbọdọ wa. Bibẹẹkọ, olupin naa yoo kuna, ni ilodi si itọsọna IncludeOptional, eyiti o kọju si ni idakẹjẹ ti awọn faili iṣeto pàtó kan ko ba si.
  4. Olumulo ati Ẹgbẹ: orukọ olumulo/ẹgbẹ lati ṣiṣẹ iṣẹ httpd bi.
  5. gbongbo: Iwe itọsọna eyiti Apache yoo ṣe fun awọn iwe aṣẹ rẹ. Nipa aiyipada, gbogbo awọn ibeere ni a gba lati itọsọna yii, ṣugbọn awọn ọna asopọ aami ati awọn aliasi le ṣee lo lati tọka si awọn ipo miiran.
  6. Orukọ olupin: itọsọna yii ṣeto orukọ olupin (tabi adiresi IP) ati ibudo ti olupin nlo lati ṣe idanimọ ararẹ.

Iwọn aabo akọkọ yoo ni ṣiṣẹda olumulo ifiṣootọ ati ẹgbẹ (ie tecmint/tecmint) lati ṣiṣẹ olupin wẹẹbu bi ati yiyipada ibudo aiyipada si ọkan ti o ga julọ (9000 ninu ọran yii):

ServerRoot "/etc/httpd"
Listen 192.168.0.18:9000
User tecmint
Group tecmint
DocumentRoot "/var/www/html"
ServerName 192.168.0.18:9000

O le idanwo faili iṣeto pẹlu.

# apachectl configtest

ati pe ohun gbogbo ba dara, lẹhinna tun bẹrẹ olupin ayelujara.

# systemctl restart httpd

maṣe gbagbe lati mu ibudo tuntun naa ṣiṣẹ (ati mu eyi atijọ) ni ogiriina:

# firewall-cmd --zone=public --remove-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=9000/tcp --permanent
# firewall-cmd --reload

Akiyesi pe, nitori awọn eto imulo SELinux, o le lo awọn ibudo nikan ti o pada nipasẹ

# semanage port -l | grep -w '^http_port_t'

fun olupin ayelujara.

Ti o ba fẹ lo ibudo miiran (bii TCP ibudo 8100), iwọ yoo ni lati ṣafikun rẹ si aaye ibudo SELinux fun iṣẹ httpd:

# semanage port -a -t http_port_t -p tcp 8100

Lati ni aabo siwaju si fifi sori Apache rẹ, tẹle awọn igbesẹ wọnyi:

1. Apache olumulo n ṣiṣẹ bi ko yẹ ki o ni iraye si ikarahun kan:

# usermod -s /sbin/nologin tecmint

2. Mu atokọ ilana ṣiṣẹ lati le ṣe idiwọ aṣawakiri lati ṣe afihan awọn akoonu ti itọsọna kan ti ko ba si itọka atọka.html ti o wa ninu itọsọna yẹn.

Ṣatunkọ /etc/httpd/conf/httpd.conf (ati awọn faili iṣeto fun awọn ọmọ ogun foju, ti o ba jẹ eyikeyi) ati rii daju pe itọsọna Awọn aṣayan, mejeeji ni oke ati ni awọn ipele iwe Atọka, ti ṣeto si Ko si:

Options None

3. Tọju alaye nipa olupin ayelujara ati ẹrọ iṣiṣẹ ni awọn idahun HTTP. Ṣatunkọ /etc/httpd/conf/httpd.conf bi atẹle:

ServerTokens Prod 
ServerSignature Off

Bayi o ti ṣetan lati bẹrẹ iṣẹ akoonu lati itọsọna/var/www/html rẹ.

Tito leto ati ni ifipamo Server FTP

Gẹgẹbi ọran Apache, faili iṣeto akọkọ fun Vsftpd (/etc/vsftpd/vsftpd.conf) ti ṣalaye daradara ati pe iṣeto aiyipada yẹ ki o to fun ọpọlọpọ awọn ohun elo, o yẹ ki o faramọ pẹlu iwe ati oju-iwe eniyan (eniyan vsftpd.conf) lati le ṣiṣẹ olupin olupin ftp daradara diẹ sii (Emi ko le tẹnumọ iyẹn to!).

Ninu ọran wa, iwọnyi ni awọn itọsọna ti a lo:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

Nipa lilo chroot_local_user = BẸẸNI , awọn olumulo agbegbe yoo wa (nipasẹ aiyipada) sinu tubu chroot’ed ninu itọsọna ile wọn ni kete lẹhin ti o wọle. Eyi tumọ si pe awọn olumulo agbegbe kii yoo ni anfani lati wọle si eyikeyi awọn faili ni ita awọn ilana ilana ile ti o baamu.

Lakotan, lati gba ftp laaye lati ka awọn faili ninu itọsọna ile olumulo, ṣeto atẹle SELinux boolean:

# setsebool -P ftp_home_dir on

O le ni bayi sopọ si olupin ftp nipa lilo alabara bii Filezilla:

Akiyesi pe awọn igbasilẹ igbasilẹ /var/log/xferlog ati igbasilẹ, eyiti o ṣe pẹlu atokọ ilana atokọ ti o wa loke:

Akopọ

Ninu ẹkọ yii a ti ṣalaye bii o ṣe le ṣeto oju opo wẹẹbu kan ati olupin ftp kan. Nitori titobi ọrọ naa, ko ṣee ṣe lati bo gbogbo awọn abala ti awọn akọle wọnyi (bii awọn agbalejo wẹẹbu foju). Nitorinaa, Mo ṣeduro pe ki o tun ṣayẹwo awọn nkan miiran ti o dara julọ ni oju opo wẹẹbu yii nipa Apache.