Usoro RHCSA: Ịwụnye, Ịhazi na Chekwa Weebụ na FTP Sava - Nkebi 9


Sava webụ (nke a makwaara dị ka ihe nkesa HTTP) bụ ọrụ na-ejikwa ọdịnaya (nke na-abụkarị ibe weebụ, mana ụdị akwụkwọ ndị ọzọ) nyefe onye ahịa na netwọk.

Ihe nkesa FTP bụ otu n'ime akụrụngwa kachasị ochie na nke a na-ejikarị eme ihe (ọbụlagodi taa) iji mee ka faịlụ dịrị ndị ahịa na netwọk n'ọnọdụ ebe ọ nweghị nkwenye dị mkpa ebe FTP na-eji aha njirimara na paswọọdụ na-enweghị ezoro ezo.

Sava webụ dị na RHEL 7 bụ ụdị 2.4 nke sava HTTP Apache. Maka ihe nkesa FTP, anyị ga-eji ezigbo Ftp Daemon (aka vsftpd) iji guzobe njikọ nke TLS chekwara.

N'isiokwu a, anyị ga-akọwa otu esi etinye, hazie, na chekwaa sava weebụ na sava FTP na RHEL 7.

Ịwụnye Apache na FTP Server

N'ime ntuziaka a, anyị ga-eji ihe nkesa RHEL 7 nwere adreesị IP nke 192.168.0.18/24. Iji wụnye Apache na VSFTPD, mee iwu a:

# yum update && yum install httpd vsftpd

Mgbe echichi ahụ mechara, ọrụ abụọ ahụ ga-enwe nkwarụ na mbụ, yabụ anyị kwesịrị iji aka bido ha maka oge a wee mee ka ha nwee ike ịmalite na-akpaghị aka na-eji akpụkpọ ụkwụ na-esote:

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

Na mgbakwunye, anyị ga-emepe ọdụ ụgbọ mmiri 80 na 21, ebe web na ftp daemons na-ege ntị, n'otu n'otu, iji kwe ka ịnweta ọrụ ndị ahụ site na mpụga:

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

Iji gosi na sava weebụ na-arụ ọrụ nke ọma, gbaa ihe nchọgharị gị ọkụ wee tinye IP nke ihe nkesa ahụ. Ị ga-ahụ ibe ule:

Banyere ihe nkesa ftp, anyị ga-ahazi ya n'ihu, nke anyị ga-eme na nkeji, tupu anyị ekwenye na ọ na-arụ ọrụ dị ka a tụrụ anya ya.

Na-ahazi ma na-echekwa sava weebụ Apache

Faịlụ nhazi isi maka Apache dị na /etc/httpd/conf/httpd.conf, mana ọ nwere ike ịdabere na faịlụ ndị ọzọ dị n'ime /etc/httpd/conf.d >.

Ọ bụ ezie na nhazi ndabara kwesịrị ezuru maka ọtụtụ ikpe, ọ dị mma ịmara nhọrọ niile dị ka akọwara na akwụkwọ gọọmentị.

Dị ka oge niile, mee nnomi ndabere nke faịlụ nhazi isi tupu ị dezie ya:

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

Mepee ya site na onye ndezi ederede masịrị gị wee chọọ mgbanwe ndị a:

  1. ServerRoot: akwụkwọ ndekọ aha ebe a na-edobe nhazi, njehie na faịlụ ndekọ ihe nkesa.
  2. Ntị: na-agwa Apache ka ọ gee ntị na adreesị IP na/ma ọ bụ ọdụ ụgbọ mmiri.
  3. Gụnye: na-enye ohere ntinye nke faịlụ nhazi ndị ọzọ, nke ga-adịrịrị. Ma ọ bụghị ya, ihe nkesa ahụ ga-ada, n'adịghị ka ntuziaka gụnyere nhọrọ nhọrọ, nke a na-eleghara anya ma ọ bụrụ na faịlụ nhazi akọwapụtara adịghị.
  4. Onye ọrụ na otu: aha onye ọrụ/otu iji rụọ ọrụ httpd dị ka.
  5. DocumentRoot: Akwụkwọ ndekọ aha Apache ga-esi na ya na-enye akwụkwọ gị. Na ndabara, a na-ewepụ arịrịọ niile na ndekọ aha a, mana enwere ike iji njikọ na utu aha atụtụ aka na ebe ndị ọzọ.
  6. Aha sava: ntuziaka a na-ahazi aha nnabata (ma ọ bụ adreesị IP) yana ọdụ ụgbọ mmiri nke sava na-eji amata onwe ya.

Usoro nchekwa nke mbụ ga-agụnye ịmepụta onye ọrụ raara onwe ya nye na otu (ya bụ tecmint/tecmint) iji mee sava weebụ dị ka na ịgbanwe ọdụ ụgbọ mmiri ndabara na nke dị elu (9000 na nke a):

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

Ị nwere ike iji nwalee faịlụ nhazi ahụ.

# apachectl configtest

ma ọ bụrụ na ihe niile dị mma, malitegharịa sava weebụ.

# systemctl restart httpd

ma echefukwala ime ka ọdụ ụgbọ mmiri ọhụrụ ahụ (ma gbanyụọ nke ochie) na firewall:

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

Rịba ama na, n'ihi amụma SELinux, ị nwere ike iji naanị ọdụ ụgbọ mmiri ndị eweghachiri

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

maka sava weebụ.

Ọ bụrụ na ịchọrọ iji ọdụ ụgbọ mmiri ọzọ (ya bụ, ọdụ ụgbọ mmiri TCP 8100), ị ga-etinye ya na ọdụ ụgbọ mmiri SELinux maka ọrụ httpd:

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

Iji chekwaa nrụnye Apache gị, soro usoro ndị a:

1. Apache onye ọrụ na-agba ọsọ dịka ekwesịghị ịnweta shei:

# usermod -s /sbin/nologin tecmint

2. Gbanyụọ ndekọ ndekọ aha iji gbochie ihe nchọgharị ahụ igosipụta ọdịnaya nke ndekọ ma ọ bụrụ na enweghị index.html dị na ndekọ ahụ.

Dezie /etc/httpd/conf/httpd.conf (na faịlụ nhazi maka ndị ọbịa mebere, ọ bụrụ na ọ bụla) wee hụ na edobere ntuziaka nhọrọ, ma n'elu ma na ọkwa ngọngọ ndekọ. Ọ dịghị nke:

Options None

3. Zoo ozi gbasara sava weebụ na sistemụ arụmọrụ na nzaghachi HTTP. Dezie /etc/httpd/conf/httpd.conf dị ka ndị a:

ServerTokens Prod 
ServerSignature Off

Ugbu a ị dịla njikere ịmalite ịnye ọdịnaya site na ndekọ /var/www/html gị.

Ịhazi ma chekwaa sava FTP

Dị ka ọ dị n'ihe banyere Apache, faịlụ nhazi bụ isi maka Vsftpd (/etc/vsftpd/vsftpd.conf) ka ekwuputara nke ọma na ebe nhazi ndabara kwesịrị ezuru maka ọtụtụ ngwa, ị ga-amata nke ọma akwụkwọ na ibe nwoke (nwoke vsftpd.conf) iji rụọ ọrụ nkesa ftp nke ọma (enweghị m ike imesi ya ike na ezuola!).

N'ọnọdụ anyị, ndị a bụ ntuziaka ndị a na-eji:

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

Site na iji chroot_local_user=YES, a ga-edobe ndị ọrụ mpaghara n'ụlọ nga chroot'ed na ndekọ ụlọ ha ozugbo nbanye. Nke a pụtara na ndị ọrụ mpaghara agaghị enwe ike ịnweta faịlụ ọ bụla na-abụghị akwụkwọ ndekọ aha ụlọ ha kwekọrọ.

N'ikpeazụ, iji kwe ka ftp gụọ faịlụ na ndekọ ụlọ onye ọrụ, debe SELinux boolean ndị a:

# setsebool -P ftp_home_dir on

Ị nwere ike jikọọ na sava ftp ugbu a site na iji onye ahịa dị ka Filezilla:

Rịba ama na ndekọ /var/log/xferlog na-edekọ nbudata na bulite, nke kwekọrọ na ndepụta ndekọ aha dị n'elu:

Nchịkọta

N'ime nkuzi a, anyị akọwala otu esi edozi webụ na sava ftp. N'ihi nnukwu isiokwu a, ọ gaghị ekwe omume ikpuchi akụkụ niile nke isiokwu ndị a (ya bụ, ndị ọbịa webụ mebere). Ya mere, ana m akwado ka ị lelee akụkọ ndị ọzọ magburu onwe ya na webụsaịtị a gbasara Apache.