13 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
c6bccaaac0
Workaround security issues in django-axes
Newer versions of Django axes have newly way to get the IP address of a client
using ipware library. This has multiple security issues
https://github.com/jazzband/django-axes/issues/286 . Workaround them by
controlling the X-FORWARDED-FOR header sent from Apache to FreedomBox and by
limiting the headers that ipware uses.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-03-22 19:09:38 -04:00
Joseph Nuthalpati
21d6174ba0
Allow access to plinth from outside the LAN.
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-17 22:06:57 -04:00
James Valleroy
31c491ae46
Revert "Apply workaround to SSL config for mod_gnutls"
Debian bug #514005 is resolved in mod_gnutls 0.7.4-1.

This reverts commit cdda77b3b4c815b80603d1a69d793b5156c5672e.
2016-05-14 19:04:41 +05:30
Sean Alexandre
1f183bf997 Changes Apache conf files to use new mod_authz_host syntax instead of Allow/Deny
Resolves Issue https://github.com/freedombox/Plinth/issues/171
"Update Apache auth config directives"
2015-09-29 19:28:50 -04:00
James Valleroy
cdda77b3b4 Apply workaround to SSL config for mod_gnutls
HTTPS environmental variable is not set properly by mod_gnutls.
2015-09-20 12:09:09 +05:30
Sunil Mohan Adapa
100f8392e3 Fix issue with Apache configuration
I faced a situation that on my localhost resolved to an IPv6 address and
Apache was unable to connect to Plinth as Plinth does not yet listen on
IPv6 address.  It is best to change this to an explict local IP address
at least until Plinth listens on IPv6 address.
2015-09-02 19:40:54 -04:00
Sunil Mohan Adapa
9d6e17660d For SSL redirection, use 301 permanent 2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
e2ca5e0f12 Rewrite Apache configuration files
- Don't hijack the entire SSL site for sake of Plinth.

- Serve both HTTP and HTTPS sites with default configuration.

- plinth-ssl configuration only make SSL compulsory.

- Document modules required for configuration to work properly.

- Don't disable default site during FreedomBox setup run.  This is no
  longer required.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1b6969a8a6 Rethink how proxied headers are handled
- Request Apache to send X-Forwarded-Proto header.

- Use X-Forwarded-Proto header to understand original protocol
  requested.

- Use X-Forwarded-Host header to understand original host requested.

- Allow any incoming host header so that FreedomBox can have any
  hostname and when user requests for Plint with that hostname, it
  works.

- Don't depend on Apache to rewrite the Location: header.  Instead use
  the original host and original scheme to set proper Location: header.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
eec249d006 Don't preserve Host header during Apache proxying
When Apache proxy forwards a request it usually makes the request to the
backend server with a new Host: header but sends the original host
information using a special header X-FORWARDED-HOST: header.  It is a
common practise.  The backend can be make the choice of which header to
use based on the knowledge that it is running behind a proxy server.

Since hostname of a FreedomBox machine could be anyting and it could
change during the operation of Plinth, having a list of incoming Host:
header values is not going to be easy in Plinth.  If Apache were not to
force override this header, managing list of Host: header values will
become easiler in Plinth.  If Plinth indeed wants to know the original
host name by which user refferred to it, it can use the
X-FORWARDED-HOST: header which is the norm in these situtations.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
5d79ad6dc5 Don't service static files directly from Apache
We are allowing modules to bring their own static content.  If we need
to configure Apache to serve static URLs directly, Apache will have know
all the static URLs generated by all the modules.  If these details are
provided, it will likely effect our modularity.

The current static URL given in Apache configuration is anyway
incorrect.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1e317cfb37 Allow more local IP addresses in Apache configuration 2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
e6dbcdccaa Move all misc files under misc directory 2014-08-30 09:38:24 +05:30