Serje RHCSA: Installazzjoni, Konfigurazzjoni u Żgurar ta' Server tal-Web u FTP - Parti 9


Web server (magħruf ukoll bħala server HTTP) huwa servizz li jittratta l-kontenut (l-aktar komuni paġni tal-web, iżda tipi oħra ta’ dokumenti wkoll) lil klijent f’netwerk.

Server FTP huwa wieħed mill-eqdem u l-aktar riżorsi użati b'mod komuni (anke sal-lum) biex jagħmlu fajls disponibbli għall-klijenti fuq netwerk f'każijiet fejn l-ebda awtentikazzjoni hija meħtieġa peress li FTP juża username u password mingħajr encryption.

Is-server tal-web disponibbli f'RHEL 7 huwa l-verżjoni 2.4 tal-Apache HTTP Server. Fir-rigward tas-server FTP, se nużaw il-Very Secure Ftp Daemon (magħruf ukoll bħala vsftpd) biex nistabbilixxu konnessjonijiet assigurati minn TLS.

F'dan l-artikolu ser nispjegaw kif tinstalla, tikkonfigura u tiżgura web server u FTP server f'RHEL 7.

Installazzjoni ta' Apache u FTP Server

F'din il-gwida se nużaw server RHEL 7 b'indirizz IP statiku ta '192.168.0.18/24. Biex tinstalla Apache u VSFTPD, mexxi l-kmand li ġej:

# yum update && yum install httpd vsftpd

Meta titlesta l-installazzjoni, iż-żewġ servizzi se jkunu diżattivati inizjalment, għalhekk għandna bżonn nibdewhom manwalment għalissa u nħalluhom jibdew awtomatikament jibdew bil-boot li jmiss:

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

Barra minn hekk, irridu niftħu l-portijiet 80 u 21, fejn id-daemons tal-web u tal-ftp qed jisimgħu, rispettivament, sabiex jippermettu aċċess għal dawk is-servizzi minn barra:

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

Biex tikkonferma li s-server tal-web qed jaħdem sew, qabbad il-browser tiegħek u daħħal l-IP tas-server. Għandek tara l-paġna tat-test:

Fir-rigward tas-server ftp, ikollna nikkonfigurawh aktar, li nagħmlu f'minuta, qabel nikkonfermaw li qed jaħdem kif mistenni.

Konfigurazzjoni u Żgurar ta' Apache Web Server

Il-fajl tal-konfigurazzjoni prinċipali għal Apache jinsab f'/etc/httpd/conf/httpd.conf, iżda jista' jiddependi fuq fajls oħra preżenti ġewwa /etc/httpd/conf.d.

Għalkemm il-konfigurazzjoni default għandha tkun biżżejjed għal ħafna każijiet, hija idea tajba li ssir familjari mal-għażliet kollha disponibbli kif deskritt fid-dokumentazzjoni uffiċjali.

Bħal dejjem, agħmel kopja ta' backup tal-fajl tal-konfigurazzjoni prinċipali qabel ma teditjah:

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

Imbagħad iftaħ bl-editur tat-test preferut tiegħek u fittex il-varjabbli li ġejjin:

  1. ServerRoot: id-direttorju fejn jinżammu l-konfigurazzjoni, l-iżball, u l-fajls log tas-server.
  2. Isma': jagħti struzzjonijiet lil Apache biex jisma' fuq indirizz IP u/jew portijiet speċifiċi.
  3. Inkludi: tippermetti l-inklużjoni ta' fajls ta' konfigurazzjoni oħra, li jridu jeżistu. Inkella, is-server se jfalli, għall-kuntrarju tad-direttiva IncludeOptional, li hija injorata skiet jekk il-fajls tal-konfigurazzjoni speċifikati ma jeżistux.
  4. Utent u Grupp: l-isem tal-utent/grupp biex iħaddem is-servizz httpd bħala.
  5. DocumentRoot: Id-direttorju li minnu Apache se jservi d-dokumenti tiegħek. B'mod awtomatiku, it-talbiet kollha jittieħdu minn dan id-direttorju, iżda links simboliċi u psewdonimi jistgħu jintużaw biex jindikaw postijiet oħra.
  6. ServerName: din id-direttiva tistabbilixxi l-hostname (jew l-indirizz IP) u l-port li s-server juża biex jidentifika lilu nnifsu.

L-ewwel miżura ta’ sigurtà se tikkonsisti fil-ħolqien ta’ utent u grupp iddedikat (jiġifieri tecmint/tecmint) biex iħaddem is-server tal-web kif u jibdel il-port default għal wieħed ogħla (9000 f’dan il-każ):

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

Tista 'tittestja l-fajl tal-konfigurazzjoni bi.

# apachectl configtest

u jekk kollox huwa OK, imbagħad terġa 'tibda l-web server.

# systemctl restart httpd

u tinsiex li tattiva l-port il-ġdid (u tiddiżattiva l-qadim) fil-firewall:

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

Innota li, minħabba l-politiki SELinux, tista 'tuża biss il-portijiet ritornati minn

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

għas-server tal-web.

Jekk trid tuża port ieħor (jiġifieri port TCP 8100), ikollok iżżidha mal-kuntest tal-port SELinux għas-servizz httpd:

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

Biex tiżgura aktar l-installazzjoni Apache tiegħek, segwi dawn il-passi:

1. L-utent Apache qed jaħdem kif m'għandux ikollu aċċess għal qoxra:

# usermod -s /sbin/nologin tecmint

2. Iddiżattiva l-elenkar tad-direttorju sabiex tevita li l-browser juri l-kontenut ta' direttorju jekk ma jkunx hemm index.html preżenti f'dak id-direttorju.

Editja /etc/httpd/conf/httpd.conf (u l-fajls tal-konfigurazzjoni għall-hosts virtwali, jekk ikun hemm) u kun żgur li d-direttiva tal-Għażliet, kemm fil-livelli ta’ fuq kif ukoll fil-blokk tad-Direttorju, tkun issettjata lil Xejn:

Options None

3. Aħbi l-informazzjoni dwar is-server tal-web u s-sistema operattiva fit-tweġibiet HTTP. Editja /etc/httpd/conf/httpd.conf kif ġej:

ServerTokens Prod 
ServerSignature Off

Issa inti lest biex tibda sservi kontenut mid-direttorju /var/www/html tiegħek.

Konfigurazzjoni u Sigurtà FTP Server

Bħal fil-każ ta' Apache, il-fajl tal-konfigurazzjoni prinċipali għal Vsftpd (/etc/vsftpd/vsftpd.conf) huwa kkummentat tajjeb u filwaqt li l-konfigurazzjoni default għandha tkun biżżejjed għal ħafna applikazzjonijiet, għandek issir familjari mal- dokumentazzjoni u l-paġna man (man vsftpd.conf) sabiex topera s-server ftp b'mod aktar effiċjenti (ma nistax nenfasizza dan biżżejjed!).

Fil-każ tagħna, dawn huma d-direttivi użati:

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

Billi tuża chroot_local_user=YES, l-utenti lokali se jitqiegħdu (b'mod awtomatiku) f'ħabs chroot'ed fid-direttorju tad-dar tagħhom eżatt wara l-login. Dan ifisser li l-utenti lokali mhux se jkunu jistgħu jaċċessaw l-ebda fajl barra d-direttorji tad-dar korrispondenti tagħhom.

Fl-aħħarnett, biex tippermetti lil ftp jaqra fajls fid-direttorju tad-dar tal-utent, issettja l-boolean SELinux li ġej:

# setsebool -P ftp_home_dir on

Issa tista' tikkonnettja mas-server ftp billi tuża klijent bħal Filezilla:

Innota li l-ġurnal /var/log/xferlog jirreġistra t-tniżżil u l-uploads, li jaqblu mal-lista tad-direttorju ta’ hawn fuq:

Sommarju

F'dan it-tutorja spjegajna kif twaqqaf web u server ftp. Minħabba l-kobor tas-suġġett, mhuwiex possibbli li jiġu koperti l-aspetti kollha ta 'dawn is-suġġetti (jiġifieri web hosts virtwali). Għalhekk, nirrakkomanda li tiċċekkja wkoll artikoli eċċellenti oħra f'din il-websajt dwar Apache.