RHCSA seriýasy: Web we FTP serwerini gurmak, düzmek we goramak - 9-njy bölüm


Web serweri (HTTP serweri hem diýilýär) mazmuny (köplenç web sahypalary, ýöne beýleki resminamalar görnüşleri) bir tordaky müşderä iberýän hyzmatdyr.

FTP serweri, torda müşderilere faýllary elýeterli etmek üçin iň gadymy we iň köp ulanylýan çeşmelerden biridir (FTP ulanyjy adyny we parolyny şifrlemezden ulanýar.

RHEL 7-de bar bolan web serweri, Apache HTTP Serweriniň 2.4 wersiýasy. FTP serweri barada aýdylanda bolsa, TLS bilen üpjün edilen baglanyşyklary gurmak üçin Örän Howpsuz Ftp Daemon (aka vsftpd) ulanarys.

Bu makalada RHEL 7-de web serwerini we FTP serwerini nädip gurmalydygyny, sazlamalydygyny we howpsuzlygyny düşündireris.

Apache we FTP serwerini gurmak

Bu gollanmada 192.168.0.18/24 statiki IP adresi bolan RHEL 7 serwerini ulanarys. Apache we VSFTPD gurmak üçin aşakdaky buýrugy işlediň:

# yum update && yum install httpd vsftpd

Gurmak tamamlanandan soň, iki hyzmat hem başda ýapylar, şonuň üçin olary häzirlikçe el bilen başlamaly we indiki bootdan awtomatiki başlamaga mümkinçilik bermeli:

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

Mundan başga-da, bu hyzmatlara daşardan girmäge rugsat bermek üçin web we ftp daemonlarynyň degişlilikde diňleýän 80 we 21 portlaryny açmalydyrys:

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

Web serweriniň dogry işleýändigini tassyklamak üçin brauzeriňizi ýakyň we serweriň IP-sini giriziň. Synag sahypasyny görmeli:

Ftp serweri barada aýdylanda bolsa, garaşylşy ýaly işleýändigini tassyklamazdan ozal bir minutdan soň ýerine ýetirmeli bolarys.

Apache web serwerini sazlamak we goramak

Apache üçin esasy konfigurasiýa faýly /etc/httpd/conf/httpd.conf ýerleşýär, ýöne /etc/httpd/conf.d içindäki beýleki faýllara bil baglap biler. .

Adaty ýagdaýdaky konfigurasiýa köp halatlarda ýeterlik bolsa-da, resmi resminamalarda görkezilişi ýaly ähli bar bolan wariantlar bilen tanyşmak gowy pikirdir.

Hemişe bolşy ýaly, redaktirlemezden ozal esasy konfigurasiýa faýlynyň ätiýaçlyk nusgasyny ediň:

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

Soňra islän tekst redaktoryňyz bilen açyň we aşakdaky üýtgeýjileri gözläň:

  1. ServerRoot: serweriň konfigurasiýasy, ýalňyşlygy we gündelik faýllary saklanýan katalog.
  2. Diňläň: Apache-e belli bir IP adresi we/ýa-da portlary diňlemegi tabşyrýar.
  3. Goşuň: bar bolmaly beýleki konfigurasiýa faýllaryny goşmaga mümkinçilik berýär. Otherwiseogsam, görkezilen konfigurasiýa faýllary ýok bolsa sessiz-üýnsüz hasaba alynýan IncludeOptional direktiwasyndan tapawutlylykda serwer şowsuz bolar.
  4. Ulanyjy we topar: httpd hyzmatyny ýerine ýetirmek üçin ulanyjynyň/toparyň ady.
  5. DocumentRoot: Apache resminamalaryňyza hyzmat etjek katalog. Düzgüne görä, ähli haýyşlar bu katalogdan alynýar, ýöne simwoliki baglanyşyklar we lakamlar beýleki ýerlere görkezmek üçin ulanylyp bilner.
  6. ServerName: bu direktiwanyň ady (ýa-da IP adresi) we serweriň özüni tanamak üçin ulanýan porty kesgitlenýär.

Ilkinji howpsuzlyk çäresi, web serwerini işletmek we deslapky porty has ýokary derejä üýtgetmek üçin ýörite ulanyjy we topar döretmekden (ýagny tecmint/tecmint) ybarat bolar: bu ýagdaýda 9000):

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

Sazlama faýly bilen synap bilersiňiz.

# apachectl configtest

hemme zat gowy bolsa, web serweri täzeden açyň.

# systemctl restart httpd

diwar diwaryndaky täze porty (we köne porty öçürmegi) ýatdan çykarmaň:

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

SELinux syýasaty sebäpli diňe yzyna gaýdyp gelen portlary ulanyp bilersiňiz

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

web serweri üçin.

Başga bir porty (meselem, TCP port 8100) ulanmak isleseňiz, ony httpd hyzmaty üçin SELinux port kontekstine goşmaly bolarsyňyz:

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

Apache gurnamagyňyzy has ygtybarly etmek üçin şu ädimleri ýerine ýetiriň:

1. “Apache” ulanyjysy gabyga girmeli däl ýaly işleýär:

# usermod -s /sbin/nologin tecmint

2. Şol bukjada index.html ýok bolsa, brauzeriň bukjanyň mazmunyny görkezmeginiň öňüni almak üçin katalog sanawyny öçüriň.

/etc/httpd/conf/httpd.conf redaktirläň (we wirtual hostlar üçin konfigurasiýa faýllary bar bolsa) we ýokarda-da, Directory blok derejesinde-de Görnüşler görkezmesiniň kesgitlenendigine göz ýetiriň. Hiç kime:

Options None

3. Web serweri we operasiýa ulgamy barada maglumatlary HTTP jogaplarynda gizläň. /etc/httpd/conf/httpd.conf aşakdaky ýaly redaktirläň:

ServerTokens Prod 
ServerSignature Off

Indi/var/www/html katalogyňyzdan mazmuna hyzmat edip başlamaga taýyn.

FTP serwerini sazlamak we goramak

Apache-de bolşy ýaly, Vsftpd (/etc/vsftpd/vsftpd.conf) üçin esasy konfigurasiýa faýly gowy düşündirilýär we amaly programmalaryň köpüsi üçin deslapky konfigurasiýa ýeterlik bolsa-da, siz bilen tanyş bolmaly ftp serwerini has netijeli işlemek üçin resminamalar we adam sahypasy (man vsftpd.conf) (ýeterlik derejede belläp bilemok!).

Biziň ýagdaýymyzda, ulanylýan görkezmeler:

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

chroot_local_user=YES ulanmak bilen, ýerli ulanyjylar girişden soň öz öý bukjasyndaky hroot türmesine ýerleşdiriler. Bu, ýerli ulanyjylaryň degişli öý kataloglaryndan başga haýsydyr bir faýllara girip bilmejekdigini aňladýar.

Netijede, ftp-iň ulanyjynyň öý bukjasyndaky faýllary okamagyna rugsat bermek üçin aşakdaky SELinux booleany düzüň:

# setsebool -P ftp_home_dir on

Indi “Filezilla” ýaly müşderini ulanyp, ftp serwerine birigip bilersiňiz:

/var/log/xferlog gündeligiň ýokardaky katalog sanawyna laýyk gelýän ýüklemeler we ýüklemeler ýazgylaryny belläň:

Gysgaça mazmun

Bu gollanmada web we ftp serwerini nädip gurmalydygyny düşündirdik. Temanyň giňligi sebäpli bu mowzuklaryň ähli taraplaryny (meselem, wirtual web hostlary) öz içine alyp bolmaýar. Şeýlelik bilen, bu web sahypasyndaky Apache hakda beýleki ajaýyp makalalary hem barlamagy maslahat berýärin.