Commit Graph
41 Commits
Author SHA1 Message Date
Nikos Mavrogiannopoulos a617485232 enforce of IP banning was moved to main 2015-02-25 13:16:56 +01:00
Nikos Mavrogiannopoulos 40e96aae45 Separated accounting from authentication. 2015-02-23 15:19:44 +01:00
Nikos Mavrogiannopoulos 88e008cda3 radius: when sending accounting information include any updated IP 2015-02-23 09:34:06 +01:00
Nikos Mavrogiannopoulos 4a940145ad doc update 2015-02-19 11:47:20 +01:00
Nikos MavrogiannopoulosandNikos Mavrogiannopoulos afef74fa23 removed the certificate[optional] auth type 2015-02-19 11:47:20 +01:00
Nikos Mavrogiannopoulos 8bb0af61bc Added GSSAPI as an additional password auth mechanism
That also adds the ability to support an OR composition of multiple
authentication methods. That is using the 'enable-auth' config option.
2015-02-19 11:47:20 +01:00
Nikos Mavrogiannopoulos 3d55134215 when opening a session forward the received cookie to sec-module
That allows to verify that the cookie hasn't been tampered
without relying only on the MAC.
2015-02-12 21:44:32 +01:00
Nikos Mavrogiannopoulos bcea928abe Added support for no-routes (X-Split-Exclude) 2015-02-06 14:05:10 +01:00
Nikos Mavrogiannopoulos 6f714d6f2e report the compression algorithms to occtl 2015-01-15 19:04:43 +01:00
Nikos Mavrogiannopoulos 3d7ac2c98c bind to the address we received UDP on
That in addition allocates a new UDP socket per client,
and forwards the initial client hello to the worker
process as auxillary data. That, eliminates the need to
re-open the main server's UDP socket per client connection.
2015-01-11 00:46:34 +01:00
Nikos Mavrogiannopoulos 9fc8568107 ensure that stats are only updated if they increase
That is, transferred bytes will not decrease in an update
due to miscommunication between main and workers.
2014-12-14 20:00:33 +01:00
Nikos Mavrogiannopoulos 853f7876cd radius: increase the info sent during accounting requests
Based on suggestions by Niels Peen. That adds:
Calling-Station-Id in auth message, and Service-Type,
Framed-Protocol, Framed-IP-Address, Acct-Authentic,
NAS-Port-Type, Acct-Session-Time in acct messages.
2014-12-14 15:03:59 +01:00
Nikos Mavrogiannopoulos 35e93c6341 added option to send statistics periodically to sec-mod 2014-12-10 11:18:23 +01:00
Nikos Mavrogiannopoulos baa3e4701e Supplementary configuration is now read by the security module.
That allows sec-mod to handle both authentication and accounting.
That deprecates the session-control configuration option.
2014-12-08 13:52:28 +01:00
Nikos Mavrogiannopoulos 78b3685f7a Generate a new DTLS session ID on every cookie connection
That allows openconnect to distinguish when the DTLS key has switched.
2014-11-16 10:00:15 +01:00
Nikos Mavrogiannopoulos 365ca267d4 added new authentication mode optional-certificate
That mode allows having only specific group of users that are required
to present a certificate.
2014-09-24 12:41:31 +02:00
Nikos Mavrogiannopoulos 265e723cdb send the IPv6 netmask in a compatible with cisco servers way 2014-09-09 09:36:48 +02:00
Nikos Mavrogiannopoulos c781bea7cd user-profile is now allowed in per-user configuration 2014-07-31 14:57:09 +02:00
Nikos Mavrogiannopoulos 28dca2aa0c Added support for session control (relevant for PAM for now)
That in effect will utilize the pam_open_session() and pam_close_session().
It is disabled by default as it requires more resources from the security module.
2014-06-10 15:16:40 +02:00
Nikos Mavrogiannopoulos 01db3e5817 Include the SID into the cookie and store it in proc_st. 2014-06-10 10:41:10 +02:00
Nikos Mavrogiannopoulos 46f9327684 removed unused protobuf variable 2014-06-09 16:55:49 +02:00
Nikos Mavrogiannopoulos 28943341db Added the proxy-url option to allow sending a proxy URL.
This corresponds to the X-CSTP-MSIE-Proxy-Pac-URL CSTP header.
2014-05-23 11:04:30 +02:00
Nikos Mavrogiannopoulos 6dcc9acf77 Restrict cookies to a single IP address. 2014-05-21 16:19:07 +02:00
Nikos Mavrogiannopoulos 6ca3c4761c Cookies are packed using protocol buffers to reduce their size. 2014-05-21 16:11:05 +02:00
Nikos Mavrogiannopoulos aef5dc0633 Allow multiple groups to be present in a client certificate.
In that case the user will be prompted to select a group.
2014-05-20 15:36:40 +02:00
Nikos MavrogiannopoulosandNikos Mavrogiannopoulos 4755ee48c5 Added the select-group and auto-select-group config options.
These options allow to prompt the user for a group prior to login.
That in addition enhances the password file format and multiple groups
can be specified on a comma separated list, as:
user:group1,group2,group3:$5$encodedpassword
2014-05-19 18:25:25 +02:00
Nikos Mavrogiannopoulos 09704b8819 Password authentication is now delegated to sec-mod.
That prevents any memory from the authentication modules to be leaked
to a worker process. As a result, the status zombie and dead no longer
exists.
2014-05-14 11:37:01 +02:00
Nikos Mavrogiannopoulos 1465a5922c Added no-udp group configuration option.
That options allows disabling UDP for specific users or groups.
2014-05-12 10:29:29 +02:00
Nikos Mavrogiannopoulos 2a0cc77c2e Export TUN device statistics from the worker process.
When a worker process terminates in authenticated state, then
export statistics from the tun device (currently bytes_in and
bytes_out). These statistics are sent to main process using an
informational message just prior to process exit. The statistics
are also exported to the disconnect script using the STATS_BYTES_IN
and STATS_BYTES_OUT environment variables.
2014-04-28 17:32:51 +02:00
Nikos Mavrogiannopoulos 489368c58e When receiving unexpected UDP packets, check if they match a known IP and forward them.
This will not work for many clients that come from a single IP but will
work-around issues, when clients are behind a NAT that keeps their UDP port
state for shorter time than DPD.
2014-04-19 10:29:57 +02:00
Nikos Mavrogiannopoulos 991455065f simplified handling of CISCO reconnecting clients.
Instead of having a client use the initial SID over and over,
re-set the SID cookie, during authentication when needed. That
way we avoid having expensive checks to ensure uniqueness of SID.
2014-02-16 22:47:45 +01:00
Nikos Mavrogiannopoulos 3b9971b7e8 Added support for the "new" type of IP6 support in AnyConnect.
If the client sends "X-CSTP-Full-IPv6-Capability: true", then we
use the headers:
     X-CSTP-Address-IP6: 2001:db8:1000:1000::1/64
     X-CSTP-Split-Include-IP6: 2001:db8:1000:1001::/64
     X-CSTP-Split-Include-IP6: 2001:db8:1000:1002::/64

(see corresponding openconnect change)
2014-02-15 13:51:03 +01:00
Nikos Mavrogiannopoulos 0ec67882c0 Added support for multiple DNS and NBNS servers.
This patch also combines ipv4-dns and ipv6-dns options
that are now handled as aliases to dns.

A side-effect of this patch is that the local keyword is no
longer supported.
2014-02-01 14:50:52 +01:00
Nikos Mavrogiannopoulos 28e5d62f3f The worker process receives the client's IPs from the main process.
That eliminates the need to read the IP address from the tun device
(which can be quite tricky to implement in a clean portable way).
2014-01-31 20:53:45 +01:00
Nikos Mavrogiannopoulos 9d2b10de22 Use base64 to encode Cookies. That reduces the size of the cookie. 2014-01-19 09:14:11 +01:00
Nikos Mavrogiannopoulos b9fe6b6263 instead of using the TLS session ID as session identifier prior to authentication use the webvpncontext cookie. 2014-01-19 02:59:04 +01:00
Nikos Mavrogiannopoulos 7145db0d54 Added sketch of authentication protocol between main and worker. 2014-01-18 15:06:16 +01:00
Nikos Mavrogiannopoulos b1af6f2829 enabling cisco-client-compat allows 'stealing' of processes.
This change puts a proc_st that its client has terminated to a "zombie"
state. That state will allow a client that connects later using the
same TLS session ID to reclaim it. That way clients that try to authenticate
by sending their credentials in different sessions can still authenticate with
ocserv. That however puts more trust to worker processes (as the main
process has no way of telling whether a TLS session is certainly
resumed).
2014-01-18 15:06:10 +01:00
Nikos Mavrogiannopoulos 39572b3d48 Store User-Agent information and send to occtl. 2014-01-12 14:35:58 +01:00
Nikos Mavrogiannopoulos 33dfbdea56 worker will send information on the negotiated TLS/DTLS ciphersuites to main. 2014-01-10 09:17:59 +01:00
Nikos MavrogiannopoulosandNikos Mavrogiannopoulos 058b986967 Converted IPC messaging to protocolbuffers-c
That adds a dependency on protocolbuffers-c, but simplifies
the worker-main communication protocol handling.
2013-12-21 12:38:01 +01:00