summaryrefslogtreecommitdiff
path: root/puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2016-06-09 17:33:59 +0200
committervarac <varacanero@zeromail.org>2016-06-14 12:05:18 +0200
commite9d6f1629c4655e9e99721a2f18d3a04a2a503ba (patch)
tree6254b06e273fcdee642d97bd75b391fb1e0319e5 /puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp
parentab595db9d4e761c01e2232d0d35b478e9d53e26c (diff)
git subrepo clone https://leap.se/git/puppet_shorewall puppet/modules/shorewall
subrepo: subdir: "puppet/modules/shorewall" merged: "34fbca6" upstream: origin: "https://leap.se/git/puppet_shorewall" branch: "master" commit: "34fbca6" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "cb2995b"
Diffstat (limited to 'puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp')
-rw-r--r--puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp32
1 files changed, 32 insertions, 0 deletions
diff --git a/puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp b/puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp
new file mode 100644
index 00000000..80240ec7
--- /dev/null
+++ b/puppet/modules/shorewall/manifests/rules/torify/reject_non_tor.pp
@@ -0,0 +1,32 @@
+define shorewall::rules::torify::reject_non_tor(
+ $user = '-',
+ $originaldest = '-',
+ $allow_rfc1918 = true
+){
+
+ # hash the destination as it may contain slashes
+ $originaldest_sha1 = sha1($originaldest)
+ $rule = "reject-non-tor-from-${user}-to=${originaldest_sha1}"
+
+ if $originaldest == '-' {
+ $originaldest_real = $allow_rfc1918 ? {
+ false => '!127.0.0.1',
+ default => '!127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16',
+ }
+ } else {
+ $originaldest_real = $originaldest
+ }
+
+ if !defined(Shorewall::Rule["$rule"]) {
+ shorewall::rule {
+ "$rule":
+ source => '$FW',
+ destination => 'all',
+ originaldest => $originaldest_real,
+ user => $user,
+ order => 120,
+ action => 'REJECT';
+ }
+ }
+
+}