RHCSA Series: Uppsetning, stilling og öryggi vef- og FTP netþjóns - Hluti 9
Vefþjónn (einnig þekktur sem HTTP netþjónn) er þjónusta sem sér um efni (oftast vefsíður, en aðrar tegundir skjala líka) yfir til viðskiptavinar á neti.
FTP þjónn er eitt elsta og mest notaða auðlindin (jafnvel enn þann dag í dag) til að gera skrár aðgengilegar viðskiptavinum á netinu í þeim tilvikum þar sem engin auðkenning er nauðsynleg þar sem FTP notar notandanafn og lykilorð án dulkóðunar.
Vefþjónninn sem er fáanlegur í RHEL 7 er útgáfa 2.4 af Apache HTTP þjóninum. Hvað FTP þjóninn varðar, þá munum við nota Very Secure Ftp Demon (aka vsftpd) til að koma á tengingum sem eru tryggðar með TLS.
Í þessari grein munum við útskýra hvernig á að setja upp, stilla og tryggja vefþjón og FTP netþjón í RHEL 7.
Að setja upp Apache og FTP netþjón
Í þessari handbók munum við nota RHEL 7 netþjón með fasta IP tölu 192.168.0.18/24. Til að setja upp Apache og VSFTPD skaltu keyra eftirfarandi skipun:
# yum update && yum install httpd vsftpd
Þegar uppsetningunni lýkur verða báðar þjónusturnar óvirkar í upphafi, þannig að við þurfum að ræsa þær handvirkt í bili og gera þeim kleift að byrja sjálfkrafa með næstu ræsingu:
# systemctl start httpd # systemctl enable httpd # systemctl start vsftpd # systemctl enable vsftpd
Að auki verðum við að opna port 80 og 21, þar sem vef- og ftp-púkarnir hlusta, í sömu röð, til að leyfa aðgang að þessari þjónustu að utan:
# firewall-cmd --zone=public --add-port=80/tcp --permanent # firewall-cmd --zone=public --add-service=ftp --permanent # firewall-cmd --reload
Til að staðfesta að vefþjónninn virki rétt skaltu kveikja á vafranum þínum og slá inn IP þjónsins. Þú ættir að sjá prófunarsíðuna:
Hvað ftp-þjóninn varðar, þá verðum við að stilla hann frekar, sem við munum gera eftir eina mínútu, áður en við staðfestum að hann virki eins og búist var við.
Stilla og tryggja Apache vefþjón
Aðalstillingarskráin fyrir Apache er staðsett í /etc/httpd/conf/httpd.conf
, en hún gæti reitt sig á aðrar skrár í /etc/httpd/conf.d
.
Þó að sjálfgefna stillingin ætti að duga í flestum tilfellum, þá er það góð hugmynd að kynnast öllum tiltækum valkostum eins og lýst er í opinberu skjölunum.
Eins og alltaf skaltu taka öryggisafrit af aðalstillingarskránni áður en þú breytir henni:
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.$(date +%Y%m%d)
Opnaðu það síðan með textaritlinum sem þú vilt og leitaðu að eftirfarandi breytum:
- ServerRoot: skráin þar sem stillingar, villur og skrár þjónsins eru geymdar.
- Hlustaðu: skipar Apache að hlusta á tiltekna IP tölu og/eða tengi.
- Include: leyfir innifalið í öðrum stillingarskrám, sem verða að vera til. Annars mun þjónninn bila, öfugt við IncludeOptional tilskipunina, sem er hunsuð í hljóði ef tilgreindar stillingarskrár eru ekki til.
- Notandi og hópur: nafn notandans/hópsins sem á að keyra httpd þjónustuna sem.
- DocumentRoot: Skráin sem Apache mun þjóna skjölunum þínum úr. Sjálfgefið er að allar beiðnir séu teknar úr þessari möppu, en táknrænir tenglar og samnefni geta verið notuð til að benda á aðrar staðsetningar.
- ServerName: Þessi tilskipun setur hýsilheitið (eða IP tölu) og gátt sem þjónninn notar til að auðkenna sig.
Fyrsta öryggisráðstöfunin mun felast í því að búa til sérstakan notanda og hóp (þ.e. tecmint/tecmint) til að keyra vefþjóninn sem og breyta sjálfgefna gáttinni í hærra (9000 í þessu tilfelli):
ServerRoot "/etc/httpd" Listen 192.168.0.18:9000 User tecmint Group tecmint DocumentRoot "/var/www/html" ServerName 192.168.0.18:9000
Þú getur prófað stillingarskrána með.
# apachectl configtest
og ef allt er í lagi skaltu endurræsa vefþjóninn.
# systemctl restart httpd
og ekki gleyma að virkja nýju tengið (og slökkva á því gamla) í eldveggnum:
# firewall-cmd --zone=public --remove-port=80/tcp --permanent # firewall-cmd --zone=public --add-port=9000/tcp --permanent # firewall-cmd --reload
Athugaðu að vegna SELinux reglna geturðu aðeins notað höfnin sem skilað er af
# semanage port -l | grep -w '^http_port_t'
fyrir vefþjóninn.
Ef þú vilt nota annað tengi (þ.e. TCP tengi 8100), verður þú að bæta því við SELinux tengi fyrir httpd þjónustuna:
# semanage port -a -t http_port_t -p tcp 8100
Til að tryggja enn frekar Apache uppsetninguna þína skaltu fylgja þessum skrefum:
1. Notandinn Apache er í gangi þar sem hann ætti ekki að hafa aðgang að skel:
# usermod -s /sbin/nologin tecmint
2. Slökktu á möppuskráningu til að koma í veg fyrir að vafrinn sýni innihald möppu ef ekkert index.html er til staðar í þeirri möppu.
Breyttu /etc/httpd/conf/httpd.conf
(og stillingarskrám fyrir sýndargestgjafa, ef einhverjar eru) og vertu viss um að Options tilskipunin, bæði efst og á Directory blokkarstigum, sé stillt til Enginn:
Options None
3. Fela upplýsingar um vefþjóninn og stýrikerfið í HTTP svörum. Breyttu /etc/httpd/conf/httpd.conf
sem hér segir:
ServerTokens Prod ServerSignature Off
Nú ertu tilbúinn til að byrja að þjóna efni úr /var/www/html skránni þinni.
Stilla og tryggja FTP netþjón
Eins og í tilfelli Apache er aðalstillingarskráin fyrir Vsftpd (/etc/vsftpd/vsftpd.conf)
vel skrifuð og þó að sjálfgefna stillingin ætti að duga fyrir flest forrit ættir þú að kynnast skjöl og mannsíðuna (man vsftpd.conf)
til að reka ftp-þjóninn á skilvirkari hátt (ég get ekki lagt nógu mikla áherslu á það!).
Í okkar tilviki eru þessar tilskipanir sem notaðar eru:
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
Með því að nota chroot_local_user=JÁ
verða staðbundnir notendur (sjálfgefið) settir í chroot'ed fangelsi í heimaskrá sinni strax eftir innskráningu. Þetta þýðir að staðbundnir notendur munu ekki geta fengið aðgang að neinum skrám utan samsvarandi heimaskrár þeirra.
Að lokum, til að leyfa ftp að lesa skrár í heimaskrá notandans, stilltu eftirfarandi SELinux boolean:
# setsebool -P ftp_home_dir on
Þú getur nú tengst ftp þjóninum með því að nota biðlara eins og Filezilla:
Athugaðu að /var/log/xferlog
skráin skráir niðurhal og upphleðslu, sem eru í samræmi við skráningarskrána hér að ofan:
Samantekt
Í þessari kennslu höfum við útskýrt hvernig á að setja upp vef og ftp netþjón. Vegna víðáttu viðfangsefnisins er ekki hægt að fjalla um alla þætti þessara mála (þ.e. sýndarvefgestgjafar). Þannig mæli ég með að þú skoðir líka aðrar frábærar greinar á þessari vefsíðu um Apache.