lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140102171731.GE22494@order.stressinduktion.org>
Date:	Thu, 2 Jan 2014 18:17:31 +0100
From:	Hannes Frederic Sowa <hannes@...essinduktion.org>
To:	Francois-Xavier Le Bail <fx.lebail@...oo.com>
Cc:	netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
	Alexey Kuznetsov <kuznet@....inr.ac.ru>,
	James Morris <jmorris@...ei.org>,
	Hideaki Yoshifuji <yoshfuji@...ux-ipv6.org>,
	Patrick McHardy <kaber@...sh.net>
Subject: Re: [PATCH net-next v2] IPv6: add option to use Subnet-Router anycast addresses as source addresses

On Thu, Jan 02, 2014 at 04:53:48PM +0100, Francois-Xavier Le Bail wrote:
> This change allows to follow a recommandation of RFC4942.
> 
> - Add "enable_anycast_src" sysctl to control the use of Subnet-Router anycast
>   addresses as source addresses. This sysctl is false by default to preserve
>   existing behavior.
> - Use it in ip6_datagram_send_ctl() and icmpv6_echo_reply().

It is very cool that you are working on this. I had this on my TODO list for a
long time.

> Reference:
> RFC4942 - IPv6 Transition/Coexistence Security Considerations
>    (http://tools.ietf.org/html/rfc4942#section-2.1.6)
> 
> 2.1.6. Anycast Traffic Identification and Security
> 
>    [...]
>    To avoid exposing knowledge about the internal structure of the
>    network, it is recommended that anycast servers now take advantage of
>    the ability to return responses with the anycast address as the
>    source address if possible.

Actually, the restriction was lifted by RFC 4291 ("IP Version 6 Addressing
Architecture").


> Signed-off-by: Francois-Xavier Le Bail <fx.lebail@...oo.com>
> ---
>  Documentation/networking/ip-sysctl.txt |    6 ++++++
>  include/net/netns/ipv6.h               |    1 +
>  net/ipv6/datagram.c                    |    3 +++
>  net/ipv6/icmp.c                        |    4 +++-
>  net/ipv6/sysctl_net_ipv6.c             |    8 ++++++++
>  5 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
> index d71afa8..2a062a7 100644
> --- a/Documentation/networking/ip-sysctl.txt
> +++ b/Documentation/networking/ip-sysctl.txt
> @@ -1094,6 +1094,12 @@ bindv6only - BOOLEAN
>  
>  	Default: FALSE (as specified in RFC3493)
>  
> +enable_anycast_src - BOOLEAN
> +	Controls the use of Subnet-Router anycast addresses as source addresses
> +	TRUE:  enabled
> +	FALSE: disabled
> +	Default: FALSE
> +

I wouldn't actually add this knob, we can just enable that by default.
Also it should be no problem to bind() to those addresses.

I am still unsure what to do with a bind to any or if the address must be
bound specifically (maybe that is worth a knob).

In the long term I would like to see that we can add additional anycast
addresses via iproute:

ip -6 a a 1234::1/64 dev eth0 anycast

or something like that. That should be rather easy, as in just incrementing
the anycast counter for an interface in inet6_rtm_newaddr and adding a flag
to ifa_flags which gets passed down by iproute2.

I'll do some research on if this should also get integrated with source
address selection.

Thanks very much, that is really cool,

  Hannes

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ