Re: ipf, Sunscreen or ?

Eric Forgette <[email protected]>
Newsgroups gmane.comp.security.sun
Message-ID <[email protected]>
> I would really like to get a software firewall running on some of my 
> sun boxes

I like SunScreen.  Its free with Solaris 8 and 9, its a binary install, 
and I think patches are on SunSolve.

I was in the process of creating a 'HOW TO' for SunScreen on Solaris 9. 
  Similar steps can be taken for SunScreen-lite on Solaris 8.  So I've 
done a quick brain dump below...

>>  I started reading the documentation on Sunscreen from sun docs and 
>> wasn't horribly excited about it - I most definitely wouldn't run 
>> apache just to get a GUI.

You don't need it.  In my recipe below I turn it off!

> Did you see the Sun BluePrint article describing how host-based
> firewalls could be configured using SunScreen?

This is a very good article, but they install everything but the 
kitchen sink!

What I was looking for was a locally, command line administered, host 
based firewall.

Here is what I've boiled it down to (still working on it though)...

Quick and dirty:

pkgadd -d . SUNWeuluf SUNWeulux SUNWeu8os SUNWeu8ox SUNWsfwau SUNWsfwr 
SUNWsfwu SUNWsfwf SUNWsfwm

Take note of /etc/sunscreen/AdminSetup.readme

In many cases I also run
/usr/lib/sunscreen/lib/harden_os

 From the console run:
sudo ssadm configure

I don't remember the exact questions, but choose routing not stealth 
and local not remote.  I seem to remember answering '1' to most 
questions. ;-)

edit /usr/lib/sunscreen/lib/ss_boot
and comment out the following lines:

$LIB_DIR/ssadmserver start >/dev/console 2>&1
$LIB_DIR/run_httpd start


You should be up and running after a reboot.

The default policy is called Initial.  I usually create a new one under 
a different name (see man ssadm).

To create your rules in this policy run:
sudo ssadm edit Initial

some edit commands are:

delete rule <rule number>

add rule ...
add address ...

list services
list rules
list addresses

So, here is a quick set of rules (localhost = all of my hosts's 
interfaces (not 127.0.0.1):
add SERVICE ssh SINGLE FORWARD "tcp" PORT 22
add rule "*" "localhost" "*" ALLOW COMMENT "allow everything from this 
host"
add rule "www" "*" "localhost" ALLOW COMMENT "http access"
add rule "ssl" "*" "localhost" ALLOW COMMENT "https access"
add rule "ping" "*" "localhost" ALLOW
add rule "netbios" "*" "*" DENY COMMENT "silently drop netbios 
broadcasts"
add rule "*" "*" "localhost" DENY LOG DETAIL COMMENT "drop and log 
everything else"

Then save it and exit:

save
verify
quit

Then make it active:
ssadm activate Initial

I use this in an alias to dump out the 'denys' from the log
ssadm log get | ssadm logdump -i - logwhy 256

I also add a cron job to rotate the logs out every day
0 0 * * * * ssadm log get_and_clear > /var/tmp/sunscreen.bin.‘date 
“+%Y%m%d“‘

and of course a quick find to remove the files after they've been 
around awhile...

/etc/suncreen/.active can be moved or deleted to disable the firewall.
SunScreen doesn't like nodename changes very much.  I tend to rerun 
'sudo ssadm configure' and add my rules back to a fresh policy.

I've been using this type of setup for awhile.  I actually lock down 
the source address in my rules by creating address groups (again see 
man ssadm).  I also use this to lock folks onto a server (contractors, 
etc) obviously with a different rule set...

No gui, no apache, just good old cli.  I don't have a lot of 
performance impact data yet, but nobody's complaining yet... =)

-Eric

----
Eric P. Forgette
Unix Systems Administrator
http://homepage.mac.com/e4jet/sysadm/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.