Kombinovanje myportname i src u Squidu odvojenim ACL-ovima
Kombinujte imenovani Squid listener sa dozvoljenom klijentskom mrežom bez stavljanja dva tipa ACL-a u istu definiciju.
Konfiguracija na prvi pogled deluje uverljivo:
acl team_a myportname 3128 src 198.51.100.0/24
Ali definicija ACL-a ima samo jedan tip. Ovde je myportname tip; dodavanje reči src ne pokreće drugu proveru. Preostale reči pripadaju listi vrednosti prvog tipa. 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 izvora. Ovaj isečak koristi dokumentacione adrese, koje treba zameniti adresama primerenim 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 posle postojećih zaštita za nesigurne odredišne portove, ograničene CONNECT ciljeve i administrativni pristup. Isečak ilustruje uslov klijenta/listenera; on ne zamenjuje te zaštite.
Uslovi na jednom redu http_access kombinuju se sa AND. Dva odvojena reda dozvole propustila bi bilo koji uslov nezavisno, što bi znatno promenilo politiku. Više vrednosti unutar jednog ACL-a obično daje alternative za tu jedinu proveru.
Izaberite izlaz odvojeno
Odgovarajući listener može koristiti i tcp_outgoing_address da izabere lokalnu izvornu adresu. To je izbor rute, a ne dozvola za korišćenje proksija. Pravilo odlazne adrese ne može propustiti odbijeni zahtev kroz http_access.
Ako konfiguracija sa više adresa prestane da radi posle nadogradnje, razdvojite dokaze: greška pri parsiranju upućuje na sintaksu konfiguracije; odbijanje pristupa upućuje na podudaranje pravila; dozvoljeni zahtev sa pogrešnim izlazom upućuje na izbor izlaza ili kasniji NAT. Promena sve tri stvari odjednom čini malu ACL grešku mnogo težom za pronalaženje.