Hi,

I use Capistrano (http://www.capistranorb.com/) in a super simple Rails app 
with similar schematics to the ones provided by Jummo.

O.D.

On 11. juli 2013 at 1:41 PM, "Andy" <[email protected]> wrote:
>
>Hi,
>I use 'puppet' for this to manage over 20 OpenBSD firewalls now.
>I don't know how I would manage without it to be honest ;)
>
>Puppet manages all my pf's (by simply defining multiple files, 
>each 
>containing different common parts for different zones/roles etc, 
>and 
>then site specific files etc. Using puppet to 'include' each of 
>the 
>different parts as necessary, I only have to maintain one code 
>base in 
>git, make one change to just the one appropriate file, and then 
>push 
>out that pf change to every single/or group of firewalls using 
>puppet 
>to do the leg work.
>
>This provides control and 'standardisation' across everything :)
>
>I also use it to manage, and deploy many various different daemons 
>including Snort etc which signals alerts via syslog to a central 
>OSSIM 
>server for event correlation.
>
>Anyway, the main point I'm suggesting is it sounds like you need a 
>change control and deployment system like puppet if you have that 
>many 
>and are growing.
>
>It took me about 4 or 5 months to develop a complete puppet code 
>base 
>which manages every aspect of our OpenbSD firewalls, and as a 
>result I 
>can now keep up with change requests and deploy to the entire 
>fleet in 
>a matter of minutes without getting myself in a tangle trying to 
>remember everything/special cases, and most importantly get close 
>to 
>the holly grail of 'standardisation' and 'normalisation' ;)
>
>https://puppetlabs.com/
>http://projects.puppetlabs.com/projects/1/wiki/Puppet_Books
>
>Hope this helps, Andrew Lemin
>
>
>On Thu 11 Jul 2013 12:18:13 BST, Jummo wrote:
>> Hi,
>>
>> How do you manage your pf.conf?
>>
>> My setup: I have 9 firewalls with carp and each with around 500 
>lines
>> of pf.conf, except one firewall, later more. I edit the pf.conf
>> manually. Every logical pf rule has a unique identifier (a 
>number)
>> which I add manually and maps to the rule on a wiki page. The 
>wiki
>> page has this format.
>>
>> START WIKI PAGE
>>
>> === Firewall
>>
>> This firewall is for ...
>>
>> ==  ID
>>
>> A ID identify one or more rules for a particular service. Please 
>use the
>> next free ID.
>>
>>     Last used ID: 21
>>
>> == Changelog
>>
>> No | Date | Action | Executed by
>>
>> == Tables
>>
>> Table | Content
>>
>> == NAT/Redirection
>>
>> ID | Description | Source | Port | Destination | Port | NAT-To |
>> Redirect-To |
>> Protocol | Date
>>
>> == Rules
>>
>> ID | Description | Direction (outgoing/incoming/forwarded) | 
>Source |
>> Port | Destination | Port | Protocol | Date
>>
>> END WIKI PAGE
>>
>> I use a script to manually copy the changed pf.conf to the
>> corresponding carp partner to keep the firewall pair in sync. 
>Idea: To
>> check the sync state of pf.conf, Icinga cloud compare the file 
>date of
>> the two pf.conf.
>>
>> This works quiet good for me and my firewalls with one 
>exception, my
>> big fat central router/firewall. This firewall has around 2000 
>lines
>> of pf.conf, is attached with 12 VLAN interfaces and get slowly
>> unmanageable with this concept.
>>
>> How to you manage such big firewalls? Do you split the pf.conf 
>into
>> logical parts? Do you use a base structure for every pf.conf? Do 
>you
>> use a tool for automatic creation of pf.conf? How do you tests 
>your
>> old rules after you changed something?
>>
>> I'm happy about any feedback.
>>
>> Best Regards,
>> Patrick

Reply via email to