Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/share/man/man7 add new rfc6056.7, from vlad



details:   https://anonhg.NetBSD.org/src/rev/921dea1ef355
branches:  trunk
changeset: 769820:921dea1ef355
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Sep 24 17:04:38 2011 +0000

description:
add new rfc6056.7, from vlad

diffstat:

 share/man/man7/Makefile  |    6 +-
 share/man/man7/rfc6056.7 |  120 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 3 deletions(-)

diffs (142 lines):

diff -r c9bc42632d59 -r 921dea1ef355 share/man/man7/Makefile
--- a/share/man/man7/Makefile   Sat Sep 24 15:55:22 2011 +0000
+++ b/share/man/man7/Makefile   Sat Sep 24 17:04:38 2011 +0000
@@ -1,11 +1,11 @@
-#      $NetBSD: Makefile,v 1.27 2011/03/18 15:21:57 jruoho Exp $
+#      $NetBSD: Makefile,v 1.28 2011/09/24 17:04:38 christos Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/5/93
 
 # missing: eqnchar.7 man.7 ms.7 term.7
 
 MAN=   ascii.7 c.7 environ.7 glob.7 hier.7 hostname.7 intro.7 mailaddr.7 \
-       module.7 nls.7 operator.7 orders.7 pkgsrc.7 release.7  security.7 \
-       script.7 setuid.7 signal.7 sticky.7 symlink.7 sysctl.7 \
+       module.7 nls.7 operator.7 orders.7 pkgsrc.7 release.7  rfc6056.7 \
+       security.7 script.7 setuid.7 signal.7 sticky.7 symlink.7 sysctl.7 \
        tests.7
 
 MLINKS+=c.7 c78.7 \
diff -r c9bc42632d59 -r 921dea1ef355 share/man/man7/rfc6056.7
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man7/rfc6056.7  Sat Sep 24 17:04:38 2011 +0000
@@ -0,0 +1,120 @@
+.\"     $NetBSD: rfc6056.7,v 1.1 2011/09/24 17:04:38 christos Exp $
+.\"
+.\" Copyright (c) 2011
+.\"     The NetBSD Foundation.  All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Vlad Balan
+.\".
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"
+.Dd August 25, 2011
+.Dt RFC6056 7
+.Os
+.Sh NAME
+.Nm rfc6056
+.Nd port randomization algorithms
+.Sh DESCRIPTION
+The
+.Xr rfc6056 7
+algorithms are used in order to randomize the port allocation of outgoing UDP
+packets, in order to provide protection from a series of
+.Dq blind
+attacks based on the
+attacker's ability to guess the sequence of ephemeral ports associated
+with outgoing packets. For more information consult RFC 6056.
+.Pp
+The individual algorithms are described below:
+.Pp
+.Ss The RFC 6056 algorithms
+.Li The following algorithms are available:
+.Bl -tag -width "random_start"
+.It Sy bsd
+This is the default
+.Nx
+port selection algorithm, which starts from
+.Dv anonportmax
+and proceeds decreasingly through the available ephemeral ports.
+.It Sy random_start
+Select ports randomly from the available ephemeral ports.
+In case a collision with a local port is  detected the
+algorithm  proceeds decreasingly through the sequence of ephemeral
+ports until a free port is found.
+Note that the random port selection algorithms are not guaranteed to find
+a free port.
+.It Sy random_pick
+Select ports randomly from the available ephemeral ports.
+In case a collision with a local port is detected the algorithm tries
+selecting a new port randomly until a free port is found.
+.It Sy hash
+Select ports using a
+.Xr md5 3
+hash of the local address, the foreign address, and the foreign port.
+Note that in the case of a
+.Xr bind 2
+call some of this information might be unavailable and the
+port selection is delayed until the time of a
+.Xr connect 2
+call, performed either explicitly or up calling
+.Xr sendto 2 .
+.It Sy doublehash
+Select ports using a
+.Xr md5 3
+hash of the local address, foreign address and foreign port coupled with a
+.Xr md5 3
+hash of the same components obtained using a separate table that is
+associated with a subset of all outgoing connections.
+The same considerations regarding late connection as in the case of hash apply.
+.It Sy randinc
+Use random increments in order to select the next port.
+.El
+.Sh SYSCTL CONTROLS
+The following sysctl controls are available for selecting the default
+port randomization algorithm:
+.Bl -column "net.inet6.udp6.rfc6056.available" "string" "Changeable"
+.It Sy sysctl name                   Ta Sy Type Ta Sy Changeable
+.It net.inet.udp.rfc6056.available   Ta string  Ta no
+.It net.inet.udp.rfc6056.selected    Ta string  Ta yes
+.It net.inet6.udp6.rfc6056.available Ta string  Ta no
+.It net.inet6.udp6.rfc6056.selected  Ta string  Ta yes
+.El
+.Pp
+.Sh SOCKET OPTIONS
+The socket option
+.Dv UDP_RFC6056ALGO
+at the
+.Dv IPPROTO_UDP
+level can be used with a string argument specifying the algorithm's
+name in order to select the port randomization algorithm
+for a specific socket.
+For more info see
+.Xr setsockopt 2 .
+.Sh SEE ALSO
+.Xr setsockopt 2 ,
+.Xr sysctl 3 ,
+.Xr sysctl 7
+.Sh HISTORY
+The
+.Nm
+algorithms first appeared in
+.Nx 6.0 .



Home | Main Index | Thread Index | Old Index