X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Fper-host.pp;h=2756e59f0b574a16a79a65da28bdfbc5b7dc4a5d;hb=650335318c9021ace96b0cb6d49a13c1a472271f;hp=c122be917b6320c5148c0a4a23423f81c3d1151e;hpb=1e03a3be6dd801c46a6ed84a55d52e013940df76;p=dsa-puppet.git diff --git a/modules/ferm/manifests/per-host.pp b/modules/ferm/manifests/per-host.pp index c122be91..2756e59f 100644 --- a/modules/ferm/manifests/per-host.pp +++ b/modules/ferm/manifests/per-host.pp @@ -1,114 +1,228 @@ class ferm::per-host { + if $::hostname in [ancina,zandonai,zelenka] { + include ferm::zivit + } - case $hostname { - ancina,zandonai,zelenka: { - include ferm::zivit - } - } - case $hostname { - franck,gluck,kaufmann,klecker,lobos,morricone,raff,ries,rietz,saens,schein,senfl,steffani,valente,villa,wieck: { - include ferm::rsync - } - } - - case $hostname { - chopin,franck,gluck,kassia,klecker,lobos,morricone,ravel,raff,ries,rietz,saens,schein,steffani,valente,villa,wieck: { - include ferm::ftp - } - } + if $::hostname in [klecker,merikanto,powell,ravel,rietz,senfl,sibelius,stabile] { + ferm::rule { 'dsa-rsync': + domain => '(ip ip6)', + description => 'Allow rsync access', + rule => '&SERVICE(tcp, 873)' + } + } - case $hostname { - ravel: { - include ferm::nfs-server - } - } + case $::hostname { + piatti,samosa: { + @ferm::rule { 'dsa-udd-stunnel': + description => 'port 8080 for udd stunnel', + rule => '&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))' + } + } + danzi: { + @ferm::rule { 'dsa-postgres-danzi': + description => 'Allow postgress access', + rule => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))' + } + @ferm::rule { 'dsa-postgres2-danzi': + description => 'Allow postgress access2', + rule => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))' + } + @ferm::rule { 'dsa-postgres3-danzi': + description => 'Allow postgress access2', + rule => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))' + } + } + abel,alwyn,rietz: { + @ferm::rule { 'dsa-tftp': + description => 'Allow tftp access', + rule => '&SERVICE(udp, 69)' + } + } + paganini: { + @ferm::rule { 'dsa-dhcp': + description => 'Allow dhcp access', + rule => '&SERVICE(udp, 67)' + } + @ferm::rule { 'dsa-tftp': + description => 'Allow tftp access', + rule => '&SERVICE(udp, 69)' + } + } + powell: { + @ferm::rule { 'dsa-powell-v6-tunnel': + description => 'Allow powell to use V6 tunnel broker', + rule => 'proto ipv6 saddr 212.227.117.6 jump ACCEPT' + } + @ferm::rule { 'dsa-powell-btseed': + domain => '(ip ip6)', + description => 'Allow powell to seed BT', + rule => 'proto tcp dport 8000:8100 jump ACCEPT' + } + } + lotti,lully: { + @ferm::rule { 'dsa-syslog': + description => 'Allow syslog access', + rule => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)' + } + @ferm::rule { 'dsa-syslog-v6': + domain => 'ip6', + description => 'Allow syslog access', + rule => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V6)' + } + } + kaufmann: { + @ferm::rule { 'dsa-hkp': + domain => '(ip ip6)', + description => 'Allow hkp access', + rule => '&SERVICE(tcp, 11371)' + } + } + gombert: { + @ferm::rule { 'dsa-infinoted': + domain => '(ip ip6)', + description => 'Allow infinoted access', + rule => '&SERVICE(tcp, 6523)' + } + } + draghi: { + #@ferm::rule { 'dsa-bind': + # domain => '(ip ip6)', + # description => 'Allow nameserver access', + # rule => '&TCP_UDP_SERVICE(53)' + #} + @ferm::rule { 'dsa-finger': + domain => '(ip ip6)', + description => 'Allow finger access', + rule => '&SERVICE(tcp, 79)' + } + @ferm::rule { 'dsa-ldap': + domain => '(ip ip6)', + description => 'Allow ldap access', + rule => '&SERVICE(tcp, 389)' + } + @ferm::rule { 'dsa-ldaps': + domain => '(ip ip6)', + description => 'Allow ldaps access', + rule => '&SERVICE(tcp, 636)' + } + } + cilea: { + ferm::module { 'nf_conntrack_sip': } + ferm::module { 'nf_conntrack_h323': } - case $hostname { - piatti: { - @ferm::rule { "dsa-udd-stunnel": - description => "port 8080 for udd stunnel", - rule => "&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))" - } - } + @ferm::rule { 'dsa-sip': + domain => '(ip ip6)', + description => 'Allow sip access', + rule => '&TCP_UDP_SERVICE(5060)' + } + @ferm::rule { 'dsa-sipx': + domain => '(ip ip6)', + description => 'Allow sipx access', + rule => '&TCP_UDP_SERVICE(5080)' + } + } + scelsi: { + @ferm::rule { 'dc11-icecast': + domain => '(ip ip6)', + description => 'Allow icecast access', + rule => '&SERVICE(tcp, 8000)' + } + } + default: {} + } - handel: { - @ferm::rule { "dsa-puppet": - description => "Allow puppet access", - rule => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V4)" - } - @ferm::rule { "dsa-puppet-v6": - domain => 'ip6', - description => "Allow puppet access", - rule => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V6)" - } - } - powell: { - @ferm::rule { "dsa-powell-v6-tunnel": - description => "Allow powell to use V6 tunnel broker", - rule => "proto ipv6 saddr 212.227.117.6 jump ACCEPT" - } - @ferm::rule { "dsa-powell-btseed": - domain => "(ip ip6)", - description => "Allow powell to seed BT", - rule => "proto tcp dport 8000:8100 jump ACCEPT" - } - @ferm::rule { "dsa-powell-rsync": - description => "Hoster wants to sync from here, and why not", - rule => "&SERVICE_RANGE(tcp, rsync, ( 195.20.242.90 192.25.206.33 82.195.75.106 206.12.19.118 ))" - } + if $::hostname in [rautavaara,luchesi] { + @ferm::rule { 'dsa-to-kfreebsd': + description => 'Traffic routed to kfreebsd hosts', + chain => 'to-kfreebsd', + rule => 'proto icmp ACCEPT; +source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT; +source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT; +source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT; +source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT; +source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT +' + } + @ferm::rule { 'dsa-from-kfreebsd': + description => 'Traffic routed from kfreebsd vlan/bridge', + chain => 'from-kfreebsd', + rule => 'proto icmp ACCEPT; +proto tcp dport (21 22 80 53 443) ACCEPT; +proto udp dport (53 123) ACCEPT; +proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost +proto tcp dport 5140 daddr (82.195.75.99 206.12.19.121) ACCEPT; # loghost +proto tcp dport 11371 daddr 82.195.75.107 ACCEPT; # keyring host +proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT +' + } } - beethoven: { - @ferm::rule { "dsa-merikanto-beethoven": - description => "Allow merikanto", # for nfs, and that uses all kind of ports by default. - rule => "source 172.22.127.147 interface bond0 jump ACCEPT", - } + case $::hostname { + rautavaara: { + @ferm::rule { 'dsa-routing': + description => 'forward chain', + chain => 'FORWARD', + rule => 'def $ADDRESS_FASCH=194.177.211.201; +def $ADDRESS_FIELD=194.177.211.210; +def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD); + +policy ACCEPT; +mod state state (ESTABLISHED RELATED) ACCEPT; +interface vlan11 outerface eth0 jump from-kfreebsd; +interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd; +ULOG ulog-prefix "REJECT FORWARD: "; +REJECT reject-with icmp-admin-prohibited +' + } + } + luchesi: { + @ferm::rule { 'dsa-routing': + description => 'forward chain', + chain => 'FORWARD', + rule => 'def $ADDRESS_FANO=206.12.19.110; +def $ADDRESS_FINZI=206.12.19.111; +def $ADDRESS_FISCHER=206.12.19.112; +def $ADDRESS_FALLA=206.12.19.117; +def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI $ADDRESS_FISCHER $ADDRESS_FALLA); + +policy ACCEPT; +mod state state (ESTABLISHED RELATED) ACCEPT; +interface br0 outerface br0 ACCEPT; +interface br1 outerface br1 ACCEPT; + +interface br2 outerface br0 jump from-kfreebsd; +interface br0 destination ($ADDRESS_FISCHER $ADDRESS_FALLA) proto tcp dport 22 ACCEPT; +interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd; +ULOG ulog-prefix "REJECT FORWARD: "; +REJECT reject-with icmp-admin-prohibited +' + } + } + default: {} } - heininen: { - @ferm::rule { "dsa-syslog": - description => "Allow syslog access", - rule => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V4)" - } - @ferm::rule { "dsa-syslog-v6": - domain => 'ip6', - description => "Allow syslog access", - rule => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V6)" - } - } - kaufmann: { - @ferm::rule { "dsa-hkp": - domain => "(ip ip6)", - description => "Allow hkp access", - rule => "&SERVICE(tcp, 11371)" - } + + # redirect snapshot into varnish + case $::hostname { + sibelius: { + @ferm::rule { 'dsa-snapshot-varnish': + rule => '&SERVICE(tcp, 6081)', + } + @ferm::rule { 'dsa-nat-snapshot-varnish': + table => 'nat', + chain => 'PREROUTING', + rule => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081', + } + } + stabile: { + @ferm::rule { 'dsa-snapshot-varnish': + rule => '&SERVICE(tcp, 6081)', + } + @ferm::rule { 'dsa-nat-snapshot-varnish': + table => 'nat', + chain => 'PREROUTING', + rule => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081', + } + } + default: {} } - liszt: { - @ferm::rule { "smtp": - domain => "(ip ip6)", - description => "Allow smtp access", - rule => "&SERVICE(tcp, 25)" - } - } - draghi: { - @ferm::rule { "dsa-bind": - domain => "(ip ip6)", - description => "Allow nameserver access", - rule => "&TCP_UDP_SERVICE(53)" - } - @ferm::rule { "dsa-finger": - domain => "(ip ip6)", - description => "Allow finger access", - rule => "&SERVICE(tcp, 79)" - } - @ferm::rule { "dsa-ldap": - domain => "(ip ip6)", - description => "Allow ldap access", - rule => "&SERVICE(tcp, 389)" - } - @ferm::rule { "dsa-ldaps": - domain => "(ip ip6)", - description => "Allow ldaps access", - rule => "&SERVICE(tcp, 636)" - } - } - } + }