From: Alexander Holler <holler@ahsoftware.de>
To: David Laight <David.Laight@ACULAB.COM>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Disable IPv4-mapped - enforce IPV6_V6ONLY
Date: Mon, 25 Feb 2013 15:47:59 +0100 [thread overview]
Message-ID: <512B799F.6080009@ahsoftware.de> (raw)
In-Reply-To: <AE90C24D6B3A694183C094C60CF0A2F6026B7168@saturn3.aculab.com>
Am 25.02.2013 14:23, schrieb David Laight:
>>> A proper solution would be to either return false if net.ipv6.bindv6only is true and optval is false
>> (which would break downward compatibility because it wouldn't just be a default and setsockopt might
>> return an error) or to introduce a new sysctl variable like net.ipv6.bindv6only_enforced_silently.
>> ("silently" because setsockopt() wouldn't return an error if net.ipv6.bindv6only is true and optval
>> (v6only in the example above) is false.)
>>>
>>> I would volunteer to write a patch which introduces something like
>> net.ipv6.bindv6only_enforced_silently if some maintainer would give me his ok.
>>>
>>> If so, the question remains if
>>>
>>> systemctl net.ipv6.bindv6only_enforced_silently = 1
>>>
>>> should set systemctl.net.ipv6.bindv6only too or if an error should be returned if
>> net.ipv6.bindv6only is false.
>>
>> I am not convinced why you need this, and I am not in favor of
>> enfocing IPV6_V6ONLY, but... some points:
It's some kind of security feature I want to have. I just don't want to
search for applications which are listening on IPv4 ports (too) even
when only IPv6 was configured. There exists several of them.
>>
>> - We should allow system-admin to "enforce" IPV6_V6ONLY to 0 as well.
>> - CAP_NET_ADMIN users should always be able to use both modes
>> (They can do sysctl anyway.)
>> - setsockopt should fail w/ EPERM if user tries to override.
>
> I can imagine that some programs will always try to clear IPV6_V6ONLY
> (maybe for portability with other OS which default to setting it
> for security reasons) and will error-exit if it fails.
> So non-silent enforcing could be a PITA.
Exactly.
> You really don't want to (globally) stop an application setting
> IPV6_V6ONLY, such a program may well be creating separate IPv4
> and IPv6 sockets.
Agreed. Applications which are setting IPV6_V6ONLY to true usually do
know what they are doing. But some braindead (configured) applications
are disabling it (and would bail out if setsockopt() would return an error).
>
> Some of this needs to be part of some application wide 'security'
> framework - that probably doesn't exist!
>
> Should there also be similar controls for the use of IPv4
> mapped addresses in actual on-the-wire IPv6 packets - eg those
> destined for a remote gateway on an IPv6 only system?
I think that can be handled by iptables by just blocking e.g.
::ffff:0:0/96 and ::0/96.
But it's a pain to find and take care of apps which are ignoring the
default (net.ipv6.bindv6only) and are disabling IPV6_V6ONLY explicit for
whatever reason.
Therefor I would like to have that
net.ipv6.bindv6only_enforced_silently. Disabling IPv4 in general is not
what I want.
Regards,
Alexander
prev parent reply other threads:[~2013-02-25 14:48 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-22 15:21 Disable IPv4-mapped - enforce IPV6_V6ONLY Alexander Holler
2013-02-23 20:44 ` Alexander Holler
2013-02-25 11:44 ` YOSHIFUJI Hideaki
2013-02-25 13:23 ` David Laight
2013-02-25 14:47 ` Alexander Holler [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=512B799F.6080009@ahsoftware.de \
--to=holler@ahsoftware.de \
--cc=David.Laight@ACULAB.COM \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=yoshfuji@linux-ipv6.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.