IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Home made firewall?
Our corporate DMZ is a segment off of our firewall.
A bunch of systems hang off it, being carefully
controlled when they are attempting to access our
internal net.

But what about each other?

I am considering creating a Linux or *BSD many port
firewall to control access. I need to care about
speed, since multiple systems may be attempting
access, and they will be given GB connectivity
if possible.

I will have a dual Xeon at my disposal, with a
bunch of slots.

I will have a budget for decent multi-port GBit
cards.

In order of importance:
\tWorks / fast enough (hardware support for quad TOE boards).
\tSecurity.
\tEase of maintenance - OS patches - reflects back to security.
\tAbility to run monitoring software - ethereal, ntop, etc.

So, 1st I have to choose the TOE board.

This looks like a nice choice:
[link|http://www.intel.com/network/connectivity/products/pro1000mt_quad_server_adapter.htm|http://www.intel.com...erver_adapter.htm]
[link|http://www.intel.com/network/connectivity/resources/doc_library/tech_specs/spec_pro1000mt_quad_port_server_adapter.htm|http://www.intel.com...erver_adapter.htm]

Only lists Linux and FreeBSD as OS choices though.

Looking here for OpenBSD compat:
[link|http://www.openbsd.org/i386.html|http://www.openbsd.org/i386.html]
it seems to support it, except I see an bad note:

[link|http://www.openbsd.org/cgi-bin/man.cgi?query=em&arch=i386&sektion=4|http://www.openbsd.o...ch=i386&sektion=4]

"The driver supports IPv4 receive
IP/TCP/UDP checksum offload on all but 82542-based"

Ahh, according to the specs, it has the 82546EB processor,
should be OK.

So, using OpenBSD should be my best case on security. Using
the native firewall language looks very easy to implenent
(and understand) the rulesets required for locking the systems
down.

Ease of maintenance is an iffy. I need more info on this.
OpenBSD wants you to upgrade EVERYTHING at once in the event
of a patch, or so it seems. Which could be painful.

On the other hand, it is so small, disk snapshots should be trivial
for rollback.

Ability to run monitoring software looks pretty good. Almost all
the tools that I could do on Linux I can also do on OpenBSD.
[link|http://www.insecure.org/tools.html|http://www.insecure.org/tools.html], or so it seems. Or am
I assuming the the little deamon means all the BSDs, and I'm
going to get burned?

Let's consider FreeBSD, which the Intel adaper supports out
of the box.
[link|http://www.freebsd.org/|http://www.freebsd.org/]

It looks pretty complete, has a bunch of firewall options, including
a port of the OpenBSD PF environment:
[link|http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-pf.html|http://www.freebsd.o...firewalls-pf.html]
They describe version differences which might bite me.
Maybe I don't even want to use PF, maybe I want IPF or IPFW.
How would I know, I need a BSD geek to tell me.

Do I have an unreasonable level of expection concerning the
security of OpenBSD VS FreeBSD? Based on the vendor hardware
support (Intel card), I'd probably want to go using FreeBSD
if possible. Also, as I read the FreeBSD feature list, it
seems more advance with lots more goodies.

[link|http://www.freebsd.org/features.html|http://www.freebsd.org/features.html]

OK, what issues have I missed?
\t
New the hard way?
Have you considered [link|http://www.ipcop.org/modules.php?op=modload&name=phpWiki&file=index&pagename=IPCopMissionStatement|IP Cop] Seems like you're trying to make too much work for yourself.
Have fun,
Carl Forde
New Depends
The harshest criticism in my environment is reserved for people who pretend to be techies, but use tools that hide complex environments from them with pretty interfaces.

If you review this, [link|http://z.iwethey.org/forums/render/content/show?contentid=227484|http://z.iwethey.org...?contentid=227484], you will see one of our guiding principles for our organization is:

would like to have a bunch of smart cross-trained geeks running the place, rather then vendor focused silos of knowledge


A recent example was a dump of a GUI generate iptables rule-set. The jr admin was showing it, and was unable to explain what it was doing. Now this admin is smart, but inexeperienced HERE. He has a comp-sci degree, and has setup and adminned many Linux and Unix systems. He is also a deep-diver, usually reading up on great detail when researching something. In other places he may qualify for Sr admin, just not here, where we have someone else we call senior, who has far more experience than this guy.

Anyway, he was wrong when he explained it. When I read the ruleset, I made the exact same mistake, but figured it out a few lines later, since I don't pretend to know the syntax of IPTables.

If I am responsible for this particular bit of security - firewalling the DMZ, then I'm going to follow my requirements list. Works 1st, securely.

I can test "works". I can theorize "securely". But only if the low level rules are written by me, as simply as possible, as restrictive as possible. If I use a pretty front end, I have been abstracted from the implementation. An I have NO trust for writers of pretty front ends, since the focus is not the security, it is the pretty front end.

Some day I am going to be called to explain every aspect of the security up on a white board. I'm not allowed to say: IPCOP says it should be OK.
New Use FWBUILDER
It does netfilter, ipfilter, pix and others.

It ipwrites the config or script based on what you are using.

[link|http://www.fwbuilder.org|http://www.fwbuilder.org]
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
[image|http://www.danasoft.com/vipersig.jpg||||]
New Interesting
But only if I can figure out the what the scripts it is writing does.

Thanks.
New They are VERY... Exceptionally well done.
They whole scripts thing is easy.

I like it for being straight forward and easy to understand.

The iptables/netfilter stuff it does is stellar. I have only found one bug (it has been addressed) and it is a trival "rule fix" for making the rules. I haven't even cared to update to a revision that it is fixed in, it is a 4 second edit of the script to fix it myself.

But, then again I should.

Also, it can upload all the data/script and configs to the devices running the scripts, including "update services" for the firewall.

It uses "first rule match wins" logic for the GUI, but will write the script/ruleset/config the proper way for each type of firewall supported.

I haven't seen something this easy to use and manage a firewall, ever. Even the CISCO WINDOWS stuff comes no-where close.

It is straight forward, can handle anything to the limits of the Firewall device/OS/etc. Storing all the data in XML and a well documented XML schema.

I can setup a small example of the scripts for each and every device/filter it supports using the same ruleset just changing the device type. If you'd like.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
[image|http://www.danasoft.com/vipersig.jpg||||]
New Initial glance looks like it want a library of service types
Do I need to define them (ftp, ssh, SQL/Net, etc) or is there something I can grab that I missed. I did an apt-get to setup.
New There are all the standard ones.
/me opens FWBUILDER

At the top, there is a "user" head, click on it and select the standard section.

Things are drag and drop. Make sure your understand NAT with Linux. NAT comes before the routing or allow/deny stage. So the rules in global have to have the NAT addresses for letting stuff in.

I can send you my *.fw I use. Just to show you an existing setup that works. I am a bit less anal than you will be. I'll send it to your TCD account.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
[image|http://www.danasoft.com/vipersig.jpg||||]
New Thanks
Note: I'm not using NAT for this setup, all addresses to be specified are real.
I think!
New first, if they are in the DMZ they can talk to each other?
by nature a publicly exposed IP address is reachable so why are you building a separate box? Is this to be a management box on a secured path "quiet" ip space?
thnx,
bill
"the reason people don't buy conspiracy theories is that they think conspiracy means everyone is on the same program. Thats not how it works. Everybody has a different program. They just all want the same guy dead. Socrates was a gadfly, but I bet he took time out to screw somebodies wife" Gus Vitelli

Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 49 years. meep
questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
New DMZ yes, but need better isolation
1st of all, our DMZ is not all public space.
The goal is to have a series of boxes that
are externally accessable in a constrained fashion.
Which then also have specific limited access to our
internal systems.

So this means there could be a web server, an
FTP server, an ssh bouncebox, and specific client
based systems on the DMZ. A client might need a
particular server that only is accessable from
them via their IP address.

But if all these systems are on the same IP segment,
on the same physical LAN, then they can all see
each other, unless we put a high end switch that
has ACL setups. Which we don't want to do, since
it seems our LAN guys run into "issues" as they try
to setup these ACLs.

Which then means it is up to me to lock them down
via the above described method.
New 4 port Copper GIG cards are available.
Linux, FreeBSD, OpenBSD and NetBSD all support about a kajillion network ports.

You could in reality have the firewall restrict ANY kind of traffic, even based on time.

If you were to have a Dual Xeon with 12 PCI slots (triple peered) and 4 port NICS, you could theoretically have 48 GIG ports.

Plus if the motherboard itself has a NIC builtin, that could be the management device/nic etc...

Or, if you were to go with a computer setup with CompactPCI slots, you could theoretically have upwards of 100+ network ports. Not cheap, but very flexible as you could do everything you want.

You could also setup a logging service for the firewall to report to, as each "rule" can be setup to log everything with different labels. You could even get fine grained and make rules for each tcp/udp/icmp/etc port for each IP address. Plus you can make rules that are specific to that NIC only as well as the globals and masquerading/NAT. You could use make it so that only certain kinds of traffic are available outbound, and a different set as inbound only. You really wouldn't even have to have an ssh bounce machine... although I'd keep one anyway.

For instance, you could also do port-translation as well. Adding addresses to a machine need only be done at the Firewall, you could add something like this:
Visible IP and PortDMZ IP and portMachine
10.10.10.6:80192.168.200.2:81One
10.10.101.3:80192.168.200.2:88One
10.10.100.5:80192.168.200.2:8180One
172.16.12.86:21192.168.200.3:8180Two
172.16.101.19:21192.168.200.3:2121Two
192.168.100.34:22192.168.200.3:2222Two
198.110.74.110:53192.168.200.4:1053Three

This would allow you to have multiple services running on the same host, possibly reducing machine count, possibly allowing you to value-add without having to add machines. Certainly this adds to complexity, but in a managable way. You could even force the responses to come from a different address, if you wanted.

Almost to many options to count.

And if that is not enough, you can do traffic shaping on *BSD and Linux as well. External commands for that are (supported??) possible, but I am not sure about that. I'd do the shaping with a seperate tool anyway.

Too many options exist now for me to put it into a short description.

Plus add in the ISCS stuff and amazing things could happen.

For me, the best possible part is the ability to quickly (re)build (the)a new machine and then pile-on the rules, and being able to keep those rules in a CVS/SVN/etc revision system. Should anything happen to it.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
[image|http://www.danasoft.com/vipersig.jpg||||]
New But the intel only allows 2 per box
So I have to look to others such as [link|http://www.silicom.co.il/ProductsAndEventsinside.asp?id=87|http://www.silicom.c...sinside.asp?id=87]
Which is Broadcom - and I HATE broadcom.
     Home made firewall? - (broomberg) - (12)
         the hard way? - (cforde) - (7)
             Depends - (broomberg) - (6)
                 Use FWBUILDER - (folkert) - (5)
                     Interesting - (broomberg) - (4)
                         They are VERY... Exceptionally well done. - (folkert) - (3)
                             Initial glance looks like it want a library of service types - (broomberg) - (2)
                                 There are all the standard ones. - (folkert) - (1)
                                     Thanks - (broomberg)
         first, if they are in the DMZ they can talk to each other? - (boxley) - (3)
             DMZ yes, but need better isolation - (broomberg) - (2)
                 4 port Copper GIG cards are available. - (folkert) - (1)
                     But the intel only allows 2 per box - (broomberg)

A McFrankenstein creation of various elements not utilized by the home cook.
65 ms