Fossil SCM
Clarified the early parts of www/ssl.wiki.
Commit
df389b91f111193dae07cd826c754663f689b0d25dbf89038835574088e91786
Parent
9ce7e77d9836ceb…
1 file changed
+16
-31
+16
-31
| --- www/ssl.wiki | ||
| +++ www/ssl.wiki | ||
| @@ -1,25 +1,21 @@ | ||
| 1 | 1 | <title>Securing a Repository with TLS</title> |
| 2 | 2 | |
| 3 | -<h2>Using TLS-Encrypted Communications with Fossil</h2> | |
| 3 | +<h2>Motivation</h2> | |
| 4 | 4 | |
| 5 | 5 | If you are storing sensitive information in a repository accessible over |
| 6 | 6 | a network whose integrity you do not fully trust, you should use TLS to |
| 7 | 7 | encrypt all communications with it. This is most true for repositories |
| 8 | 8 | accessed over the Internet, especially if they will be accessed from |
| 9 | -edge networks you do not control, since that admits of various forms of | |
| 9 | +edge networks you do not control, since that allows various forms of | |
| 10 | 10 | [https://en.wikipedia.org/wiki/Man-in-the-middle_attack|man in the |
| 11 | 11 | middle attack]. |
| 12 | 12 | |
| 13 | 13 | TLS protects the credentials used to access the server, prevents |
| 14 | 14 | eavesdropping, prevents in-flight data modification, prevents server |
| 15 | 15 | identify spoofing, and more. |
| 16 | 16 | |
| 17 | -There are two major aspects to this, both of which have to be addressed | |
| 18 | -in different ways. Those are the subjects of the next two major | |
| 19 | -sections. | |
| 20 | - | |
| 21 | 17 | |
| 22 | 18 | <h2 id="client">Client-Side Configuration</h2> |
| 23 | 19 | |
| 24 | 20 | You can build Fossil against [https://www.openssl.org/ | |
| 25 | 21 | OpenSSL] to allow it to clone and sync with a remote |
| @@ -38,44 +34,33 @@ | ||
| 38 | 34 | package manager. Examples: |
| 39 | 35 | |
| 40 | 36 | * <b>RHEL & Fedora</b>: <tt>sudo dnf install openssl-devel</tt> |
| 41 | 37 | * <b>Debian & Ubuntu</b>: <tt>sudo apt install libssl-dev</tt> |
| 42 | 38 | * <b>FreeBSD</b>: <tt>su -c 'pkg install openssl'</tt> |
| 43 | - * <b>macOS</b>: <tt>sudo brew install openssl</tt> | |
| 39 | + * <b>macOS</b>: <tt>brew install openssl</tt> | |
| 44 | 40 | * <b>Cygwin</b>: Install <tt>openssl-devel</tt> via Cygwin's |
| 45 | 41 | <tt>setup-*.exe</tt> program |
| 46 | 42 | |
| 47 | -The macOS case requires explanation. Apple last shipped OpenSSL | |
| 48 | -develpoment files in OS X 10.6 (Snow Leopard), choosing to deprecate it | |
| 49 | -from that point forward. (Apple wants you to use their proprietary | |
| 50 | -platform-specific encryption methods instead.) Since macOS has no | |
| 51 | -built-in package manager, a number have sprung up out of the FOSS world. | |
| 52 | -It is not known to this author whether Fossil's current build system can | |
| 53 | -find OpenSSL as installed with any of these other package managers, so | |
| 54 | -unless you have a particular reason to avoid it, we recomend that you | |
| 55 | -use [https://brew.sh|Homebrew] on macOS to install OpenSSL as above. | |
| 56 | -Fossil's build system will seek it out and use it automatically. | |
| 43 | +The macOS case requires explanation. Apple deprecated OpenSSL in favor | |
| 44 | +of the nominally API-compatible LibreSSL long ago, but the conformance | |
| 45 | +often lags in ways that affect whether Fossil will build against it. | |
| 46 | +The [https://brew.sh | Homebrew] method given above is not the only way | |
| 47 | +to install the OpenSSL development libraries on macOS, but it *is* the | |
| 48 | +only one the <tt>configure</tt> script includes automatic checks for. | |
| 57 | 49 | |
| 58 | 50 | |
| 59 | 51 | <h3 id="openssl-src">Building Against a Non-Platform Version of |
| 60 | 52 | OpenSSL</h3> |
| 61 | 53 | |
| 62 | -The Fossil build system has a few other methods for finding OpenSSL when | |
| 63 | -the automatic methods fail or when you'd prefer that Fossil use a | |
| 64 | -different version of OpenSSL than the one Fossil's build system picks on | |
| 65 | -its own. | |
| 66 | - | |
| 67 | -A good reason to do this is when the Fossil build system finds a | |
| 68 | -functioning version of OpenSSL which is nevertheless unsuitable. One | |
| 69 | -common case is that your OS is sufficiently outdated that the platform | |
| 54 | +The Fossil build system offers manual overrides for finding OpenSSL. | |
| 55 | +These are useful either when the automatic methods fail or when you'd | |
| 56 | +prefer that Fossil use a different version of OpenSSL than the one | |
| 57 | +Fossil's build system picks on its own. Perhaps the most common reason | |
| 58 | +to do this is when your OS is sufficiently outdated that the platform | |
| 70 | 59 | version of OpenSSL can no longer communicate with remote systems |
| 71 | -adhering to the latest advice on secure communications. An old OpenSSL | |
| 72 | -might not support any of the | |
| 73 | -[https://en.wikipedia.org/wiki/Cipher_suite|cipher suites] the remote | |
| 74 | -Fossil repository's HTTPS proxy is willing to offer, for example, so | |
| 75 | -that even though both sides are speaking a variant of TLS/SSL, the peers | |
| 76 | -cannot come to an agreement on the cryptography. | |
| 60 | +adhering to the latest advice on secure communications for lack of | |
| 61 | +compatible [https://en.wikipedia.org/wiki/Cipher_suite | cipher suites]. | |
| 77 | 62 | |
| 78 | 63 | If you've installed the OpenSSL development files somewhere that |
| 79 | 64 | Fossil's build system cannot find on its own, you can clue it in by |
| 80 | 65 | passing the <tt>--with-openssl</tt> option to the <tt>configure</tt> |
| 81 | 66 | script. Type <tt>./configure --help</tt> for details. |
| 82 | 67 |
| --- www/ssl.wiki | |
| +++ www/ssl.wiki | |
| @@ -1,25 +1,21 @@ | |
| 1 | <title>Securing a Repository with TLS</title> |
| 2 | |
| 3 | <h2>Using TLS-Encrypted Communications with Fossil</h2> |
| 4 | |
| 5 | If you are storing sensitive information in a repository accessible over |
| 6 | a network whose integrity you do not fully trust, you should use TLS to |
| 7 | encrypt all communications with it. This is most true for repositories |
| 8 | accessed over the Internet, especially if they will be accessed from |
| 9 | edge networks you do not control, since that admits of various forms of |
| 10 | [https://en.wikipedia.org/wiki/Man-in-the-middle_attack|man in the |
| 11 | middle attack]. |
| 12 | |
| 13 | TLS protects the credentials used to access the server, prevents |
| 14 | eavesdropping, prevents in-flight data modification, prevents server |
| 15 | identify spoofing, and more. |
| 16 | |
| 17 | There are two major aspects to this, both of which have to be addressed |
| 18 | in different ways. Those are the subjects of the next two major |
| 19 | sections. |
| 20 | |
| 21 | |
| 22 | <h2 id="client">Client-Side Configuration</h2> |
| 23 | |
| 24 | You can build Fossil against [https://www.openssl.org/ | |
| 25 | OpenSSL] to allow it to clone and sync with a remote |
| @@ -38,44 +34,33 @@ | |
| 38 | package manager. Examples: |
| 39 | |
| 40 | * <b>RHEL & Fedora</b>: <tt>sudo dnf install openssl-devel</tt> |
| 41 | * <b>Debian & Ubuntu</b>: <tt>sudo apt install libssl-dev</tt> |
| 42 | * <b>FreeBSD</b>: <tt>su -c 'pkg install openssl'</tt> |
| 43 | * <b>macOS</b>: <tt>sudo brew install openssl</tt> |
| 44 | * <b>Cygwin</b>: Install <tt>openssl-devel</tt> via Cygwin's |
| 45 | <tt>setup-*.exe</tt> program |
| 46 | |
| 47 | The macOS case requires explanation. Apple last shipped OpenSSL |
| 48 | develpoment files in OS X 10.6 (Snow Leopard), choosing to deprecate it |
| 49 | from that point forward. (Apple wants you to use their proprietary |
| 50 | platform-specific encryption methods instead.) Since macOS has no |
| 51 | built-in package manager, a number have sprung up out of the FOSS world. |
| 52 | It is not known to this author whether Fossil's current build system can |
| 53 | find OpenSSL as installed with any of these other package managers, so |
| 54 | unless you have a particular reason to avoid it, we recomend that you |
| 55 | use [https://brew.sh|Homebrew] on macOS to install OpenSSL as above. |
| 56 | Fossil's build system will seek it out and use it automatically. |
| 57 | |
| 58 | |
| 59 | <h3 id="openssl-src">Building Against a Non-Platform Version of |
| 60 | OpenSSL</h3> |
| 61 | |
| 62 | The Fossil build system has a few other methods for finding OpenSSL when |
| 63 | the automatic methods fail or when you'd prefer that Fossil use a |
| 64 | different version of OpenSSL than the one Fossil's build system picks on |
| 65 | its own. |
| 66 | |
| 67 | A good reason to do this is when the Fossil build system finds a |
| 68 | functioning version of OpenSSL which is nevertheless unsuitable. One |
| 69 | common case is that your OS is sufficiently outdated that the platform |
| 70 | version of OpenSSL can no longer communicate with remote systems |
| 71 | adhering to the latest advice on secure communications. An old OpenSSL |
| 72 | might not support any of the |
| 73 | [https://en.wikipedia.org/wiki/Cipher_suite|cipher suites] the remote |
| 74 | Fossil repository's HTTPS proxy is willing to offer, for example, so |
| 75 | that even though both sides are speaking a variant of TLS/SSL, the peers |
| 76 | cannot come to an agreement on the cryptography. |
| 77 | |
| 78 | If you've installed the OpenSSL development files somewhere that |
| 79 | Fossil's build system cannot find on its own, you can clue it in by |
| 80 | passing the <tt>--with-openssl</tt> option to the <tt>configure</tt> |
| 81 | script. Type <tt>./configure --help</tt> for details. |
| 82 |
| --- www/ssl.wiki | |
| +++ www/ssl.wiki | |
| @@ -1,25 +1,21 @@ | |
| 1 | <title>Securing a Repository with TLS</title> |
| 2 | |
| 3 | <h2>Motivation</h2> |
| 4 | |
| 5 | If you are storing sensitive information in a repository accessible over |
| 6 | a network whose integrity you do not fully trust, you should use TLS to |
| 7 | encrypt all communications with it. This is most true for repositories |
| 8 | accessed over the Internet, especially if they will be accessed from |
| 9 | edge networks you do not control, since that allows various forms of |
| 10 | [https://en.wikipedia.org/wiki/Man-in-the-middle_attack|man in the |
| 11 | middle attack]. |
| 12 | |
| 13 | TLS protects the credentials used to access the server, prevents |
| 14 | eavesdropping, prevents in-flight data modification, prevents server |
| 15 | identify spoofing, and more. |
| 16 | |
| 17 | |
| 18 | <h2 id="client">Client-Side Configuration</h2> |
| 19 | |
| 20 | You can build Fossil against [https://www.openssl.org/ | |
| 21 | OpenSSL] to allow it to clone and sync with a remote |
| @@ -38,44 +34,33 @@ | |
| 34 | package manager. Examples: |
| 35 | |
| 36 | * <b>RHEL & Fedora</b>: <tt>sudo dnf install openssl-devel</tt> |
| 37 | * <b>Debian & Ubuntu</b>: <tt>sudo apt install libssl-dev</tt> |
| 38 | * <b>FreeBSD</b>: <tt>su -c 'pkg install openssl'</tt> |
| 39 | * <b>macOS</b>: <tt>brew install openssl</tt> |
| 40 | * <b>Cygwin</b>: Install <tt>openssl-devel</tt> via Cygwin's |
| 41 | <tt>setup-*.exe</tt> program |
| 42 | |
| 43 | The macOS case requires explanation. Apple deprecated OpenSSL in favor |
| 44 | of the nominally API-compatible LibreSSL long ago, but the conformance |
| 45 | often lags in ways that affect whether Fossil will build against it. |
| 46 | The [https://brew.sh | Homebrew] method given above is not the only way |
| 47 | to install the OpenSSL development libraries on macOS, but it *is* the |
| 48 | only one the <tt>configure</tt> script includes automatic checks for. |
| 49 | |
| 50 | |
| 51 | <h3 id="openssl-src">Building Against a Non-Platform Version of |
| 52 | OpenSSL</h3> |
| 53 | |
| 54 | The Fossil build system offers manual overrides for finding OpenSSL. |
| 55 | These are useful either when the automatic methods fail or when you'd |
| 56 | prefer that Fossil use a different version of OpenSSL than the one |
| 57 | Fossil's build system picks on its own. Perhaps the most common reason |
| 58 | to do this is when your OS is sufficiently outdated that the platform |
| 59 | version of OpenSSL can no longer communicate with remote systems |
| 60 | adhering to the latest advice on secure communications for lack of |
| 61 | compatible [https://en.wikipedia.org/wiki/Cipher_suite | cipher suites]. |
| 62 | |
| 63 | If you've installed the OpenSSL development files somewhere that |
| 64 | Fossil's build system cannot find on its own, you can clue it in by |
| 65 | passing the <tt>--with-openssl</tt> option to the <tt>configure</tt> |
| 66 | script. Type <tt>./configure --help</tt> for details. |
| 67 |