]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/blackhole.4
Merge llvm-project release/16.x llvmorg-16.0.3-0-gda3cd333bea5
[FreeBSD/FreeBSD.git] / share / man / man4 / blackhole.4
1 .\"
2 .\" blackhole - drop refused TCP or UDP connects
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\"
14 .\" $FreeBSD$
15 .Dd November 3, 2021
16 .Dt BLACKHOLE 4
17 .Os
18 .Sh NAME
19 .Nm blackhole
20 .Nd a
21 .Xr sysctl 8
22 MIB for manipulating behaviour in respect of refused SCTP, TCP, or UDP connection
23 attempts
24 .Sh SYNOPSIS
25 .Cd sysctl net.inet.sctp.blackhole Ns Op = Ns Brq "0 | 1 | 2"
26 .Cd sysctl net.inet.tcp.blackhole Ns Op = Ns Brq "0 | 1 | 2"
27 .Cd sysctl net.inet.tcp.blackhole_local Ns Op = Ns Brq "0 | 1"
28 .Cd sysctl net.inet.udp.blackhole Ns Op = Ns Brq "0 | 1"
29 .Cd sysctl net.inet.udp.blackhole_local Ns Op = Ns Brq "0 | 1"
30 .Sh DESCRIPTION
31 The
32 .Nm
33 .Xr sysctl 8
34 MIB is used to control system behaviour when connection requests
35 are received on SCTP, TCP, or UDP ports where there is no socket listening.
36 .Pp
37 The blackhole behaviour is useful to slow down an attacker who is port-scanning
38 a system in an attempt to detect vulnerable services.
39 It might also slow down an attempted denial of service attack.
40 .Pp
41 The blackhole behaviour is disabled by default.
42 If enabled, the locally originated packets would still be responded to,
43 unless also
44 .Va net.inet.tcp.blackhole_local
45 (for TCP) and/or
46 .Va net.inet.udp.blackhole_local
47 (for UDP) are enforced.
48 .Ss SCTP
49 Setting the SCTP blackhole MIB to a numeric value of one
50 will prevent sending an ABORT packet in response to an incoming INIT.
51 A MIB value of two will do the same, but will also prevent sending an ABORT packet
52 when unexpected packets are received.
53 .Ss TCP
54 Normal behaviour, when a TCP SYN segment is received on a port where
55 there is no socket accepting connections, is for the system to return
56 a RST segment, and drop the connection.
57 The connecting system will
58 see this as a
59 .Dq Connection refused .
60 By setting the TCP blackhole
61 MIB to a numeric value of one, the incoming SYN segment
62 is merely dropped, and no RST is sent, making the system appear
63 as a blackhole.
64 By setting the MIB value to two, any segment arriving
65 on a closed port is dropped without returning a RST.
66 This provides some degree of protection against stealth port scans.
67 .Ss UDP
68 Enabling blackhole behaviour turns off the sending
69 of an ICMP port unreachable message in response to a UDP datagram which
70 arrives on a port where there is no socket listening.
71 It must be noted that this behaviour will prevent remote systems from running
72 .Xr traceroute 8
73 to a system.
74 .Sh WARNING
75 The SCTP, TCP, and UDP blackhole features should not be regarded as a replacement
76 for firewall solutions.
77 Better security would consist of the
78 .Nm
79 .Xr sysctl 8
80 MIB used in conjunction with one of the available firewall packages.
81 .Pp
82 This mechanism is not a substitute for securing a system.
83 It should be used together with other security mechanisms.
84 .Sh SEE ALSO
85 .Xr ip 4 ,
86 .Xr sctp 4 ,
87 .Xr tcp 4 ,
88 .Xr udp 4 ,
89 .Xr ipf 8 ,
90 .Xr ipfw 8 ,
91 .Xr pfctl 8 ,
92 .Xr sysctl 8
93 .Sh HISTORY
94 The TCP and UDP
95 .Nm
96 MIBs
97 first appeared in
98 .Fx 4.0 .
99 .Pp
100 The SCTP
101 .Nm
102 MIB first appeared in
103 .Fx 9.1 .
104 .Sh AUTHORS
105 .An Geoffrey M. Rehmet