AccessByIPAddress with IPv6 addresses
Paul B. Henson
henson at cpp.edu
Sun Oct 18 19:27:58 UTC 2020
I created a custom AccessControlPolicies entry to give our load balancer
access to the status page:
<entry key="StatusAccessByIPAddress">
<bean id="AccessByIPAddress" parent="shibboleth.IPRangeAccessControl"
p:allowedRanges="#{ {'127.0.0.1/32', '::1/128',
'134.71.246.194/32', '134.71.246.195/32',
'2620:df:8000:ff14:0:0:0:2/128', '2620:df:8000:ff14:0:0:0:3/128'} }" />
</entry>
This works fine for the IPv4 addresses in the list, but the IPv6 access
still fails:
2020-10-18 12:21:17,258 - [2620:df:8000:ff14:0:0:0:2]/node01tp5yfd6x2b2a17mrvn5vvi1qy167 - WARN [net.shibboleth.utilities.java.support.security.impl.IPRangeAccessControl:95] - Policy AccessByIPAddress: Denied request from client address '[2620:df:8000:ff14:0:0:0:2]' (Operation: read, Resource: status)
In addition, it gives another goofy error:
2020-10-18 12:21:27,109 - [2620:df:8000:ff14:0:0:0:3]/node01scm3bd299jry1l5am135loc40170 - WARN [net.shibboleth.utilities.java.support.security.impl.IPRangeAccessControl:92] - Policy AccessByIPAddress: Error translating client address
java.lang.IllegalArgumentException: '[2620:df:8000:ff14:0:0:0:3]' is not an IP string literal.
at com.google.common.net.InetAddresses.formatIllegalArgumentException(InetAddresses.java:1080)
Do I have something misconfigured? I feel like java is returning the IPv6
address in brackets but the access control code doesn't expect them 8-/.
--
Paul B. Henson | (909) 979-6361 | http://www.cpp.edu/~henson/
Operating Systems and Network Analyst | henson at cpp.edu
California State Polytechnic University | Pomona CA 91768
More information about the users
mailing list