![Joker Malware gedetecteerd: verwijder deze Android-apps nu](/f/32863dce795051859e94de92ca816f12.jpg?width=100&height=100)
EEN Linux Foundation gecertificeerde ingenieuris een ervaren professional die de expertise heeft om netwerkservices in Linux te installeren, beheren en problemen op te lossen systemen en is verantwoordelijk voor het ontwerp, de implementatie en het doorlopende onderhoud van de systeembrede architectuur.
Introductie van het Linux Foundation-certificeringsprogramma.
In Deel 1 van deze serie hebben we laten zien hoe je squid installeert, een proxy-cachingserver voor webclients. Raadpleeg dat bericht (link hieronder) voordat u doorgaat als u squid nog niet op uw systeem hebt geïnstalleerd.
In dit artikel laten we u zien hoe u de Squid-proxyserver configureert om internettoegang te verlenen of te beperken, en hoe u een http-client of webbrowser configureert om die proxyserver te gebruiken.
Besturingssysteem: Debian Wheezy 7.5. IP-adres: 192.168.0.15. Hostnaam: dev2.gabrielcanepa.com.ar.
Besturingssysteem: Ubuntu 12.04. IP-adres: 192.168.0.104 Hostnaam: ubuntuOS.gabrielcanepa.com.ar.
Besturingssysteem: CentOS-7.0-1406. IP-adres: 192.168.0.17 Hostnaam: dev1.gabrielcanepa.com.ar.
Laten we niet vergeten dat, in eenvoudige bewoordingen, een webproxyserver een intermediair is tussen een (of meer) clientcomputers en een bepaalde netwerkbron, waarbij de meest voorkomende toegang tot internet is. Met andere woorden, de proxyserver is aan de ene kant rechtstreeks verbonden met internet (of met een router die is aangesloten) naar het internet) en aan de andere kant naar een netwerk van clientcomputers die toegang hebben tot het World Wide Web via het.
U vraagt zich misschien af, waarom zou ik nog een stukje software aan mijn netwerkinfrastructuur willen toevoegen?
1. Squid slaat bestanden van eerdere verzoeken op om toekomstige overdrachten te versnellen. Stel bijvoorbeeld dat klant1 downloads CentOS-7.0-1406-x86_64-DVD.iso van het internet. Wanneer klant2 toegang tot hetzelfde bestand vraagt, kan squid het bestand uit de cache overbrengen in plaats van het opnieuw van internet te downloaden. Zoals u kunt raden, kunt u deze functie gebruiken om gegevensoverdrachten te versnellen in een netwerk van computers waarvoor regelmatig updates nodig zijn.
2. ACL's (Toegangscontrolelijsten) ons in staat stellen de toegang tot websites te beperken en/of de toegang per gebruiker te controleren. U kunt de toegang beperken op basis van bijvoorbeeld dag van de week of tijd van de dag, of domein.
3. Webfilters omzeilen wordt mogelijk gemaakt door het gebruik van een webproxy waaraan verzoeken worden gedaan en die de gevraagde inhoud terugstuurt naar een client, in plaats van dat de client deze rechtstreeks naar internet vraagt.
Stel bijvoorbeeld dat u bent ingelogd klant1 en wil toegang www.facebook.com via de router van uw bedrijf. Aangezien de site mogelijk wordt geblokkeerd door het beleid van uw bedrijf, kunt u in plaats daarvan verbinding maken met een webproxyserver en deze toegang vragen tot www.facebook.com. Externe inhoud wordt vervolgens weer naar u teruggestuurd via de webproxyserver, waarbij het blokkeerbeleid van uw bedrijf wordt omzeild.
Het toegangscontroleschema van de Squid-webproxyserver bestaat uit twee verschillende componenten:
Het hoofdconfiguratiebestand van Squid is: /etc/squid/squid.conf, dat is ~5000 regels sinds het zowel configuratierichtlijnen als documentatie bevat. Om die reden zullen we een nieuwe inktvis.conf bestand met alleen de regels die voor ons gemak configuratierichtlijnen bevatten, waarbij lege of becommentarieerde regels worden weggelaten. Om dit te doen, zullen we de volgende commando's gebruiken.
# mv /etc/squid/squid.conf /etc/squid/squid.conf.bkp.
En dan,
# grep -Eiv '(^#|^$)' /etc/squid/squid.conf.bkp OF # grep -ve ^# -ve ^$ /etc/squid/squid.conf.bkp > /etc/squid/ inktvis.conf.
Open nu de nieuw gemaakte inktvis.conf bestand, en zoek naar (of voeg toe) het volgende: ACL elementen en toegangslijsten.
acl localhost src 127.0.0.1/32. acl localnet src 192.168.0.0/24.
De twee regels hierboven vertegenwoordigen een eenvoudig voorbeeld van het gebruik van ACL elementen.
De twee onderstaande regels zijn: toegangslijst regels en vertegenwoordigen een expliciete implementatie van de ACL eerder genoemde richtlijnen. In een paar woorden geven ze aan dat http-toegang moet worden ingewilligd als het verzoek afkomstig is van het lokale netwerk (lokaal netwerk), of van localhost. Wat zijn in het bijzonder de toegestane lokale netwerk- of lokale hostadressen? Het antwoord is: die gespecificeerd in de localhost en localnet richtlijnen.
http_access staat lokaalnet toe. http_access staat localhost toe.
Op dit punt kunt u opnieuw opstarten Inktvis om eventuele in behandeling zijnde wijzigingen toe te passen.
# service squid restart [Upstart / op sysvinit gebaseerde distributies] # systemctl herstart squid.service [op systeem gebaseerde distributies]
en configureer vervolgens een clientbrowser in het lokale netwerk (192.168.0.104 in ons geval) om als volgt toegang te krijgen tot internet via uw proxy.
1. Ga naar de Bewerking menu en kies de Voorkeuren keuze.
2. Klik op Geavanceerd, dan op de Netwerk tabblad, en tot slot aan Instellingen…
3. Rekening Handmatige proxyconfiguratie en voer de in IP adres van de proxyserver en de haven waar het luistert naar verbindingen.
Opmerking Dat Squid standaard op poort luistert 3128, maar u kunt dit gedrag overschrijven door de toegangslijst regel die begint met http_port (standaard staat er http_poort 3128).
4. Klik OK om de wijzigingen toe te passen en je bent klaar om te gaan.
U kunt nu als volgt controleren of uw lokale netwerkclient toegang heeft tot internet via uw proxy.
1. Open in uw cliënt een terminal en typ,
# ip adres toon eth0 | grep -Ei '(inet.*eth0)'
Dat commando zal de huidige. weergeven IP adres van uw klant (192.168.0.104 in de volgende afbeelding).
2. Gebruik in uw client een webbrowser om een bepaalde website te openen (www.tecmint.com in dit geval).
3. Voer in de server uit.
# tail -f /var/log/squid/access.log.
en je krijgt een liveweergave van verzoeken die worden afgehandeld Inktvis.
Stel nu dat u de toegang tot dat specifieke client-IP-adres expliciet wilt weigeren, terwijl u toch de toegang voor de rest van het lokale netwerk wilt behouden.
1. Definieer een nieuwe ACL richtlijn als volgt (ik heb het genoemd ubuntuOS maar je kunt het noemen wat je wilt).
acl ubuntuOS src 192.168.0.104.
2. Voeg de. toe ACL richtlijn aan de localnet-toegang lijst die al aanwezig is, maar die voorafgaat met een uitroepteken. Dit betekent, "Internettoegang toestaan aan clients die overeenkomen met de localnet ACL-richtlijn, behalve degene die overeenkomt met de ubuntuOS-richtlijn”.
http_access staat localnet !ubuntuOS toe.
3. Nu moeten we Squid opnieuw opstarten om wijzigingen toe te passen. Als we vervolgens naar een site proberen te bladeren, zullen we zien dat de toegang nu wordt geweigerd.
Om de toegang tot Squid per domein te beperken, gebruiken we de dstdomain trefwoord in a ACL richtlijn als volgt.
acl verboden dstdomain "/etc/squid/forbidden_domains"
Waar verboden_domeinen is een gewoon tekstbestand dat de domeinen bevat waartoe we de toegang willen weigeren.
Ten slotte moeten we Squid toegang verlenen voor verzoeken die niet voldoen aan de bovenstaande richtlijn.
http_access staat localnet !verboden toe.
Of misschien willen we alleen toegang tot die sites toestaan op een bepaald tijdstip van de dag (10:00 tot 11:00 uur) alleen op maandag (M), woensdag (W), en vrijdag (V).
acl sommige dagen tijd MWF 10:00-11:00. http_access staat op sommige dagen verboden toe. http_access weigeren verboden.
Anders wordt de toegang tot die domeinen geblokkeerd.
Squid ondersteunt verschillende authenticatiemechanismen (Basic, NTLM, Digest, SPNEGO en Oauth) en helpers (SQL-database, LDAP, NIS, NCSA, om er maar een paar te noemen). In deze zelfstudie gebruiken we basisverificatie met: NCSA.
Voeg de volgende regels toe aan je /etc/squid/squid.conf het dossier.
auth_param basisprogramma /usr/lib/squid/ncsa_auth /etc/squid/passwd. auth_param basisreferentiesttl 30 minuten. auth_param basis hoofdlettergevoelig aan. auth_param basic realm Squid proxy-caching webserver voor de LFCE-serie van Tecmint. acl ncsa proxy_auth VERPLICHT. http_access toestaan ncsa.
Opmerking: In CentOS 7, de NCSA-plug-in voor inktvis is te vinden in /usr/lib64/squid/basic_nsca_auth, dus verander dienovereenkomstig in bovenstaande regel.
Een paar verduidelijkingen:
Voer de volgende opdracht uit om het bestand te maken en inloggegevens voor de gebruiker toe te voegen: gacanepa (laat de weg -C markeren als het bestand al bestaat).
# htpasswd -c /etc/squid/passwd gacanepa.
Open een webbrowser op de clientcomputer en probeer naar een bepaalde site te bladeren.
Als de authenticatie slaagt, wordt toegang verleend tot de aangevraagde bron. Anders wordt de toegang geweigerd.
Een van de onderscheidende kenmerken van Squid is de mogelijkheid om bronnen die van het web zijn aangevraagd in de cache op te slaan op schijf om toekomstige verzoeken van die objecten door dezelfde client of anderen te versnellen.
Voeg de volgende richtlijnen toe aan uw inktvis.conf het dossier.
cache_dir ufs /var/cache/squid 1000 16 256. maximale_object_grootte 100 MB. refresh_pattern .*\.(mp4|iso) 2880.
Een paar verduidelijkingen van bovenstaande richtlijnen.
De eerste en tweede 2880 zijn respectievelijk onder- en bovengrenzen voor hoe lang objecten zonder een expliciete vervaltijd als recent worden beschouwd en dus door de cache worden bediend, terwijl 0% is het percentage van de ouderdom van het object (tijd sinds laatste wijziging) dat elk object zonder expliciete vervaltijd als recent wordt beschouwd.
Eerste klant (IP 192.168.0.104) downloadt een 71 MB .mp4 bestand in 2 minuten en 52 seconden.
Tweede klant (IP 192.168.0.17) downloadt hetzelfde bestand in 1,4 seconden!
Dat komt omdat het bestand werd geserveerd vanuit de Inktviscache (aangegeven door TCP_HIT/200) in het tweede geval, in tegenstelling tot het eerste geval, toen het rechtstreeks van internet werd gedownload (weergegeven door TCP_MISS/200).
De RAKEN en MISSEN trefwoorden, samen met de 200 http responscode, geeft aan dat het bestand beide keren met succes is geleverd, maar dat de cache respectievelijk HIT en Gemist was. Wanneer een verzoek om de een of andere reden niet door de cache kan worden bediend, probeert Squid het vanaf internet te serveren.
In dit artikel hebben we besproken hoe u een Squid webcaching proxy. U kunt de proxyserver gebruiken om inhoud te filteren met behulp van een gekozen criterium, en ook om de latentie te verminderen (aangezien identieke inkomende verzoeken worden bediend vanuit de cache, die zich dichter bij de client bevindt dan de webserver die de inhoud daadwerkelijk bedient, wat resulteert in sneller gegevensoverdracht) en ook netwerkverkeer (vermindert de hoeveelheid gebruikte bandbreedte, wat u geld bespaart als u betaalt voor verkeer).
Misschien wilt u verwijzen naar de Inktvis website voor verdere documentatie (check ook de wiki), maar aarzel niet om contact met ons op te nemen als je vragen of opmerkingen hebt. We zullen meer dan blij zijn om van u te horen!