]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
net: add sysctl for enabling RFC 8335 PROBE messages
authorAndreas Roeseler <andreas.a.roeseler@gmail.com>
Tue, 30 Mar 2021 01:45:29 +0000 (18:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Mar 2021 20:29:39 +0000 (13:29 -0700)
Section 8 of RFC 8335 specifies potential security concerns of
responding to PROBE requests, and states that nodes that support PROBE
functionality MUST be able to enable/disable responses and that
responses MUST be disabled by default

Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.rst
include/net/netns/ipv4.h
net/ipv4/sysctl_net_ipv4.c

index c7952ac5bd2f1f5f5afccfcc1bf1a7952d7d8e28..4130bce40765c18a00951c514bea72577e52ee19 100644 (file)
@@ -1143,6 +1143,12 @@ icmp_echo_ignore_all - BOOLEAN
 
        Default: 0
 
+icmp_echo_enable_probe - BOOLEAN
+        If set to one, then the kernel will respond to RFC 8335 PROBE
+        requests sent to it.
+
+        Default: 0
+
 icmp_echo_ignore_broadcasts - BOOLEAN
        If set non-zero, then the kernel will ignore all ICMP ECHO and
        TIMESTAMP requests sent to it via broadcast/multicast.
index d377266d133f076eda7d0469da75d5f7ee1431b9..9c8dd424d79b1d1100b6cbaa64d9fda9352a0b3a 100644 (file)
@@ -84,6 +84,7 @@ struct netns_ipv4 {
 #endif
 
        u8 sysctl_icmp_echo_ignore_all;
+       u8 sysctl_icmp_echo_enable_probe;
        u8 sysctl_icmp_echo_ignore_broadcasts;
        u8 sysctl_icmp_ignore_bogus_error_responses;
        u8 sysctl_icmp_errors_use_inbound_ifaddr;
index 3a7e5cf5d6cc7e0ca911decac1b4bcf9d71b36c8..e3cb2d96b55e99f4322a99abb6a6da866dffcf4d 100644 (file)
@@ -598,6 +598,15 @@ static struct ctl_table ipv4_net_table[] = {
                .mode           = 0644,
                .proc_handler   = proc_dou8vec_minmax,
        },
+       {
+               .procname       = "icmp_echo_enable_probe",
+               .data           = &init_net.ipv4.sysctl_icmp_echo_enable_probe,
+               .maxlen         = sizeof(int),
+               .mode           = 0644,
+               .proc_handler   = proc_dointvec_minmax,
+               .extra1         = SYSCTL_ZERO,
+               .extra2         = SYSCTL_ONE
+       },
        {
                .procname       = "icmp_echo_ignore_broadcasts",
                .data           = &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts,