index.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <PAGE>
  2. <INCLUDE file="inc/header.tmpl" />
  3. <VAR match="VAR_SEL_INDEX" replace="selected" />
  4. <VAR match="VAR_SEL_ABOUT" replace="selected" />
  5. <PARSE file="menu1.xml" />
  6. <PARSE file="menu2.xml" />
  7. <INCLUDE file="inc/content.tmpl" />
  8. <h1>OpenConnect</h1>
  9. <p>OpenConnect is a <a href="platforms.html">cross-platform</a> multi-protocol SSL VPN client which supports a number of VPN protocols:</p>
  10. <ul>
  11. <li><a href="anyconnect.html">Cisco AnyConnect</a> (<tt>--protocol=anyconnect</tt>)</li>
  12. <li><a href="array.html">Array Networks AG SSL VPN</a> (<tt>--protocol=array</tt>)</li>
  13. <li><a href="juniper.html">Juniper SSL VPN</a> (<tt>--protocol=nc</tt>)</li>
  14. <li><a href="pulse.html">Pulse Connect Secure</a> (<tt>--protocol=pulse</tt></li>
  15. <li><a href="globalprotect.html">Palo Alto Networks GlobalProtect SSL VPN</a> (<tt>--protocol=gp</tt>)</li>
  16. <li><a href="f5.html">F5 Big-IP SSL VPN</a> (<tt>--protocol=f5</tt>)</li>
  17. <li><a href="fortinet.html">Fortinet Fortigate SSL VPN</a> (<tt>--protocol=fortinet</tt>)</li>
  18. </ul>
  19. <p>OpenConnect is not officially supported by, or associated in any way
  20. with Cisco Systems, Juniper Networks, Pulse Secure, Palo Alto Networks, F5,
  21. or Fortinet, or any of the companies whose protocols we may support in the future.
  22. It just happens to interoperate with their equipment. Trademarks belong to
  23. their owners in a rather tautological and obvious fashion.</p>
  24. <p>An openconnect VPN server (<a
  25. href="https://www.infradead.org/ocserv">ocserv</a>), which implements
  26. an improved version of the Cisco AnyConnect protocol, has also been
  27. written.</p>
  28. <p>OpenConnect is released under the <a href="licence.html">GNU Lesser Public License, version 2.1</a>.</p>
  29. <h2>Motivation</h2>
  30. <p>Development of OpenConnect was started after a trial of the Cisco AnyConnect
  31. client under Linux found it to have many deficiencies:</p>
  32. <ul>
  33. <li>Inability to use SSL certificates from a <a href="https://en.wikipedia.org/wiki/Trusted_Platform_Module">TPM</a> or
  34. <a href="https://en.wikipedia.org/wiki/PKCS11">PKCS#11</a> smartcard, or even use a passphrase.</li>
  35. <li>Lack of support for Linux platforms other than i386.</li>
  36. <li>Lack of integration with NetworkManager on the Linux desktop.</li>
  37. <li>Lack of proper (RPM/DEB) packaging for Linux distributions.</li>
  38. <li>"Stealth" use of libraries with <tt>dlopen()</tt>, even using
  39. the development-only symlinks such as <tt>libz.so</tt> &#8212;
  40. making it hard to properly discover the dependencies which
  41. proper packaging would have expressed</li>
  42. <li>Tempfile races allowing unprivileged users to trick it into overwriting arbitrary files, as root.</li>
  43. <li>Unable to run as an unprivileged user, which would have reduced the severity of the above bug.</li>
  44. <li>Inability to audit the source code for further such "Security 101" bugs.</li>
  45. </ul>
  46. <p>Naturally, OpenConnect addresses all of the above issues, and more.</p>
  47. <h2>New protocols</h2>
  48. <p>Adding new protocols to OpenConnect is relatively simple, and
  49. additional protocols have been added over the years since using
  50. OpenConnect allows a developer to concentrate on the protocol itself
  51. and most of the boring details about platform-specific tunnel management
  52. and IP configuration, and handling of client SSL certificates, are already
  53. resolved.</p>
  54. <p>If you have a protocol which you think it makes sense to support in
  55. OpenConnect, especially if you are able to help with interoperability
  56. testing, please file an <a href="https://gitlab.com/openconnect/openconnect/-/issues">issue</a>
  57. in GitLab.
  58. </p>
  59. <h2>Consistent multi-protocol support</h2>
  60. <p>Wherever possible, OpenConnect presents a uniform API and command-line
  61. interface to each of these VPNs. For example,
  62. <a href="manual.html"><tt>openconnect --force-dpd=10</tt></a>
  63. will attempt dead peer detection every 10 seconds on every VPN that
  64. supports it, even though the actual mechanism used may be protocol-specific.
  65. Protocol-specific features and deficiencies are described on the
  66. <a href="protocols.html">individual protocol pages</a>.</p>
  67. <INCLUDE file="inc/footer.tmpl" />
  68. </PAGE>