HTTP -proxy létrehozása a Squid használatával a CentOS 7/8 rendszeren

instagram story viewer

A webes proxyk már jó ideje léteznek, és világszerte több millió felhasználó használja őket. Széles körű céljaik vannak, a legnépszerűbb az online névtelenség, de más módokon is kihasználhatja a webes proxykat. Íme néhány ötlet:

  • Online névtelenség
  • Javítsa az online biztonságot
  • Javítsa a betöltési időket
  • Blokkolja a rosszindulatú forgalmat
  • Jelentkezzen be online tevékenységébe
  • A regionális korlátozások megkerülése
  • Bizonyos esetekben csökkentheti a sávszélesség használatát

A proxyszerver működése

A proxykiszolgáló egy olyan számítógép, amelyet közvetítőként használnak az ügyfél és más kiszolgálók között, amelyekről az ügyfél erőforrásokat kérhet. Egy egyszerű példa erre, amikor az ügyfél online kéréseket tesz (például szeretne megnyitni egy weboldalt), először a proxyszerverhez csatlakozik.

A proxyszerver ezután ellenőrzi a helyi lemez gyorsítótárát, és ha az adatok megtalálhatók ott, akkor visszaadja az adatokat a kliensnek, ha nincs tárolva, a kérést az ügyfél nevében teszi meg (a kliensektől eltérő) proxy IP -cím használatával, majd visszaküldi az adatokat az ügyfélnek. A proxykiszolgáló megpróbálja gyorsítótárazni az új adatokat, és felhasználja azokat az ugyanazon szerverre irányuló jövőbeni kérésekhez.

Mi az a Squid Proxy?

Tintahal egy webes proxy, amely a szervezeteim széles körét használta. Gyakran használják gyorsítótárazási proxyként, javítják a válaszidőt és csökkentik a sávszélesség -használatot.

E cikk alkalmazásában telepítem Tintahal rajta Linode CentOS 7 VPS és használja HTTP proxy szerverként.

A Squid telepítése a CentOS 7/8 rendszeren

Mielőtt elkezdenénk, ezt tudnia kell Tintahal, nem tartalmaz minimális követelményeket, de a RAM -használat mennyisége változhat attól függően, hogy az ügyfelek az interneten böngésznek -e a proxykiszolgálón keresztül.

Tintahal szerepel az alaptárban, így a telepítés egyszerű és egyszerű. A telepítés előtt azonban ellenőrizze, hogy a csomagok naprakészek -e a futtatással.

# yum -y frissítés. 

Folytassa a kalmár telepítésével, indítsa el és engedélyezze azt a rendszer indításakor a következő parancsokkal.

# yum -y telepítse a tintahalat. # systemctl indítsa el a tintahalat. # systemctl engedélyezi a tintahalat. 

Ezen a ponton a Squid webes proxynak már futnia kell, és a szolgáltatással ellenőrizheti a szolgáltatás állapotát.

# systemctl állapot kalmár. 
Minta kimenet
 squid.service - Squid caching proxy Betöltve: betöltve (/usr/lib/systemd/system/squid.service; engedélyezve; gyári beállítás: letiltva) Aktív: aktív (fut) csütörtök óta 2018-09-20 10:07:23 UTC; 5 perce Fő PID: 2005 (tintahal) CGroup: /system.slice/squid.service ├─2005/usr/sbin/squid -f /etc/squid/squid.conf ├─2007 (squid -1) -f /etc/squid/squid.conf └─2008 (logfile-daemon) /var/log/squid/access.log 20. szept. 10:07:23 tecmint systemd [1]: A kalmár gyorsítótárának indítása meghatalmazott... Szeptember 20. 10:07:23 tecmint tintahal [2005]: Squid Parent: 1 gyereket kezd. Szeptember 20. 10:07:23 tecmint tintahal [2005]: Squid Parent: (tintahal-1) 2007-es folyamat indult. Szeptember 20. 10:07:23 tecmint systemd [1]: Elindította a Squid caching proxyt. 

Íme néhány fontos fájlhely, amelyet tudnia kell:

  • Kalmár konfigurációs fájl: /etc/squid/squid.conf
  • Kalmár hozzáférési napló: /var/log/squid/access.log
  • Kalmár gyorsítótár naplója: /var/log/squid/cache.log

Egy minimum tintahal.conf konfigurációs fájl (megjegyzések nélkül) így néz ki:

acl localnet src 10.0.0.0/8 # RFC1918 lehetséges belső hálózat. acl localnet src 172.16.0.0/12 # RFC1918 lehetséges belső hálózat. acl localnet src 192.168.0.0/16 # RFC1918 lehetséges belső hálózat. acl localnet src fc00 ::/7 # RFC 4193 helyi magánhálózati tartomány. acl localnet src fe80 ::/10 # RFC 4291 link-local (közvetlenül csatlakoztatott) gépek. acl SSL_ports 443. port. acl Safe_ports port 80 # http. acl Safe_ports port 21 # ftp. acl Safe_ports 443 -as port # https. acl Safe_ports port 70 # gopher. acl Safe_ports port 210 # wais. acl Safe_ports port 1025-65535 # nem regisztrált portok. acl Safe_ports port 280 # http-mgmt. acl Safe_ports 488-as port # gss-http. acl Safe_ports port 591 # filemaker. acl Safe_ports port 777 # multiling http. acl CONNECT módszer CONNECT. http_access tagad! Safe_ports. http_access deny CONNECT! SSL_ports. http_access engedélyezze a localhost kezelőt. http_access deny manager. http_access allow localnet. http_access engedélyezze a localhostot. http_access mindent tagad. http://port 3128. coredump_dir/var/spool/squid. refresh_pattern ^ftp: 1440 20% 10080. refresh_pattern ^gopher: 1440 0% 1440. refresh_pattern -i (/cgi -bin/| \?) 0 0% 0. refresh_pattern. 0 20% 4320. 

A Squid konfigurálása HTTP -proxyként

Itt megmutatjuk, hogyan konfigurálhatja a tintahalat HTTP -proxyként, csak a kliens IP -címét használva a hitelesítéshez.

Squid ACL -ek hozzáadása

Ha engedélyezni szeretné, hogy az IP -cím az új proxyszerveren keresztül elérje a webet, akkor hozzá kell adnia egy újat ACL (beléptetési lista) sort a konfigurációs fájlban.

# vim /etc/squid/squid.conf. 

A sor, amelyet hozzá kell adnia:

acl localnet src XX.XX.XX.XX. 

Ahol XX.XX.XX.XX az a tényleges kliens IP -cím, amelyet hozzá szeretne adni. A sort annak a fájlnak az elején kell hozzáadni, ahol az ACL -ek vannak meghatározva. Jó gyakorlat, ha megjegyzést ad az ACL mellé, amely leírja, hogy ki használja ezt az IP -címet.

Fontos megjegyezni, hogy ha a Squid a helyi hálózaton kívül található, akkor hozzá kell adnia az ügyfél nyilvános IP -címét.

Újra kell indítania a Squid -ot, hogy az új módosítások életbe léphessenek.

# systemctl indítsa újra a tintahalat. 

Nyissa meg a Squid Proxy portokat

Amint azt a konfigurációs fájlban láthatta, csak bizonyos portok csatlakozhatnak. A konfigurációs fájl szerkesztésével többet is hozzáadhat.

acl Safe_ports XXX port. 

Ahol XXX a ténylegesen betölteni kívánt port. Ismét jó ötlet megjegyzést hagyni, amely leírja, hogy mire fogják használni a portot.

Ahhoz, hogy a módosítások érvénybe lépjenek, újra kell indítania a tintahalat.

# systemctl indítsa újra a tintahalat. 

Squid Proxy kliens hitelesítés

Valószínűleg azt szeretné, hogy a felhasználók hitelesítsenek a proxy használata előtt. Ebből a célból engedélyezheti az alapvető HTTP hitelesítést. Könnyen és gyorsan konfigurálható.

Először is szüksége lesz httpd-tools telepítve.

# yum -y telepítse a httpd -tools eszközt. 

Most hozzunk létre egy fájlt, amely később tárolja a hitelesítéshez használt felhasználónevet. A kalmár a felhasználóval együtt fut "tintahal" így a fájlnak az adott felhasználónak kell lennie.

# touch/etc/squid/passwd. # chown tintahal:/etc/squid/passwd. 

Most létrehozunk egy új felhasználót, az ún “Proxyclient” és állítsa be a jelszavát.

# htpasswd/etc/squid/passwd proxyclient Új jelszó: Írja be újra az új jelszót: Jelszó hozzáadása a felhasználói proxyklienshez. 

Most a hitelesítés konfigurálásához nyissa meg a konfigurációs fájlt.

# vim /etc/squid/squid.conf. 

A portok ACL -je után adja hozzá a következő sorokat:

auth_param alapprogram/usr/lib64/squid/basic_ncsa_auth/etc/squid/passwd. auth_param alapvető gyerekek 5. auth_param alapvető tartomány Squid Basic Authentication. auth_param alapvető hitelesítő adatok 2 óra. acl auth_users proxy_auth SZÜKSÉGES. http_access engedélyezze az auth_users alkalmazást. 

Mentse a fájlt, és indítsa újra a tintahalat, hogy az új módosítások életbe léphessenek:

# systemctl indítsa újra a tintahalat. 

Blokkolja a webhelyeket a Squid Proxy -n

Végül létrehozunk egy utolsót ACL ez segít letiltani a nem kívánt webhelyeket. Először hozza létre a feketelistás webhelyeket tároló fájlt.

# touch /etc/squid/blacklisted_sites.acl. 

Hozzáadhat néhány blokkolni kívánt domaint. Például:

.badsite1.com. .badsite2.com. 

A folyamatban lévő pont arra utasítja a tintahalat, hogy blokkoljon minden hivatkozást az adott webhelyre, beleértve www.badsite1, subsite.badsite1.com, stb.

Most nyissa meg a Squid konfigurációs fájlját.

# vim /etc/squid/squid.conf. 

Közvetlenül a portok ACL -je után adja hozzá a következő két sort:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl" http_access deny bad_urls.

Most mentse el a fájlt, és indítsa újra a kalmárt:

# systemctl indítsa újra a tintahalat. 

Miután mindent helyesen konfigurált, most beállíthatja a helyi ügyfélböngészőt vagy az operációs rendszer hálózati beállításait a tintahal HTTP -proxyjának használatához.

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan telepíthet, biztosíthat és konfigurálhat egy Squid HTTP proxy szervert. Az imént kapott információkkal most hozzáadhat néhány alapvető szűrést a bejövő és kimenő forgalomhoz a Squidon keresztül.

Ha további mérföldeket szeretne megtennie, akkor akár úgy is beállíthatja a tintahalat, hogy munkaidőben blokkoljon bizonyos webhelyeket, hogy elkerülje a figyelemelterelést. Ha bármilyen kérdése vagy megjegyzése van, kérjük, tegye fel őket az alábbi megjegyzés rovatba.

Teachs.ru