diff options
author | Eric Dumazet <edumazet@google.com> | 2012-07-16 21:41:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-17 10:40:46 -0400 |
commit | 0c24604b68fc7810d429d6c3657b6f148270e528 (patch) | |
tree | f5dd9deb10cfbcf8742483ecda7d07899ccb57f9 /net/ipv4/proc.c | |
parent | 5f3600ebe252aa5fe782e9f9115c66c639f62ac0 (diff) |
tcp: implement RFC 5961 4.2
Implement the RFC 5691 mitigation against Blind
Reset attack using SYN bit.
Section 4.2 of RFC 5961 advises to send a Challenge ACK and drop
incoming packet, instead of resetting the session.
Add a new SNMP counter to count number of challenge acks sent
in response to SYN packets.
(netstat -s | grep TCPSYNChallenge)
Remove obsolete TCPAbortOnSyn, since we no longer abort a TCP session
because of a SYN flag.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/proc.c')
-rw-r--r-- | net/ipv4/proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 3e8e78f12a38..2a5240b2ea61 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c | |||
@@ -232,7 +232,6 @@ static const struct snmp_mib snmp4_net_list[] = { | |||
232 | SNMP_MIB_ITEM("TCPDSACKOfoSent", LINUX_MIB_TCPDSACKOFOSENT), | 232 | SNMP_MIB_ITEM("TCPDSACKOfoSent", LINUX_MIB_TCPDSACKOFOSENT), |
233 | SNMP_MIB_ITEM("TCPDSACKRecv", LINUX_MIB_TCPDSACKRECV), | 233 | SNMP_MIB_ITEM("TCPDSACKRecv", LINUX_MIB_TCPDSACKRECV), |
234 | SNMP_MIB_ITEM("TCPDSACKOfoRecv", LINUX_MIB_TCPDSACKOFORECV), | 234 | SNMP_MIB_ITEM("TCPDSACKOfoRecv", LINUX_MIB_TCPDSACKOFORECV), |
235 | SNMP_MIB_ITEM("TCPAbortOnSyn", LINUX_MIB_TCPABORTONSYN), | ||
236 | SNMP_MIB_ITEM("TCPAbortOnData", LINUX_MIB_TCPABORTONDATA), | 235 | SNMP_MIB_ITEM("TCPAbortOnData", LINUX_MIB_TCPABORTONDATA), |
237 | SNMP_MIB_ITEM("TCPAbortOnClose", LINUX_MIB_TCPABORTONCLOSE), | 236 | SNMP_MIB_ITEM("TCPAbortOnClose", LINUX_MIB_TCPABORTONCLOSE), |
238 | SNMP_MIB_ITEM("TCPAbortOnMemory", LINUX_MIB_TCPABORTONMEMORY), | 237 | SNMP_MIB_ITEM("TCPAbortOnMemory", LINUX_MIB_TCPABORTONMEMORY), |
@@ -262,6 +261,7 @@ static const struct snmp_mib snmp4_net_list[] = { | |||
262 | SNMP_MIB_ITEM("TCPOFODrop", LINUX_MIB_TCPOFODROP), | 261 | SNMP_MIB_ITEM("TCPOFODrop", LINUX_MIB_TCPOFODROP), |
263 | SNMP_MIB_ITEM("TCPOFOMerge", LINUX_MIB_TCPOFOMERGE), | 262 | SNMP_MIB_ITEM("TCPOFOMerge", LINUX_MIB_TCPOFOMERGE), |
264 | SNMP_MIB_ITEM("TCPChallengeACK", LINUX_MIB_TCPCHALLENGEACK), | 263 | SNMP_MIB_ITEM("TCPChallengeACK", LINUX_MIB_TCPCHALLENGEACK), |
264 | SNMP_MIB_ITEM("TCPSYNChallenge", LINUX_MIB_TCPSYNCHALLENGE), | ||
265 | SNMP_MIB_SENTINEL | 265 | SNMP_MIB_SENTINEL |
266 | }; | 266 | }; |
267 | 267 | ||