[squid-users] ACL / http_access rules stop work using Squid 6+

Andre Bolinhas andre.bolinhas at articatech.com
Sun Apr 14 21:23:39 UTC 2024


Hi All

Any tip on this matter? I want to upgrade to squid 6.9 but due to this 
issue, i'm stuck.

Best regards

On 01/04/2024 11:53, Andre Bolinhas wrote:
>
> Hi Alex
>
> Thanks for your help on the matter.
>
>
>> The logs archive you shared previously has expired, so I cannot 
>> double check, but from what I remember, the shared logs did not 
>> support the above assertion, so there may be more to the story here. 
>> However, to make progress, let's assume that v5 configuration files 
>> are identical to v6 configuration files. 
> If you want, I can run the same test with in a different debug 
> parameters, just tell which ones.
>
> I have re-uploaded the cache.log files.
> https://we.tl/t-AB4XuUwuf7
>
>> One way to answer all of the above questions is to look at the 
>> following output:
>>
>>     squid -k parse ... |& grep Processing:.http_access 
> There is no diff between both squid version, you can check it here
> DiffNow - Compare Files, URLs, and Clipboard Contents Online 
> <https://www.diffnow.com/report/jsrva>
>
>> The logs archive you shared previously has expired, so I cannot 
>> double check, but from what I remember, the shared logs did not 
>> support the above assertion, so there may be more to the story here. 
>> However, to make progress, let's assume that v5 configuration files 
>> are identical to v6 configuration files.
> The configuration files / folder are the same, the server is the same, 
> the only thing that changes is the Squid version
>
> On 29/03/2024 17:40, Alex Rousskov wrote:
>> On 2024-03-25 15:13, Bolinhas André wrote:
>>
>>> Yes, the configuration is the same for both versions.
>>
>> The logs archive you shared previously has expired, so I cannot 
>> double check, but from what I remember, the shared logs did not 
>> support the above assertion, so there may be more to the story here. 
>> However, to make progress, let's assume that v5 configuration files 
>> are identical to v6 configuration files.
>>
>> 1. Is there an "http_access allow all AnnotateFinalAllow" rule?
>>
>> 2. Is there an "http_access deny HTTP Group38 AnnotateRule28" rule?
>>
>> 3. Assuming the answers are "yes" and "yes", which rule comes first? 
>> If you use include files, this question applies to the imaginary 
>> preprocessed squid.conf file with all the include files inlined 
>> (recursively if needed). That kind of preprocessed configuration is 
>> what Squid effectively sees when compiling http_access rules, one by 
>> one. Which of the two rules will Squid see first?
>>
>> One way to answer all of the above questions is to look at the 
>> following output:
>>
>>     squid -k parse ... |& grep Processing:.http_access
>>
>> Replace "..." with your regular squid startup command line options 
>> and adjust standard error redirection (|&) as needed for your shell. 
>> Run the above command for both Squid v5 and v6 binaries. You should 
>> see output like this:
>>
>>
>>> 2024/03/29 13:31:05| Processing: http_access allow manager
>>> 2024/03/29 13:31:05| Processing: http_access deny all
>>
>>
>> HTH,
>>
>> Alex.
>>
>>
>>> ------------------------------------------------------------------------ 
>>>
>>> *De:* Alex Rousskov <rousskov at measurement-factory.com>
>>> *Enviado:* segunda-feira, 25 de março de 2024 19:12
>>> *Para:* squid-users at lists.squid-cache.org
>>> *Assunto* Re: [squid-users] ACL / http_access rules stop work using 
>>> Squid 6+
>>>
>>>
>>>
>>> On 2024-03-22 09:38, Andre Bolinhas wrote:
>>>
>>>  > In previous versions of squid, from 3 to 5.9, I use this kind of 
>>> deny
>>>  > rules and they work like charm
>>>  >
>>>  > acl AnnotateRule28 annotate_transaction accessrule=Rule28
>>>  > http_access deny HTTP Group38 AnnotateRule28
>>>  >
>>>  > This allows me to deny objects without bump / show the error page
>>>  > (deny_info)
>>>  >
>>>  > But using squid 6+ this rules stop to work and everything is 
>>> allowed.
>>>  >
>>>  > Example:
>>>  > Squid 5.9 (OK)
>>>  > https://ibb.co/YdKgL1Y
>>>  >
>>>  > Squid 6.8 (NOK)
>>>  > https://ibb.co/tbyY2GV
>>>  >
>>>  > Sample of both cache.log in debug mode
>>>  >
>>>  > https://we.tl/t-T7Nz1rVbVu
>>>
>>>
>>> In you v6 logs, most logged transactions are allowed because a rule
>>> similar to the one reconstructed below is matching:
>>>
>>>       http_access allow all AnnotateFinalAllow
>>>
>>>
>>> There are similar cases in v5 logs as well, but most denied v5
>>> transactions match the following rule instead (i.e. the one you shared
>>> above):
>>>
>>>       http_access deny HTTP Group38 AnnotateRule28
>>>
>>>
>>> In your Squid configuration, v6 allow rule is listed much higher 
>>> than v5
>>> deny rule (#43 vs #149). I do not see any signs of Group38 or
>>> AnnotateRule28 ACL evaluation in v6 logs, as if the rule sets are
>>> different for two different Squid instances. Are you using the same set
>>> of http_access rules for both Squid versions?
>>>
>>> Alex.
>>>
>>> _______________________________________________
>>> squid-users mailing list
>>> squid-users at lists.squid-cache.org
>>> https://lists.squid-cache.org/listinfo/squid-users
>>>
>>
>
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> https://lists.squid-cache.org/listinfo/squid-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20240414/180bcfb7/attachment-0001.htm>


More information about the squid-users mailing list