Kombinovanje myportname i src u Squidu pomoću odvojenih ACL-ova
Kombinirajte imenovani Squid listener s dozvoljenom klijentskom mrežom bez stavljanja dvije vrste ACL-a u istu definiciju.
Konfiguracija na prvi pogled izgleda uvjerljivo:
acl team_a myportname 3128 src 198.51.100.0/24
Ali definicija ACL-a ima samo jednu vrstu. Ovdje je myportname vrsta; dodavanje riječi src ne pokreće drugu provjeru. Preostale riječi pripadaju listi vrijednosti prve vrste. Taj red ne izražava „ovaj listener i ova klijentska mreža“.
Dajte svakom uslovu ime
Koristite ime za socket za slušanje i odvojen ACL za izvor. Ovaj isječak koristi dokumentacijske adrese, koje treba zamijeniti adresama prikladnim za postavljanje:
http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24
http_access allow team_a_port team_a_clients
http_access deny all
Postavite pravilo dozvole nakon postojećih zaštita za nesigurne odredišne portove, ograničene CONNECT ciljeve i administrativni pristup. Isječak ilustruje uslov klijenta/listenera; on ne zamjenjuje te zaštite.
Uslovi na jednom redu http_access kombinuju se s AND. Dva odvojena reda dozvole propustila bi bilo koji uslov nezavisno, što bi znatno promijenilo politiku. Više vrijednosti unutar jednog ACL-a obično daje alternative za tu jedinu provjeru.
Odaberite izlaz odvojeno
Odgovarajući listener može koristiti i tcp_outgoing_address da odabere lokalnu izvorišnu adresu. To je odabir rute, a ne dozvola za korištenje proxyja. Pravilo odlazne adrese ne može propustiti odbijeni zahtjev kroz http_access.
Ako višeadresna konfiguracija prestane raditi nakon nadogradnje, razdvojite dokaze: greška pri parsiranju upućuje na sintaksu konfiguracije; odbijanje pristupa upućuje na podudaranje pravila; dozvoljeni zahtjev s pogrešnim izlazom upućuje na odabir izlaza ili kasniji NAT. Mijenjanje sve tri stvari odjednom čini malu ACL grešku mnogo težom za pronalaženje.