“Squid Proxy” serwerini çäklendirilen giriş bilen sazlamak we proksi ulanmak üçin müşderileri düzmek - 5-nji bölüm


Linux gaznasynyň kepillendirilen inereneri Linux ulgamlarynda tor hyzmatlaryny gurmak, dolandyrmak we näsazlyklary düzetmek boýunça tejribeli we ulgamyň dizaýnyna, durmuşa geçirilmegine we dowam etdirilmegine gözegçilik edýän ökde hünärmendir- giň arhitektura.

Linux gaznasynyň kepillendiriş programmasy bilen tanyşdyrmak.

Bu seriýanyň 1-nji bölüminde web müşderileri üçin proksi keş keşi bolan squid-i nädip gurmalydygyny görkezdik. Entek ulgamyňyza skid gurmadyk bolsaňyz, dowam etmezden ozal şol ýazga serediň (aşakda berlen baglanyşyk).

  1. 1-nji bölüm - Ulgam hyzmatlaryny guruň we Boot-da awto başlangyjy sazlaň

Bu makalada, internete girmegi üpjün etmek ýa-da çäklendirmek üçin Squid proksi serwerini nädip sazlamalydygyny we şol proksi serwerini ulanmak üçin http müşderisini ýa-da web brauzerini nädip sazlamalydygyny size görkezeris.

Operating System :	Debian Wheezy 7.5
IP Address 	 :	192.168.0.15
Hostname	 :	dev2.gabrielcanepa.com.ar
Operating System :	Ubuntu 12.04
IP Address 	 :	192.168.0.104 
Hostname	 :	ubuntuOS.gabrielcanepa.com.ar
Operating System :	CentOS-7.0-1406
IP Address 	 :	192.168.0.17 
Hostname	 :	dev1.gabrielcanepa.com.ar

Simpleatdan çykarmaň, ýönekeý sözler bilen aýdylanda, web proksi serweri bir (ýa-da has köp) müşderi kompýuteriniň we belli bir tor çeşmesiniň arasynda araçy bolup, iň köp ýaýran internete girýär. Başga sözler bilen aýdylanda, proksi serweri bir tarapdan göni internete (ýa-da internete birikdirilen marşrutizator), beýleki tarapdan bolsa Bütindünýä Kerebine girjek müşderi kompýuterleriniň ulgamyna birikdirilýär.

Özüňizi gyzyklandyrýan bolsaňyz, näme üçin tor infrastrukturasyna başga bir programma üpjünçiligi goşmak isleýärin?

1. Squid, geljekki geçirimleri çaltlaşdyrmak üçin öňki haýyşlardan faýllary saklaýar . Mysal üçin, müşderi1 internetden CentOS-7.0-1406-x86_64-DVD.iso göçürip alýar öýdýän. müşderi2 şol bir faýla girmegi haýyş edeninde, squid faýly internetden täzeden göçürip almagyň ýerine keş keşinden geçirip biler. Çak edişiňiz ýaly, bu aýratynlygy haýsydyr bir görnüşde ýygy-ýygydan täzelenmegi talap edýän kompýuterler ulgamynda maglumat geçirişini çaltlaşdyrmak üçin ulanyp bilersiňiz.

2. ACLs ( Giriş Dolandyryş Sanawlary ) web sahypalaryna girmegi çäklendirmäge we/ýa-da ulanyjy başyna girişine gözegçilik etmäge mümkinçilik berýär. Mysal üçin, hepdäniň gününe ýa-da günüň wagtyna, ýa-da domene girip bilersiňiz.

3. Web süzgüçlerinden aýlanyp geçmek isleg bildirilýän we talap edilýän mazmuny müşderä gönüden-göni internete ibermegiň ýerine web proksi arkaly mümkin bolýar.

Mysal üçin, müşderi1 hasabyňyza girdiňiz we kompaniýanyňyzyň marşrutizatorynyň üsti bilen www.facebook.com girmek isleýärsiňiz öýdýän. Sahypa kompaniýanyňyzyň syýasatlary bilen petiklenip bilýändigi sebäpli, web proksi serwerine birigip bilersiňiz we www.facebook.com girip bilersiňiz. Uzakdaky mazmun, şereketiňiziň marşrutizatorynyň blokirleme syýasatlaryndan geçip, web proksi serweri arkaly size ýene-de gaýtarylýar.

Squid-i sazlamak - esaslar

“Squid” web proksi serweriniň giriş dolandyryş shemasy iki dürli komponentden durýar:

  1. ACL elementleri acl sözünden başlanýan we islendik haýyş amallaryna garşy synaglaryň görnüşlerini görkezýän direktiw setirlerdir.
  2. giriş sanawynyň düzgünleri bir topar ACL elementiniň yzy bilen rugsat ýa-da inkär etmek hereketinden durýar we haýsy hereketi görkezmek üçin ulanylýar ýa-da berlen haýyş üçin çäklendirme ýerine ýetirilmeli. Olar tertipde barlanýar we düzgünleriň biri gabat gelen badyna sanaw gözlegi gutarýar. Düzgüne birnäçe ACL elementi bar bolsa, bule we amal hökmünde ýerine ýetirilýär (düzgüniň gabat gelmegi üçin düzgüniň ähli ACL elementleri bir gabat gelmelidir).

Squid-iň esasy konfigurasiýa faýly /etc/squid/squid.conf bolup, bu konfigurasiýa görkezmelerini we resminamalary öz içine alýança ~ 5000 setirdir. Şol sebäpli boş ýa-da düşündirişli setirleri goýup, diňe amatlylygymyz üçin konfigurasiýa görkezmelerini öz içine alýan setirler bilen täze squid.conf faýly dörederis. Munuň üçin aşakdaky buýruklary ulanarys.

# mv /etc/squid/squid.conf /etc/squid/squid.conf.bkp

Soň bolsa,

# grep -Eiv '(^#|^$)' /etc/squid/squid.conf.bkp

OR

# grep -ve ^# -ve ^$ /etc/squid/squid.conf.bkp > /etc/squid/squid.conf

Indi täze döredilen squid.conf faýly açyň we aşakdaky ACL elementlerini we giriş sanawlaryny gözläň (ýa-da goşuň).

acl localhost src 127.0.0.1/32
acl localnet src 192.168.0.0/24

Aboveokardaky iki setir ACL elementleriniň ulanylyşynyň esasy mysalydyr.

  1. Ilkinji söz, acl , munuň ACL elementiniň görkezme setiridigini görkezýär.
  2. Ikinji söz, ýerlihost ýa-da ýerlinet , direktiwanyň adyny görkezýär.
  3. Üçünji söz, src bu ýagdaýda, müşderiniň IP adresini ýa-da salgylaryň diapazonyny görkezmek üçin ulanylýan ACL element görnüşidir. IPeke-täk öý eýesini IP (ýa-da haýsydyr bir DNS çözgüdi bar bolsa) ýa-da tor salgysy boýunça kesgitläp bilersiňiz.
  4. Dördünji parametr, direktiwanyň\ iýmitlenýän süzgüç argumentidir.

Aşakdaky iki setir giriş sanawy düzgünleri bolup, ýokarda agzalan ACL görkezmeleriniň aç-açan ýerine ýetirilişini görkezýär. Birnäçe söz bilen aýdylanda, haýyş ýerli ulgamdan ( ýerlinet ) ýa-da ýerlihost -dan gelse, http giriş berilmelidigini görkezýär. Hususan-da, rugsat berlen ýerli tor ýa-da ýerli host salgylary näme? Jogap: localhost we localnet direktiwalarynda görkezilenler.

http_access allow localnet
http_access allow localhost

Bu pursatda garaşylýan üýtgeşmeleri ulanmak üçin Squid täzeden başlap bilersiňiz.

# service squid restart 		[Upstart / sysvinit-based distributions]
# systemctl restart squid.service 	[systemd-based distributions]

soňra proksi arkaly internete aşakdaky ýaly girmek üçin ýerli ulgamda ( 192.168.0.104 ) müşderi brauzerini düzüň.

1. Düzediş menýusyna giriň we Saýlamalar opsiýasyny saýlaň.

2. Ösen , soňra Tor goýmasyna we ahyrynda Sazlamalar düwmesine basyň…

3. El bilen proksi konfigurasiýasyny barlaň we proksi serweriniň IP adresini we birikmeleri diňleýän ýerinde port giriziň.

Üns beriň, Squid 3128 portunda diňleýär, ýöne http_port bilen başlaýan giriş sanawy düzgünini redaktirläp, bu hereketi ýok edip bilersiňiz. gaýybana http_port 3128 ) okaýar.

4. Üýtgeşmeleri ulanmak üçin Bolýar basyň we gitmek gowy.

Indi ýerli ulgam müşderiňiziň proksi arkaly internete aşakdaky ýaly girýändigini tassyklap bilersiňiz.

1. Müşderiňizde terminaly açyň we ýazyň,

# ip address show eth0 | grep -Ei '(inet.*eth0)'

Bu buýruk, müşderiňiziň häzirki IP adresini görkezer (aşakdaky suratda 192.168.0.104 ).

2. Müşderiňizde islendik web sahypasyny açmak üçin web brauzerini ulanyň (bu ýagdaýda linux-console.net ).

3. Serwerde işlediň.

# tail -f /var/log/squid/access.log

we Squid üsti bilen iberilýän haýyşlaryň göni görnüşini alarsyňyz.

Müşderi tarapyndan girişi çäklendirmek

Indi ýerli toruň galan bölegine girişi dowam etdirip, şol bir müşderiniň IP adresine girmegi aç-açan inkär etmek isleýärsiňiz öýdýän.

1. Täze ACL görkezmesini aşakdaky ýaly kesgitläň (men oňa ubuntuOS diýip at goýdum, ýöne islän zadyňyzy aýdyp bilersiňiz).

acl ubuntuOS src 192.168.0.104

2. ACL görkezmesini eýýäm bar bolan ýerli internete girmek sanawyna goşuň, ýöne öňünden bellik belgisi bilen goşuň. Diýmek,\ ubuntuOS direktiwasyna gabat gelýänlerden başga, ýerli ACL direktiwasyna gabat gelýän müşderilere internete girmäge rugsat beriň.

http_access allow localnet !ubuntuOS

3. Indi üýtgeşmeleri ulanmak üçin Squid-i täzeden açmaly. Soňra haýsydyr bir sahypa göz aýlamaga synanyşsak, indi girişiň ret edilendigini göreris.

Squid-i sazlamak - Gowy düzmek

“Squid” -e domen boýunça girmegi çäklendirmek üçin aşakdaky ýaly ACL direktiwasynda dstdomain açar söz ulanarys.

acl forbidden dstdomain "/etc/squid/forbidden_domains"

Bu ýerde gadagan_domainler girmekden ýüz öwürmek isleýän domenlerimizi öz içine alýan açyk tekst faýly.

Netijede, ýokardaky görkezmä laýyk gelmeýän haýyşlar üçin “Squid” -e girmelidiris.

http_access allow localnet !forbidden

Ora-da belki, diňe şol günleriň belli bir döwründe ( 10: 00-dan 11: 00-a çenli ) diňe Duşenbe (M) -de girmäge rugsat bereris. Çarşenbe (W) , we Juma (F) .

acl someDays time MWF 10:00-11:00
http_access allow forbidden someDays
http_access deny forbidden

Otherwiseogsam, şol domenlere girmek petiklener.

“Squid” birnäçe tanamak mehanizmini goldaýar (Basic, NTLM, Digest, SPNEGO we Oauth) we kömekçiler (SQL maglumatlar bazasy, LDAP, NIS, NCSA). Bu gollanmada NCSA bilen esasy tanamaklygy ulanarys.

Aşakdaky setirleri /etc/squid/squid.conf faýlyňyza goşuň.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic credentialsttl 30 minutes
auth_param basic casesensitive on
auth_param basic realm Squid proxy-caching web server for Tecmint's LFCE series
acl ncsa proxy_auth REQUIRED
http_access allow ncsa

Bellik: CentOS 7-de squid üçin NCSA pluginini/usr/lib64/squid/basic_nsca_auth-da tapyp bilersiňiz, şonuň üçin ýokardaky setirde üýtgediň.

Birnäçe düşündiriş:

  1. Programmanyň adyny görkezmek bilen auth_param direktiwasy bilen haýsy tanamak kömekçi programmasyny ulanmalydygyny Squid-e aýtmalydyrys (iň ähtimal, /usr/lib/squid/ncsa_auth ýa-da/usr/lib64/squid/basic_nsca_auth), zerur bolsa islendik buýruk setiriniň opsiýalary (/etc/squid/passwd ).
  2. /etc/squid/passwd faýly, faýllaryň üsti bilen esasy tassyklamany dolandyrmak üçin gural htpasswd arkaly döredilýär. Squid ulanmaga rugsat beriljek ulanyjy atlarynyň sanawyny (we degişli parollary) goşmaga mümkinçilik berer.
  3. credentialsttl 30 minut her 30 minutdan ulanyjy adyňyzy we parolyňyzy girizmegi talap eder (bu wagt aralygy birnäçe sagat bilen hem kesgitläp bilersiňiz).
  4. duýgur ulanyjy atlarynyň we parollarynyň baş harpdygyny görkezýär.
  5. realm tanamak üçin gepleşik penjiresiniň tekstini görkezýär.
  6. Netijede, diňe proksi tassyklamak ( proxy_auth GEREK ) üstünlik gazanylanda rugsat berilýär.

Faýly döretmek we gacanepa ulanyjy üçin şahsyýet maglumatlaryny goşmak üçin aşakdaky buýrugy işlediň (faýl eýýäm bar bolsa -c baýdagyny aýyryň).

# htpasswd -c /etc/squid/passwd gacanepa

Müşderi maşynynda web brauzerini açyň we islendik sahypa girmäge synanyşyň.

Hakyky tassyklamak üstünlikli bolsa, talap edilýän çeşmä ygtyýar berilýär. Otherwiseogsam, giriş gadagan ediler.

Maglumat geçirişini çaltlaşdyrmak üçin Keş ulanmak

“Squid” -iň tapawutly aýratynlyklaryndan biri, şol bir müşderiniň ýa-da beýlekileriň geljekdäki isleglerini çaltlaşdyrmak üçin internetden soralan çeşmeleri keşde saklamak mümkinçiligi.

squid.conf faýlyňyza aşakdaky görkezmeleri goşuň.

cache_dir ufs /var/cache/squid 1000 16 256
maximum_object_size 100 MB
refresh_pattern .*\.(mp4|iso) 2880

Aboveokardaky görkezmelere birnäçe düşündiriş.

  1. ufs Squid saklaýyş formaty.
  2. /var/cache/squid keş keş faýllarynyň saklanjak iň ýokary derejeli katalogy. Bu katalog bar bolmaly we Squid tarapyndan ýazylyp bilner (Squid bu bukjany siziň üçin döretmez).
  3. 1000 bu bukjanyň aşagynda ulanmaly mukdar (MB-da).
  4. 16 1-nji derejeli bukjalaryň sany, 256 bolsa /var/spool/squid .
  5. max_object_size direktiwasy keşdäki rugsat edilýän obýektleriň iň uly ululygyny kesgitleýär.
    • talap edilýän zatlary keşde saklaň (2880 minut=2 gün).

Birinji we ikinji 2880 degişlilikde has pes we ýokarky çäkler, aç-açan möhleti bolmadyk obýektleriň näçe wagt hasap ediljekdigi we şeýlelik bilen keş tarapyndan hyzmat ediljekdigi, 0% obýektleriň ýaşynyň (soňky üýtgemeden bäri wagt), aç-açan möhleti bolmazdan her bir obýektiň soňky hasap ediljek göterimi.

Ilkinji müşderi ( IP 192.168.0.104 ) 2 minut 52 sekuntda 71 MB .mp4 faýly göçürip alýar.

Ikinji müşderi ( IP 192.168.0.17 ) şol bir faýly 1,4 sekuntda göçürip alýar!

Sebäbi faýl ikinji ýagdaýda gönüden-göni göçürilende, birinji ýagdaýda tapawutlylykda, Squid keş keşbinden ( TCP_HIT/200 bilen görkezilýär) hyzmat edildi. internet ( TCP_MISS/200 bilen görkezilýär).

HIT we MISS açar sözler, 200 http jogap kody, faýlyň iki gezek üstünlikli hyzmat edilendigini görkezýär, ýöne keş keşi HIT we degişlilikde sypdyrdy. Haçan-da haýsydyr bir sebäbe görä keş tarapyndan hyzmat edilip bilinmese, Squid ony internetden hyzmat etmäge synanyşýar.

Netije

Bu makalada Squid web keş keş proksi nädip gurmalydygyny ara alyp maslahatlaşdyk. Proksi serwerini saýlanan kriteriýalary ulanyp mazmuny süzmek, şeýle hem gijä galmagy azaltmak üçin ulanyp bilersiňiz (sebäbi birmeňzeş gelýän haýyşlar, mazmuna hyzmat edýän web serwerine garanyňda müşderä has ýakyn bolan keşden iberilýär, netijede has çalt bolýar) maglumat geçirişleri) we tor trafigi (ulanylýan geçirijilik giňligini azaltmak, traffik üçin pul töleýän bolsaňyz pul tygşytlaýar).

Has giňişleýin resminamalar üçin “Squid” web sahypasyna ýüz tutup bilersiňiz (wikini hem barlaň), ýöne soraglaryňyz ýa-da teswirleriňiz bar bolsa biziň bilen habarlaşmakdan çekinmäň. Sizden eşidenimizden has hoşal bolarys!


Rightshli hukuklar goralandyr. © Linux-Console.net • 2019-2024