diff options
author | RPKI Documentation Robot <docbot@rpki.net> | 2013-11-21 23:00:35 +0000 |
---|---|---|
committer | RPKI Documentation Robot <docbot@rpki.net> | 2013-11-21 23:00:35 +0000 |
commit | 7517a59e86ce3ba4f7cf4e946d45da2290c26d11 (patch) | |
tree | 5dcebc576fa6e55f5f4d096ef880e025825ca452 | |
parent | 8941436f6921ab087dd4e02632e50c0a98288c94 (diff) |
Automatic pull of documentation from Wiki.
svn path=/trunk/; revision=5596
-rw-r--r-- | doc/doc.RPKI.RP.rcynic | 114 | ||||
-rw-r--r-- | doc/manual.pdf | bin | 757560 -> 758813 bytes |
2 files changed, 63 insertions, 51 deletions
diff --git a/doc/doc.RPKI.RP.rcynic b/doc/doc.RPKI.RP.rcynic index 30995532..0b609778 100644 --- a/doc/doc.RPKI.RP.rcynic +++ b/doc/doc.RPKI.RP.rcynic @@ -5,12 +5,12 @@ actual RPKI validation. Most of the other relying party tools just use rcynic's output. The name is short for "cynical rsync", because rcynic's task involves an -interleaved process of rsync retrieval and validation. +interleaved process of rsync retrieval and RPKI validation. This code was developed on FreeBSD, and has been tested most heavily on FreeBSD -versions 6-STABLE through 8-STABLE. It is also known to run work on Ubuntu -(12.04 LTS) and Mac OS X (Snow Leopard). In theory it should run on any -reasonably POSIX-like system. As far as we know rcynic does not use any +versions 6-STABLE through 8-STABLE. It is also known to work on Ubuntu (12.04 +LTS), Debian (Wheezy) and Mac OS X (Snow Leopard). In theory it should run on +any reasonably POSIX-like system. As far as we know, rcynic does not use any seriously non-portable features, but neither have we done a POSIX reference manual lookup for every function call. Please report any portability problems. @@ -23,7 +23,7 @@ goes well, this should "just work". rcynic has the ability to do all of its work in a chroot jail. This used to be the default configuration, but integrating this properly with platform-specific -packaging systems (FreeBSD ports, apt-get on Ubuntu or Debian, etc) proved +packaging systems (FreeBSD ports, apt-get on Ubuntu and Debian, etc) proved impractical. You can still get this behavior if you need it, by installing from source and using the --enable-rcynic-jail option to ./configure. @@ -43,21 +43,23 @@ rcynic stores its database using filenames derived from the RPKI rsync URIs at which the data are published. All configuration is via an OpenSSL-style configuration file, except for -selection of the name of the configuration file itself. A few of the parameters +selection of the name of the configuration file itself. A few other parameters can also be set from the command line. The default name for the configuration is "rcynic.conf"; you can override this with the -c option on the command line. -The config file uses OpenSSL's config file syntax, and you can set OpenSSL -library configuration paramaters (eg, "engine" settings) in the config file as -well. rcynic's own configuration parameters are in a section called "[rcynic]". +The configuration file uses OpenSSL's configuration file syntax, and you can +set OpenSSL library configuration paramaters (eg, "engine" settings) in the +config file as well. rcynic's own configuration parameters are in a section +called "[rcynic]". Most configuration parameters are optional and have defaults which should do something reasonable if you are running rcynic in a test directory. If you're -running rcynic as a system progran, perhaps under cron, you'll want to set -additional parameters to tell rcynic where to find its data and where to write -its output (the installation process sets these parameters for you). The -configuration file itself, however, is not optional. In order for rcynic to do -anything useful, your configuration file MUST tell rcynic where to find one or -more RPKI trust anchors or trust anchor locators. +running rcynic as a system program, perhaps under cron via the rcynic-cron +script, you'll want to set additional parameters to tell rcynic where to find +its data and where to write its output (the installation process sets these +parameters for you). The configuration file itself, however, is not optional. +In order for rcynic to do anything useful, your configuration file MUST at +minimum tell rcynic where to find one or more RPKI trust anchors or trust +anchor locators (TALs). **** Trust anchors **** @@ -92,9 +94,10 @@ technically correct, may not be useful. See the make-tal.sh script in this directory if you need to generate your own TAL file for a trust anchor. -As of this writing, there still is no global trust anchor for the RPKI system, -so you have to provide separate trust anchors for each Regional Internet -Registry (RIR) which is publishing RPKI data: +As of this writing, there still is no single global trust anchor for the RPKI +system, so you have to provide separate trust anchors for each Regional +Internet Registry (RIR) which is publishing RPKI data. The installation process +installs the ones it knows about. Example of a minimal config file specifying nothing but trust anchor locators: @@ -127,7 +130,7 @@ unauthenticated:: authenticated:: Data which rcynic has checked. This is the real output of the - process. + validation process. authenticated is really a symbolic link to a directory with a name of the form "authenticated.<timestamp>", where <timestamp> is an ISO 8601 timestamp like @@ -137,7 +140,7 @@ process completes. The intent is that authenticated always points to the most recent usable validation results, so that programs which use rcynic's output don't need to worry about whether an rcynic run is in progress. -rynic installs trust anchors specified via the trust-anchor-locator directive +rcynic installs trust anchors specified via the trust-anchor-locator directive in the unauthenticated tree just like any other fetched object, and copies them into the authenticated trees just like any other object once they pass rcynic's checks. @@ -150,7 +153,7 @@ same values that OpenSSL's c_hash Perl script would produce. The reason for this naming scheme is that these trust anchors, by definition, are not fetched automatically, and thus do not really have publication URIs in the sense that every other object in these trees do. So rcynic uses a naming scheme which -insures +insures: * that each trust anchor has a unique name within the output tree and @@ -167,7 +170,7 @@ anchor-locator directives, respectively. **** Logging levels **** -rcynic has its own system of logging levels, similar to what syslog() uses but +rcynic has its own system of logging levels, similar to what syslog() uses, but customized to the specific task rcynic performs. log_sys_err Error from operating system or library @@ -241,10 +244,8 @@ with unreachable repositories. Used improperly, this option can generate excessive load on repositories, cause synchronization to be interrupted by firewalls, and generally creates create a public nuisance. Use with caution. -As of this writing, values in the range 2-4 are reasonably safe. At least one -RIR currently refuses service at settings above 4, and another RIR appears to -be running some kind of firewall that silently blocks connections when it -thinks decides that the connection rate is excessive. +As of this writing, values in the range 2-4 are reasonably safe. Values above +10 have been known to cause problems. rcynic can't really detect all of the possible problems created by excessive values of this parameter, but if rcynic's report shows that both successful @@ -321,7 +322,7 @@ specified in number of seconds. rcynic will pick a random number within the interval from zero to this value, and will delay for that many seconds on startup. The purpose of this is to spread the load from large numbers of rcynic clients all running under cron with synchronized clocks, in particular to avoid -hammering the RPKI rsync servers into the ground at midnight UTC. +hammering the global RPKI rsync servers into the ground at midnight UTC. Default: 600 @@ -339,7 +340,7 @@ Default: no lock Enable output of a per-host summary at the end of an rcynic run in XML format. Value: filename to which XML summary should be written; "-" will send XML -summary to stdout. +summary to standard output. Default: no XML summary. @@ -426,8 +427,14 @@ Default: true **** allow-non-self-signed-trust-anchor **** Experimental. Attempts to work around OpenSSL's strong preference for self- -signed trust anchors. Do not even consider enabling this unless you are -intimately familiar with X.509 and really know what you are doing. +signed trust anchors. + +We're not going to explain this one in any further detail. If you really want +to know what it does, Use The Source. + +Do not even consider enabling this option unless you are intimately familiar +with both X.509 and the internals of OpenSSL's X509_verify_cert() function and +really know what you are doing. Values: true or false. @@ -435,15 +442,15 @@ Default: false **** run-rsync **** -Whether to run rsync to fetch data. You don't want to change this except when -building complex topologies where rcynic running on one set of machines acts as -aggregators for another set of validators. A large ISP might want to build such -a topology so that they could have a local validation cache in each POP while -minimizing load on the global repository system and maintaining some degree of -internal consistancy between POPs. In such cases, one might want the rcynic -instances in the POPs to validate data fetched from the aggregators via an -external process, without the POP rcynic instances attempting to fetch anything -themselves. +Whether to run rsync to fetch data. You don't generally want to change this +except when building complex topologies where rcynic running on one set of +machines acts as aggregators for another set of validators. A large ISP might +want to build such a topology so that they could have a local validation cache +in each POP while minimizing load on the global repository system and +maintaining some degree of internal consistancy between POPs. In such cases, +one might want the rcynic instances in the POPs to validate data fetched from +the aggregators via an external process, without the POP rcynic instances +attempting to fetch anything themselves. Values: true or false. @@ -474,7 +481,7 @@ behavior when run with this option set to false. Skipping the rsync fetch when we already have a valid cached manifest can significantly reduce the total number of rsync connections we need to make, and -significantly reduce the load each validator places on the authoritative +significantly reduce the load that each validator places on the authoritative publication servers. As with any caching scheme, however, there are some potential problems involved with not fetching the latest data, and we don't yet have enough experience with this option to know how this will play out in @@ -493,10 +500,13 @@ No default. **** trust-anchor-locator **** -Specify one RPKI trust anchor, represented as a local file containing an rsync -URI and the RSA public key of the X.509 object specified by the URI. First line -of the file is the URI, remainder is the public key in Base64 encoded DER -format. Value of this option is the pathname of the file. +Specify one RPKI trust anchor locator, represented as a local file in the +format specified in RFC-6490. This a simple text format containing an rsync URI +and the RSA public key of the X.509 object specified by the URI; the first line +of the file is the URI, the remainder is the public key in Base64 encoded DER +format. + +Value of this option is the pathname of the file. No default. @@ -550,13 +560,15 @@ binary option: **** rcynic.xsl **** -rcynic.xsl was an earlier attempt at the same kind of HTML display as rcynic- -html. XSLT was a convenient language for our initial attempts at this, but as -the processing got more and more complex, it became obvious that we needed a -general purpose programming language. If for some reason XSLT works better in -your environment than Python, you might find this stylesheet to be a useful -starting point, but be warned that it's significantly slower than rcynic-html, -lacks many features, and is no longer under development. +rcynic.xsl was an earlier attempt at the same kind of HTML output as rcynic- +html generates. XSLT was a convenient language for our initial attempts at +this, but as the processing involved got more complex, it became obvious that +we needed a general purpose programming language. + +If for some reason XSLT works better in your environment than Python, you might +find this stylesheet to be a useful starting point, but be warned that it's +significantly slower than rcynic-html, lacks many features, and is no longer +under development. **** rcynic-text **** diff --git a/doc/manual.pdf b/doc/manual.pdf Binary files differindex 7d83d0a3..150463f6 100644 --- a/doc/manual.pdf +++ b/doc/manual.pdf |