Kombiniranje myportname i src u Squidu s odvojenim ACL-ovima
Kombinirajte imenovani Squid listener s dopuštenom klijentskom mrežom bez stavljanja dviju vrsta 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 popisu vrijednosti prve vrste. Taj redak ne izražava „ovaj listener i ova klijentska mreža“.
Dajte svakom uvjetu ime
Upotrijebite ime za socket za slušanje i zaseban ACL izvora. Ovaj isječak koristi dokumentacijske adrese koje treba zamijeniti adresama primjerenima za implementaciju:
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 dopuštanja nakon postojećih zaštita za nesigurne odredišne portove, ograničene CONNECT ciljeve i administrativni pristup. Isječak prikazuje uvjet klijenta/listenera; ne zamjenjuje te zaštite.
Uvjeti na jednom retku http_access kombiniraju se s AND. Dva zasebna retka dopuštanja propustila bi bilo koji uvjet neovisno, što bi znatno promijenilo politiku. Više vrijednosti unutar jednog ACL-a obično daje alternative za tu jedinu provjeru.
Odaberite izlaz zasebno
Odgovarajući listener može koristiti i tcp_outgoing_address za odabir lokalne izvorne adrese. To je odabir usmjeravanja, a ne dopuštenje za korištenje proxyja. Pravilo odlazne adrese ne može propustiti odbijeni zahtjev kroz http_access.
Ako konfiguracija s više adresa prestane raditi nakon nadogradnje, razdvojite dokaze: pogreška pri raščlambi upućuje na sintaksu konfiguracije; odbijanje pristupa upućuje na podudaranje pravila; dopušteni zahtjev s pogrešnim izlazom upućuje na odabir izlaza ili kasniji NAT. Promjena sve tri stvari odjednom čini malu ACL pogrešku mnogo težom za pronalaženje.