1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 09:42:41 +01:00
phorge-phorge/src/aphront
epriestley fa7bb8ff7a Add cluster.addresses and require membership before accepting cluster authentication tokens
Summary:
Ref T2783. Ref T6706.

  - Add `cluster.addresses`. This is a whitelist of CIDR blocks which define cluster hosts.
  - When we recieve a request that has a cluster-based authentication token, require the cluster to be configured and require the remote address to be a cluster member before we accept it.
    - This provides a general layer of security for these mechanisms.
    - In particular, it means they do not work by default on unconfigured hosts.
  - When cluster addresses are configured, and we receive a request //to// an address not on the list, reject it.
    - This provides a general layer of security for getting the Ops side of cluster configuration correct.
    - If cluster nodes have public IPs and are listening on them, we'll reject requests.
    - Basically, this means that any requests which bypass the LB get rejected.

Test Plan:
  - With addresses not configured, tried to make requests; rejected for using a cluster auth mechanism.
  - With addresses configred wrong, tried to make requests; rejected for sending from (or to) an address outside of the cluster.
  - With addresses configured correctly, made valid requests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T6706, T2783

Differential Revision: https://secure.phabricator.com/D11159
2015-01-02 15:13:41 -08:00
..
__tests__ Fix an issue where PHP puts the content type in CONTENT_TYPE instead of HTTP_CONTENT_TYPE 2013-11-11 12:17:34 -08:00
configuration Add cluster.addresses and require membership before accepting cluster authentication tokens 2015-01-02 15:13:41 -08:00
exception Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
response Improve top-level exception handling 2015-01-02 10:49:27 -08:00
sink Remove @group annotations 2014-07-10 08:12:48 +10:00
AphrontController.php Decouple some aspects of request routing and construction 2014-10-17 05:01:40 -07:00
AphrontRequest.php Decouple some aspects of request routing and construction 2014-10-17 05:01:40 -07:00
AphrontURIMapper.php Remove @group annotations 2014-07-10 08:12:48 +10:00