分享
 
 
 

Solaris和IP Filter软件包搭建防火墙的详细步骤

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

Solaris can make a great firewall OS if properly install and harden.

Hardware can be a Sparc box with a 2nd network interface or a x86 box with dual NIC.

Solaris 2.x CDs - free for education and non-commercial use from Sun website.

I got my Solaris 8 copy from Sun booth at Linux Expo in San Jose last August 2000.

Here are the necessary steps to brew you own firewall box with Solaris

(1) OS:

(a) Boot and install just the "core" distribution from Solaris CD.

These steps should be easy within GUI or menu driven...

- Define which interfe is public (untrust) or private (trust)

- Fill in hostname and appropriate IPs for each interface

- Dont connect or activate your connection to the untrust network

untill you have installed IPFilter

(b) Additional packages are required in order for GNU gcc to work:

SUNWhea

SUNWsrh

SUNWbtool

SUNWscpu

SUNWtoo

SUNWlibm

SUNWsprot

SUNWarc

By selecting core installation, there is no volume management (vold)

for automounting your CD when you stick one in. You have to mount

the CD by hand:

# mount -F hsfs /dev/dsk/c0t6d0s0 /mnt

where t6 is my CDROM SCSI ID. It is different if you are on a x86

box and IDE. Check your system with "dmesg".

Once the CD is mounted, cd to /mnt/Solaris_8/Product and copy the

above package into /tmp

# cp -R SUNWhea /tmp

...

# cp -R SUNWarc /tmp

Use pkgadd to install these package to your system:

# cd /tmp

# pkgadd -d .

(c) Patches: download & install the lastest Recommended patch batch from

http//sunsolve.sun.com

- ftping:

# ftp sunsolve.sun.com

login: ftp

passwd: ftp

ftp> cd /pub/patches

ftp> bin

ftp> hash

ftp> get 8_Recommended.zip

ftp> bye

- installing:

# unzip 8_Recommended.zip

...

# cd 8_Recommended

# ./install_cluster

...

# reboot (you can reboot now or wait until afer step #2)

(d) Turn on journaling feature for UFS

To avoid lengthy fsck after an unclean shutdown or power outtage, one

can turn on journaling on UFS simply by adding "logging" in the mount

option:

# /etc/vfstab

#

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

#

/dev/md/dsk/d1 /dev/md/rdsk/d1 /RAID ufs 2 yes logging

(2) Hardening & removing unnescessary services:

- use pkgrm to remove any package that not being use, for example:

# pkginfo | grep -i pcmcia

system SUNWpcelx 3COM EtherLink III PCMCIA Ethernet Driver

system SUNWpcmci PCMCIA Card Services, (Root)

system SUNWpcmcu PCMCIA Card Services, (Usr)

system SUNWpcmem PCMCIA memory card driver

system SUNWpcser PCMCIA serial card driver

system SUNWpsdpr PCMCIA ATA card driver

If there is no PCMCIA in the sytem, just remove them:

# pkgrm SUNWpcelx SUNWpcmci SUNWpcmcu SUNWpcmem SUNWpcser SUNWpsdpr

- set TCP_STRONG_ISS=2 in /etc/default/inetinit:

# vi /etc/default/inetinit

- turn off inetd:

# rm /etc/rc2.d/S72inetsvc

# ln -s /etc/init.d/inetsvc /etc/rc2.d/S72inetsvc

then comment out the inetd (last line) in /etc/init.d/inetsvc

and null out inetd services:

# mv /etc/inet/inetd.conf /etc/inet/inetd.conf.ORIG

- remove un-nescessary services:

# mv /etc/rc2.d/S71ldap.client /etc/rc2.d/_S71ldap.client

# mv /etc/rc2.d/S71rpc /etc/rc2.d/_S71rpc

# mv /etc/rc2.d/S73nfs.client /etc/rc2.d/_S73nfs.client

# mv /etc/rc2.d/S74autofs /etc/rc2.d/_S74autofs

# mv /etc/rc2.d/S74nscd /etc/rc2.d/_S74nscd

# mv /etc/rc2.d/S88sendmail /etc/rc2.d/_S88sendmail

...

- To protect against possible buffer overflow (or stack smashing)

attacks, add the following to lines to /etc/system.

set noexec_user_stack=1

set noexec_user_stack_log=1

- Modified /etc/init.d/inetinit (or some other startup script ) to

set some IP parameters to harden more:

### Set kernel parameters for /dev/ip

ndd -set /dev/ip ip_respond_to_echo_broadcast 0

ndd -set /dev/ip ip_forward_directed_broadcasts 0

ndd -set /dev/ip ip_respond_to_timestamp 0

ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0

ndd -set /dev/ip ip_forward_src_routed 0

ndd -set /dev/ip ip_ignore_redirect 1

- Have a look at Sun own tool on network security which include all

of the above ndd settings - highly recommended:

http://www.sun.com/blueprints/tools/nddconfig

(3) Firewall

(a) C compiler:

- GNU gcc can be download from http://www.sunfreeware.com .

- or download/try Eval Sun WorkShop CD (a must for 64bit)

(b) IP Filter Firewall/NAT:

(i) Download IPfilter from:

http://coombs.anu.edu.au/~avalon/ip-filter.html

(ii) compiling and installing ipf module:

# make solaris

# cd SunOS5

# make package

Note: if you want to see the state table real time like the

top utility, edit the Makefile to enable it.

STATETOP_CFLAGS=-DSTATETOP

STATETOP_INC=-I/usr/include

STATETOP_LIB=-L/lib -lncurses

I use the libcurses bundles in SUNWcsl and SUNWarc packages

Just link these libs to libncurses in /usr/lib:

libncurses.a -> libcurses.a

libncurses.so.1 -> libcurses.so.1*

libncurses.so -> libcurses.so.1*

Once installed, you can run the cool utility "ipfstat -t"

Note1.1: New release of ipf already have state top enable.

Note2: If you want to have block all by default, change:

POLICY=-DIPF_DEFAULT_PASS=FR_PASS

to :

POLICY=-DIPF_DEFAULT_PASS=FR_BLOCK

(iii) turn on ip forwarding

To enable your system to correctly forward IP packets from

within your private network via NAT, you need to enable

ip_forwarding on your NAT system. First check to see whether

ip_forwarding is enabled via the ndd command:

# ndd -get /dev/tcp ip_forwarding

0

The zero indicates ip_forwarding is not enabled in the kernel.

To enable ip_forwarding, pass the following command to ndd:

# ndd -set /dev/tcp ip_forwarding 1

You should now check that ip_forwarding is indeed enabled by

checking as previously described, with the answer being the

value "1".

(iv) Now let's make this permanent uppon reboot.

#/bin/rm /etc/rc2.d/S65ipfboot

#ln -s /etc/init.d/ipfboot /etc/rc2.d/S65ipfboot

Create a startup script /etc/init.d/ipforward

#!/bin/sh

case "$1" in

start)

echo "Activating IP Forwarding..."

/usr/sbin/ndd -set /dev/tcp ip_forwarding 1

;;

stop)

echo "De-activating IP Forwarding..."

/usr/sbin/ndd -set /dev/tcp ip_forwarding 0

;;

*)

echo "Usage: $0 (start|stop)" >&2

exit 1

;;

esac

exit 0

Make it executable

# chmod 744 /etc/init.d/ipforward

Then link it as /etc/rc2.d/S69ipforward

# ln -s /etc/init.d/ipforward /etc/rc2.d/S69ipforward

Note: ipforwarding must run after ipf & inet

(v) ipf and nat rules set:

Create a file called /etc/opt/ipf/ipnat.conf.

/etc/opt/ipf/ipf.conf is already exist and is empty.

The file /etc/opt/ipf/ipf.conf is used to write your

firewall rules, which is beyond the scope of this document.

Check the IP Filter HOWTO page for more info:

http://unixcircle.com/ipf

(4) Installing OpenSSH (optional)

One can go the easy way and just grab a binary package from

http://www.sunfreeware.com or learn alot of stuff by hand-build:

(in order). Make sure you read the README or INSTALL file that

comes in each package:

1. Get & install Perl

2. Get & install zlib

3. Get & install OpenSSL

4. Get & install OpenSSH

- Startup scrip for sshd, save it as /etc/rc3.d /S99sshd

#!/sbin/sh

#

case "$1" in

'start')

if [ -x /usr/local/sbin/sshd ]; then

echo 'Starting Secure Shell: sshd';

/usr/local/sbin/sshd

fi

;;

'stop')

/usr/bin/pkill -x -u 0 ssh

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有