1782
|
1 #summary Granular remote host blacklisting plugin |
|
2 #labels Stage-Stable |
|
3 |
|
4 = Details = |
|
5 |
|
6 As often it's undesiderable to employ only whitelisting logics in public environments, this module let's you more selectively |
|
7 restrict access to your hosts (component or server host) either disallowing access completely (with optional exceptions) or |
|
8 blacklisting certain sources. |
|
9 |
|
10 = Usage = |
|
11 |
|
12 Copy the plugin into your prosody's modules directory. |
|
13 And add it between your enabled modules into the global section (modules_enabled): |
|
14 |
|
15 * The plugin can work either by blocking all remote access (s2s) to a certain resource with optional exceptions (useful for components) |
|
16 * Or by selectively blocking certain remote hosts through blacklisting (by using host_guard_selective and host_guard_blacklisting) |
|
17 |
|
18 = Configuration = |
|
19 |
|
20 || *Option name* || *Description* || |
|
21 || host_guard_blockall || A list of local hosts to protect from incoming s2s || |
|
22 || host_guard_blockall_exceptions || A list of remote hosts that are always allowed to access hosts listed in host_guard_blockall || |
|
23 || host_guard_selective || A list of local hosts to allow selective filtering (blacklist) of incoming s2s connections || |
|
24 || host_guard_blacklist || A blacklist of remote hosts that are not allowed to access hosts listed in host_guard_selective || |
|
25 |
|
26 == Example == |
|
27 <code language="lua"> |
|
28 host_guard_blockall = { "no_access.yourhost.com", "no_access2.yourhost.com" } -- insert here the local hosts where you want to forbid all remote traffic to. |
|
29 host_guard_blockall_exceptions = { "i_can_access.no_access.yourhost.com" } -- optional exceptions for the above. |
|
30 host_guard_selective = { "no_access_from_blsted.myhost.com", "no_access_from_blsted.mycomponent.com" } -- insert here the local hosts where you want to employ blacklisting. |
|
31 host_guard_blacklist = { "remoterogueserver.com", "remoterogueserver2.com" } -- above option/mode mandates the use of a blacklist, you may blacklist remote servers here. |
|
32 </code> |
|
33 |
|
34 The above is updated when the server configuration is reloaded so that you don't need to restart the server. |
|
35 |
|
36 = Compatibility = |
|
37 |
|
38 * Works with 0.8.x, successive versions and trunk. |