aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <syzdek@bindlebinaries.com>2014-04-24 08:42:04 -0800
committerDavid M. Syzdek <syzdek@bindlebinaries.com>2014-04-24 08:42:04 -0800
commit8bc3bb066a02c0d95c38e9bbe8fe13ce6a5995b7 (patch)
tree201e0bbbf795f00808b4af1a4901a413f1d7475d
parent318c3ece021f497f325073125593cdb92faed7ed (diff)
downloadbbfw-8bc3bb066a02c0d95c38e9bbe8fe13ce6a5995b7.tar.gz
bbfw-8bc3bb066a02c0d95c38e9bbe8fe13ce6a5995b7.tar.bz2
bbfw-8bc3bb066a02c0d95c38e9bbe8fe13ce6a5995b7.tar.xz
bbfw-8bc3bb066a02c0d95c38e9bbe8fe13ce6a5995b7.zip
Updating firewall scripts.
-rw-r--r--bindleadmin.xcodeproj/project.pbxproj18
-rwxr-xr-xsrc/slack/rc.firewall70
-rw-r--r--src/slack/rc.firewall.policy-example13
-rw-r--r--src/slack/rc.firewall.policy4-example9
-rw-r--r--src/slack/rc.firewall.policy6-example9
-rw-r--r--src/slack/rc.firewall.rules6
-rw-r--r--src/slack/rc.firewall.rules-example8
-rw-r--r--src/slack/rc.firewall.rules46
-rw-r--r--src/slack/rc.firewall.rules4-example8
-rw-r--r--src/slack/rc.firewall.rules66
-rw-r--r--src/slack/rc.firewall.rules6-example8
11 files changed, 94 insertions, 67 deletions
diff --git a/bindleadmin.xcodeproj/project.pbxproj b/bindleadmin.xcodeproj/project.pbxproj
index 9d1a595..261e5e5 100644
--- a/bindleadmin.xcodeproj/project.pbxproj
+++ b/bindleadmin.xcodeproj/project.pbxproj
@@ -22,9 +22,9 @@
22 A0519DB817CE458900400A39 /* git-proj-cleanup.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; path = "git-proj-cleanup.sh.in"; sourceTree = "<group>"; }; 22 A0519DB817CE458900400A39 /* git-proj-cleanup.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; path = "git-proj-cleanup.sh.in"; sourceTree = "<group>"; };
23 A0664F0118FD87D400A1AC67 /* cronmail.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = cronmail.sh.in; sourceTree = "<group>"; }; 23 A0664F0118FD87D400A1AC67 /* cronmail.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = cronmail.sh.in; sourceTree = "<group>"; };
24 A0664F0218FD87D400A1AC67 /* rc.firewall */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.firewall; sourceTree = "<group>"; }; 24 A0664F0218FD87D400A1AC67 /* rc.firewall */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.firewall; sourceTree = "<group>"; };
25 A0664F0318FD87D400A1AC67 /* rc.firewall.rules */ = {isa = PBXFileReference; lastKnownFileType = text; path = rc.firewall.rules; sourceTree = "<group>"; }; 25 A0664F0318FD87D400A1AC67 /* rc.firewall.rules-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.rules-example"; sourceTree = "<group>"; };
26 A0664F0418FD87D400A1AC67 /* rc.firewall.rules4 */ = {isa = PBXFileReference; lastKnownFileType = text; path = rc.firewall.rules4; sourceTree = "<group>"; }; 26 A0664F0418FD87D400A1AC67 /* rc.firewall.rules4-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.rules4-example"; sourceTree = "<group>"; };
27 A0664F0518FD87D400A1AC67 /* rc.firewall.rules6 */ = {isa = PBXFileReference; lastKnownFileType = text; path = rc.firewall.rules6; sourceTree = "<group>"; }; 27 A0664F0518FD87D400A1AC67 /* rc.firewall.rules6-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.rules6-example"; sourceTree = "<group>"; };
28 A0664F0618FD87D400A1AC67 /* rc.inet1_local */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local; sourceTree = "<group>"; }; 28 A0664F0618FD87D400A1AC67 /* rc.inet1_local */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local; sourceTree = "<group>"; };
29 A0664F0718FD87D400A1AC67 /* rc.inet1_local_down.example */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local_down.example; sourceTree = "<group>"; }; 29 A0664F0718FD87D400A1AC67 /* rc.inet1_local_down.example */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local_down.example; sourceTree = "<group>"; };
30 A0664F0818FD87D400A1AC67 /* rc.inet1_local_up.example */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local_up.example; sourceTree = "<group>"; }; 30 A0664F0818FD87D400A1AC67 /* rc.inet1_local_up.example */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = rc.inet1_local_up.example; sourceTree = "<group>"; };
@@ -33,6 +33,9 @@
33 A0664F0B18FD87D400A1AC67 /* slack-pkg-audit.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-pkg-audit.sh.in"; sourceTree = "<group>"; }; 33 A0664F0B18FD87D400A1AC67 /* slack-pkg-audit.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-pkg-audit.sh.in"; sourceTree = "<group>"; };
34 A0664F0C18FD87D400A1AC67 /* slack-sync-auth.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-sync-auth.sh.in"; sourceTree = "<group>"; }; 34 A0664F0C18FD87D400A1AC67 /* slack-sync-auth.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-sync-auth.sh.in"; sourceTree = "<group>"; };
35 A0664F0D18FD87D400A1AC67 /* slack-update-mirrors.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-update-mirrors.sh.in"; sourceTree = "<group>"; }; 35 A0664F0D18FD87D400A1AC67 /* slack-update-mirrors.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "slack-update-mirrors.sh.in"; sourceTree = "<group>"; };
36 A0D314B319097585008EDE75 /* rc.firewall.policy-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.policy-example"; sourceTree = "<group>"; };
37 A0D314B419097585008EDE75 /* rc.firewall.policy4-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.policy4-example"; sourceTree = "<group>"; };
38 A0D314B519097585008EDE75 /* rc.firewall.policy6-example */ = {isa = PBXFileReference; explicitFileType = text.script; path = "rc.firewall.policy6-example"; sourceTree = "<group>"; };
36 A0D52C9317C2E43C001352CA /* bindletools.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = bindletools.xcodeproj; path = bindletools/bindletools.xcodeproj; sourceTree = "<group>"; }; 39 A0D52C9317C2E43C001352CA /* bindletools.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = bindletools.xcodeproj; path = bindletools/bindletools.xcodeproj; sourceTree = "<group>"; };
37 A0D52C9E17C2E486001352CA /* git-proj-stats.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; path = "git-proj-stats.sh.in"; sourceTree = "<group>"; }; 40 A0D52C9E17C2E486001352CA /* git-proj-stats.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; path = "git-proj-stats.sh.in"; sourceTree = "<group>"; };
38 A0D52C9F17C2E486001352CA /* pub-generate-readme.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "pub-generate-readme.sh.in"; sourceTree = "<group>"; }; 41 A0D52C9F17C2E486001352CA /* pub-generate-readme.sh.in */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "pub-generate-readme.sh.in"; sourceTree = "<group>"; };
@@ -52,9 +55,12 @@
52 isa = PBXGroup; 55 isa = PBXGroup;
53 children = ( 56 children = (
54 A0664F0218FD87D400A1AC67 /* rc.firewall */, 57 A0664F0218FD87D400A1AC67 /* rc.firewall */,
55 A0664F0318FD87D400A1AC67 /* rc.firewall.rules */, 58 A0D314B319097585008EDE75 /* rc.firewall.policy-example */,
56 A0664F0418FD87D400A1AC67 /* rc.firewall.rules4 */, 59 A0D314B419097585008EDE75 /* rc.firewall.policy4-example */,
57 A0664F0518FD87D400A1AC67 /* rc.firewall.rules6 */, 60 A0D314B519097585008EDE75 /* rc.firewall.policy6-example */,
61 A0664F0318FD87D400A1AC67 /* rc.firewall.rules-example */,
62 A0664F0418FD87D400A1AC67 /* rc.firewall.rules4-example */,
63 A0664F0518FD87D400A1AC67 /* rc.firewall.rules6-example */,
58 A0664F0618FD87D400A1AC67 /* rc.inet1_local */, 64 A0664F0618FD87D400A1AC67 /* rc.inet1_local */,
59 A0664F0718FD87D400A1AC67 /* rc.inet1_local_down.example */, 65 A0664F0718FD87D400A1AC67 /* rc.inet1_local_down.example */,
60 A0664F0818FD87D400A1AC67 /* rc.inet1_local_up.example */, 66 A0664F0818FD87D400A1AC67 /* rc.inet1_local_up.example */,
diff --git a/src/slack/rc.firewall b/src/slack/rc.firewall
index 595e2a1..45e4a31 100755
--- a/src/slack/rc.firewall
+++ b/src/slack/rc.firewall
@@ -32,6 +32,14 @@
32# 32#
33# @BINDLE_BINARIES_BSD_LICENSE_END@ 33# @BINDLE_BINARIES_BSD_LICENSE_END@
34# 34#
35# rc.firewall - Firewall init script for Slackware
36# rc.firewall.policy - IPv4/IPv6 rules mandated by organization's policies
37# rc.firewall.policy4 - IPv4 rules mandated by organization's policies
38# rc.firewall.policy6 - IPv6 rules mandated by organization's policies
39# rc.firewall.rules - IPv4/IPv6 host specific firewall rules
40# rc.firewall.rules4 - IPv4 host specific firewall rules
41# rc.firewall.rules6 - IPv6 host specific firewall rules
42#
35 43
36########### 44###########
37# LOGGING # 45# LOGGING #
@@ -48,21 +56,36 @@ fi
48 56
49# Function to start the network: 57# Function to start the network:
50start() { 58start() {
51 # local rules 59 # apply host specific firewall rules
52 if test -f /etc/rc.d/rc.firewall.rules;then 60 if test -f /etc/rc.d/rc.firewall.rules;then
53 echo "/etc/rc.d/rc.firewall: adding IPv4/IPv6 rules (local)" 61 echo "/etc/rc.d/rc.firewall: adding IPv4/IPv6 host rules"
54 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules | /usr/sbin/iptables-restore -n 62 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules | /usr/sbin/iptables-restore -n
55 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules | /usr/sbin/ip6tables-restore -n 63 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules | /usr/sbin/ip6tables-restore -n
56 fi 64 fi
57 if test -f /etc/rc.d/rc.firewall.rules4;then 65 if test -f /etc/rc.d/rc.firewall.rules4;then
58 echo "/etc/rc.d/rc.firewall: adding IPv4 rules (local)" 66 echo "/etc/rc.d/rc.firewall: adding IPv4 host rules"
59 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules4 | /usr/sbin/iptables-restore -n 67 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules4 | /usr/sbin/iptables-restore -n
60 fi 68 fi
61 if test -f /etc/rc.d/rc.firewall.rules6;then 69 if test -f /etc/rc.d/rc.firewall.rules6;then
62 echo "/etc/rc.d/rc.firewall: adding IPv6 rules (local)" 70 echo "/etc/rc.d/rc.firewall: adding IPv6 host rules"
63 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules6 | /usr/sbin/ip6tables-restore -n 71 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.rules6 | /usr/sbin/ip6tables-restore -n
64 fi 72 fi
65 73
74 # apply company policy for firewall rules
75 if test -f /etc/rc.d/rc.firewall.policy;then
76 echo "/etc/rc.d/rc.firewall: adding IPv4/IPv6 organization policy"
77 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.policy | /usr/sbin/iptables-restore -n
78 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.policy | /usr/sbin/ip6tables-restore -n
79 fi
80 if test -f /etc/rc.d/rc.firewall.policy4;then
81 echo "/etc/rc.d/rc.firewall: adding IPv4 organization policy"
82 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.policy4 | /usr/sbin/iptables-restore -n
83 fi
84 if test -f /etc/rc.d/rc.firewall.policy6;then
85 echo "/etc/rc.d/rc.firewall: adding IPv6 organization policy"
86 /usr/bin/cut -d# -f1 /etc/rc.d/rc.firewall.policy6 | /usr/sbin/ip6tables-restore -n
87 fi
88
66 89
67 # LXC rules 90 # LXC rules
68 if test -d /var/lib/lxc/;then 91 if test -d /var/lib/lxc/;then
@@ -82,45 +105,6 @@ start() {
82 fi 105 fi
83 done 106 done
84 fi 107 fi
85
86
87 echo "/etc/rc.d/rc.firewall: adding IPv4 INPUT rules"
88 /usr/sbin/iptables -t filter -P INPUT DROP
89 /usr/sbin/iptables -t filter -I INPUT -s 10.19.80.1/32 -j ACCEPT
90 /usr/sbin/iptables -t filter -I INPUT -s 10.19.80.33/32 -j ACCEPT
91 /usr/sbin/iptables -t filter -I INPUT -s 63.140.112.161/32 -j ACCEPT
92 /usr/sbin/iptables -t filter -I INPUT -s 127.0.0.0/8 -j ACCEPT
93 /usr/sbin/iptables -t filter -I INPUT -p icmp -s 0.0.0.0/0 -j ACCEPT
94 /usr/sbin/iptables -t filter -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
95 /usr/sbin/iptables -t filter -I INPUT -p tcp --dport ident -j REJECT --reject-with tcp-reset
96 /usr/sbin/iptables -t filter -A INPUT -m limit --limit 60/minute -j LOG --log-level 7 --log-prefix "iptables drop input: "
97
98
99 echo "/etc/rc.d/rc.firewall: adding IPv4 FORWARD rules"
100 /usr/sbin/iptables -t filter -P FORWARD DROP
101 /usr/sbin/iptables -t filter -I FORWARD -p icmp -s 0.0.0.0/0 -j ACCEPT
102 /usr/sbin/iptables -t filter -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
103 /usr/sbin/iptables -t filter -I FORWARD -p tcp --dport ident -j REJECT --reject-with tcp-reset
104 /usr/sbin/iptables -t filter -A FORWARD -m limit --limit 60/minute -j LOG --log-level 7 --log-prefix "iptables drop forward: "
105
106
107 echo "/etc/rc.d/rc.firewall: adding IPv6 INPUT rules"
108 /usr/sbin/ip6tables -t filter -P INPUT DROP
109 /usr/sbin/ip6tables -t filter -I INPUT -s 2001:470:b:84a::1/128 -j ACCEPT
110 /usr/sbin/ip6tables -t filter -I INPUT -s 2001:470:b:84a::33/128 -j ACCEPT
111 /usr/sbin/ip6tables -t filter -I INPUT -s 2001:470:ea85:c::1/128 -j ACCEPT
112 /usr/sbin/ip6tables -t filter -I INPUT -s ::1/128 -j ACCEPT
113 /usr/sbin/ip6tables -t filter -I INPUT -p icmpv6 -s ::/0 -j ACCEPT
114 /usr/sbin/ip6tables -t filter -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
115 /usr/sbin/ip6tables -t filter -I INPUT -p tcp --dport ident -j REJECT --reject-with tcp-reset
116 /usr/sbin/ip6tables -t filter -A INPUT -m limit --limit 60/minute -j LOG --log-level 7 --log-prefix "iptables drop input: "
117
118
119 echo "/etc/rc.d/rc.firewall: adding IPv6 FORWARD rules"
120 /usr/sbin/ip6tables -t filter -P FORWARD DROP
121 /usr/sbin/ip6tables -t filter -I FORWARD -p icmpv6 -s ::/0 -j ACCEPT
122 /usr/sbin/ip6tables -t filter -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
123 /usr/sbin/ip6tables -t filter -A FORWARD -m limit --limit 60/minute -j LOG --log-level 7 --log-prefix "iptables drop forward: "
124} 108}
125 109
126 110
diff --git a/src/slack/rc.firewall.policy-example b/src/slack/rc.firewall.policy-example
new file mode 100644
index 0000000..2250d17
--- /dev/null
+++ b/src/slack/rc.firewall.policy-example
@@ -0,0 +1,13 @@
1
2# Adding office rules to filter table
3*filter
4:INPUT DROP
5:FORWARD DROP
6:OUTPUT ACCEPT
7-I INPUT -i lo -j ACCEPT
8-I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
9-I INPUT -p tcp --dport ident -j REJECT --reject-with tcp-reset
10-A INPUT -m limit --limit 10/minute -j LOG --log-level 7 --log-prefix "iptables drop input: "
11COMMIT
12
13# end of rules
diff --git a/src/slack/rc.firewall.policy4-example b/src/slack/rc.firewall.policy4-example
new file mode 100644
index 0000000..56c11c7
--- /dev/null
+++ b/src/slack/rc.firewall.policy4-example
@@ -0,0 +1,9 @@
1
2# Adding rules to filter table
3*filter
4-I INPUT -p icmp -j ACCEPT
5
6-I FORWARD -p icmp -j ACCEPT
7COMMIT
8
9# end of rules
diff --git a/src/slack/rc.firewall.policy6-example b/src/slack/rc.firewall.policy6-example
new file mode 100644
index 0000000..c3c3486
--- /dev/null
+++ b/src/slack/rc.firewall.policy6-example
@@ -0,0 +1,9 @@
1
2# Adding local rules to filter table (IPv6)
3*filter
4-I INPUT -p icmpv6 -j ACCEPT
5
6-I FORWARD -p icmpv6 -j ACCEPT
7COMMIT
8
9# end of rules
diff --git a/src/slack/rc.firewall.rules b/src/slack/rc.firewall.rules
deleted file mode 100644
index 146ceff..0000000
--- a/src/slack/rc.firewall.rules
+++ /dev/null
@@ -1,6 +0,0 @@
1
2# Adding office rules to filter table
3*filter
4COMMIT
5
6# end of rules
diff --git a/src/slack/rc.firewall.rules-example b/src/slack/rc.firewall.rules-example
new file mode 100644
index 0000000..2095190
--- /dev/null
+++ b/src/slack/rc.firewall.rules-example
@@ -0,0 +1,8 @@
1
2# Adding office rules to filter table
3*filter
4-A INPUT -p tcp --dport http -j ACCEPT
5-A INPUT -p tcp --dport domain -j ACCEPT
6COMMIT
7
8# end of rules
diff --git a/src/slack/rc.firewall.rules4 b/src/slack/rc.firewall.rules4
deleted file mode 100644
index b5939db..0000000
--- a/src/slack/rc.firewall.rules4
+++ /dev/null
@@ -1,6 +0,0 @@
1
2# Adding rules to filter table
3*filter
4COMMIT
5
6# end of rules
diff --git a/src/slack/rc.firewall.rules4-example b/src/slack/rc.firewall.rules4-example
new file mode 100644
index 0000000..02889cc
--- /dev/null
+++ b/src/slack/rc.firewall.rules4-example
@@ -0,0 +1,8 @@
1
2# Adding rules to filter table
3*filter
4-A INPUT -p tcp -s 127.0.0.1 --dport ssh -j ACCEPT
5-A INPUT -p tcp -s 127.0.0.1 --dport snmp -j ACCEPT
6COMMIT
7
8# end of rules
diff --git a/src/slack/rc.firewall.rules6 b/src/slack/rc.firewall.rules6
deleted file mode 100644
index 6566a62..0000000
--- a/src/slack/rc.firewall.rules6
+++ /dev/null
@@ -1,6 +0,0 @@
1
2# Adding local rules to filter table (IPv6)
3*filter
4COMMIT
5
6# end of rules
diff --git a/src/slack/rc.firewall.rules6-example b/src/slack/rc.firewall.rules6-example
new file mode 100644
index 0000000..058ce45
--- /dev/null
+++ b/src/slack/rc.firewall.rules6-example
@@ -0,0 +1,8 @@
1
2# Adding local rules to filter table (IPv6)
3*filter
4-A INPUT -p tcp -s ::1 --dport ssh -j ACCEPT
5-A INPUT -p tcp -s ::1 --dport snmp -j ACCEPT
6COMMIT
7
8# end of rules