分享
 
 
 

使用Yassp工具包安装安全的Solaris系统 (一)

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

1、安装系统前的准备工作

2、系统的初始化安装

3、安装YASSP工具包

4、在/etc/vfsab文件中对mount文件系统加以限制

5、在Solaris 8中安装Sunscreen EFS防火墙

6、进一步增强系统的可靠性:路由、邮件、 解析及工具的设置

7、补丁

8、RPC

9、日志、Cron、权限

10、限制SUID类型的文件

11、安装完整性检查工具:如Tripwire

12、安装、检测并提高应用程序的可靠性

13、开始工作

1、安装系统前的准备工作

* 简化:建议在一台主机上只运行一至两种服务。使用多台服务器,而不要只用一台超级服务器

去完成所有的工作。这样便于应用的隔离,可靠性的提高,也易于排错及进行软/硬件地升级。切

记,只运行必要的程序。

* 硬件:考虑使用串囗终端安装系统。保证网络环境的可信以及封闭。

* 保证安全地下载软件:在一个封闭的或者没有对外路由的网络环境中,通过ftp与网络内部其它

主机传送文件。如果网络并不是完全封闭的,要在文件传输完成后,马上断开网络的连接,以减

小遭到攻击的机会。添加一个以/tmp为HOME目录的非特权用户专门用来在主机间传送文件。

* 清楚系统的用途、硬件的配置等。有时为了提高系统的可靠性可能会导致某些程序不能正常运

行,如CDE/OpenWindows,Disksuite及Legato运行都需要RPC的支持,但是在用作为防火墙的主机

上,要关闭RPC。

* 理解各种应用的工作方式非常重要(比如应用如何使用端囗、设备及文件),这样才可以判断哪

些方面需要加强及存在的风险。

2、系统的初始化安装

连接串囗终端,加电,按下Stop-A键使主机进入到OK提示符模式,使用boot cdrom -install命令

开始安装过程。

选择以最终用户包(end user bundle)或者核心包(core)模式进行安装,设置主机名,终端类型,

IP地址,所在时区等,不要开启任何的命名服务,如NIS或NFS。不要打开电源管理或者mount远程

文件系统。

注:对于Solaris 8系统,使用F4功能键可以对最终用户包内的软件进行定制。

分区注意的事项:

* 对于syslog、web、新闻、代理服务器或者防火墙过滤主机,要为其/var文件系统建立一个独立

的,较大磁盘空间的分区。将要存储大量数据的服务器,如web或ftp服务器,也应该使用独立的

分区存储其数据。

* 将/usr及/opt分区与根区分离,使得/usr及/opt分区可以使用只读(read-only)方式mount。

* 如果一定要使用Disksuite工具,设置RAID及磁盘镜像,需要为其保留5MB的磁盘空间。使用

Veritas的文件卷管理,还需要额外的两个分区。

* 分区实例:

2GB硬盘,不在本地记录日志,将在/opt下安装大量程序

200MB /(root+var),200MB swap,400MB /usr,1.2GB on /opt

2GB硬盘,为程序保留最大空间,/var分区独立(使得日志文件不会把根区占满)

1.6GB /(root+usr+opt),200MB swap,200MB /var

9GB硬盘,主机提供服务

200MB /,500MB swap,2GB /usr,5GB /opt,1GB /var

系统重启

为root设置一个不易破解的囗令(7到8位,包含数字、字母及标点符号)。安装过程将保留在

/var/sadm/install_data/install_log文件中。

以最终用户包模式安装时,需要手工安装帮助文件(man pages)。如果用核心包模式安装,为了使

用帮助文件,还需要安装SUNWlibc包:

cd /cdrom/cdrom0/s0/Solaris_2.6/Product;

pkgadd -d . SUNWman SUNWdtma SUNWjvman SUNWpmowm SUNWolman SUNWxwman

cd /cdrom/cdrom0/s0/Solaris_2.7/Product;

pkgadd -d . SUNWman SUNWdtmaz SUNWdtma SUNWjvman SUNWpmowm SUNWxwman

针对Solaris8系统,使用2号光盘安装标准帮助文件及java帮助

cd /cdrom/cdrom0/Solaris_*/Product;

pkgadd -d . SUNWman SUNWjvman SUNWj2man

此外,还需要安装一些常用的工具,如解压缩及其它shell。

pkgadd -d . SUNWgzip SUNWbash SUNWbzip SUNWtcsh SUNWzlib

升级索引,以便使用“man -k keyword”命令时,搜索相关的帮助:

/usr/lib/makewhatis /usr/man;

/usr/lib/makewhatis /usr/openwin/man;

使用核心包模式安装的用户,还需要安装其它常用的软件包,如:

Terminfo:SUNWter

Accounting:SUNWaccr SUNWaccu

NTP:SUNWntpr SUNWntpu

UCB tools:SUNWscpu

Man pages tools:SUNWlibC SUNWdoc。

下载并安装Sun的最新推荐安装补丁包到/opt/install目录:

2.6 SPARC 2.6_Recommended.tar.Z

7 SPARC 7_Recommended.zip

7 Intel 7_x86_Recommended.zip

8 SPARC 8_Recommended.zip

8 Intel 8_x86_Recommended.zip

* 安装补丁之前,阅读README文件并保存系统已经安装的补丁列表,解压缩补丁包文件。

cd /opt/install;

showrev -p > patches.before;

unzip -q 8_*Recommended.zip

注:如果只安装了核心包,showrev命令将不能使用,使用patchadd -p命令代替。

在Solaris7系统中使用patchadd命令,需要对命令做以下改动:

cd /usr/sbin;

mv patchadd patchadd-orig;

sed s/\\/xpg4// patchadd-orig > patchadd;

chown root:bin patchadd;

chmod 555 patchadd;

* 进入解压缩补丁包后产生的目录,使用下面两种方法执行安装角本文件:

a) 在新安装的系统中,使用带有nosave参数的安装命令,可以节省磁盘空间:

cd 8_*Recommended;./install_cluster -nosave

b) 在需要可能进行反安装补丁文件的系统中,使用如下命令进行补丁的安装,这时将在

/var/sadm/pathc目录下保留备份文件。补丁只可以逐个加以删除,系统没有提供

"deinstall_cluster"的命令。

./install_cluster

* 检查实际安装了哪些补丁

cd ..;

showrev -p > patches.after;

diff patches.after patches.before;

* 查看安装日志文件,返回值8代表没有安装,返回值2表示补丁安装正常。

more /var/sadm/install_data/Solaris_*Recommended_log

重新启动系统,以root登录。

3、安装YASSP工具包

安装YASSP(Yet Another Solaris Security Package,目前的版本是Yassp beta#15)加强Solaris

系统的安全性,它包含多个编译好的安全工具。

注:安装YASSP后,所有有改动过的文件将在/yassp.bk/Before_DATE目录中保留备份。

将YASSP安全工具的安装过程记录到文件中,提供日后查询:

script -a /yasspinstall.log

下载yassp.tar.gz文件,保存到/opt/install目录中,切断网络连接。

ifconfig hme0 down

解压缩软件包,产生yassp目录

gunzip < yassp.tar.gz | tar xf -

cd yassp; ls -l

Yassp包文件详细清单

drwxr-xr-x 2 7644 7001 512 Nov 20 06:54 RCS

-r-------- 1 7644 100 14482 Nov 20 06:54 README

-r--r--r-- 1 7644 100 8418 Nov 20 06:52 WhatIsNew

-rw-r--r-- 1 7644 7001 66 May 21 2000 admin

-rw-r--r-- 1 7644 100 61952 Nov 20 01:20 aubtocsin

lrwxrwxrwx 1 7644 100 9 Nov 22 10:13 aubtocsin_i386 -> aubtocsin

lrwxrwxrwx 1 7644 100 9 Nov 22 10:13 aubtocsin_sparc -> aubtocsin

-rw-r--r-- 1 7644 100 136192 Nov 20 06:54 gnugzip_i386

-rw-r--r-- 1 7644 100 147456 Nov 20 06:54 gnugzip_sparc

-rw-r--r-- 1 7644 100 903168 Nov 20 06:54 gnurcs_i386

-rw-r--r-- 1 7644 100 1021952 Nov 20 06:54 gnurcs_sparc

drwxr--r-- 3 7644 100 512 Nov 20 06:53 html_doc

-r-xr-xr-x 1 7644 100 5323 Nov 20 05:25 install.sh

-rw-r--r-- 1 7644 100 3180544 Nov 20 06:54 openssh_i386

-rw-r--r-- 1 7644 100 4121600 Nov 20 06:54 openssh_sparc

-rw-r--r-- 1 7644 100 26624 Nov 20 06:54 parcdaily

lrwxrwxrwx 1 7644 100 9 Nov 22 10:12 parcdaily_i386 -> parcdaily

lrwxrwxrwx 1 7644 100 9 Nov 22 10:12 parcdaily_sparc -> parcdaily

-rw-r--r-- 1 7644 100 231936 Nov 20 06:54 prftripw_i386

-rw-r--r-- 1 7644 100 293888 Nov 20 06:54 prftripw_sparc

-rw-r--r-- 1 7644 100 1290240 Nov 20 06:54 secclean

lrwxrwxrwx 1 7644 100 8 Nov 22 10:12 secclean_i386 -> secclean

lrwxrwxrwx 1 7644 100 8 Nov 22 10:12 secclean_sparc -> secclean

-rw-r--r-- 1 7644 100 271360 Nov 20 06:54 wvtcpd_i386

-rw-r--r-- 1 7644 100 609792 Nov 20 06:54 wvtcpd_sparc

执行安装文件

./install.sh

依据提示安装下列工具:SECclean GNUrcs GNUgzip PARCdaily WVtcpd(包括rpcbind) PRFtripw

OPENssh

SECclean是一个脚本文件,它通过对文件权限的配置,tcp/ip的调整,关闭不必要的服务加

强系统的可靠性。

Yassp beta#15中的问题:

1. SSH:

* Yassp在Solaris7及以前版本的系统中不安装SSH,只在Solaris8中安装。

* Scp的服务器端需要如下设置:

chmod 755 /usr/local /opt/local

ln -s /usr/local/bin/scp /usr/bin/scp

2. Solaris 8 10/00版本的系统中,有一个新的守护进程'picld',是一种对客户端发布特定平台

信息的机制,picld进程负责维护及控制客户及内插模块对PICL(Platform Information and

Control Library)信息的访问。

关闭此进程

mv /etc/rcS.d/S95picld /etc/rcS.d/.S95picld

mv /etc/init.d/picld /etc/init.d/.picld

3. Tocsin是Yassp内含的入侵检测工具,用来侦听网络数据包,缺省情况下不安装。

pkgadd -d aubtocsin

配置YASSP

安装完YASSP后,首先浏览一下/etc/yassp.conf配置文件,带有注释,很容易理解。查看

yassp.conf及yassp的man pages帮助。一般情况下,除了SSH,不需要改动什么。

1. 帐号

* 守护进程及用户(DEF_UMASK)的缺省umask值都被设置成为077,禁止组及全局访问。在某些情

况下,可能需要将umask值改为027,使组可读。

* cleanup_passwd脚本会关闭/usr/passwd文件中的用户帐号,但是不会删除他们。Yassp.conf文

件中的USERDENIED变量包含缺省的列表。加入非标准的应用帐号。

* 如果确定删除某些帐号,将其加入yassp.conf文件中的USEDELETED变量项中,并从新执行

cleanup_passwd。

注:此操作可能会产生无主文件或导致错误,如删除uucp将使tip命令不能使用。

* ROOTALLOWED变量包含所有UID为0的帐号列表,cleanup_passwd会关闭所有列表之外的UID为0的

帐号。

2. Cron:

* 非root用户需要使用at/cron命令时,需要编辑/etc/cron.d目录下的allow/deny文件。

* root的cron列表将会被替换。如果在安装yassp之前,你已经在cron中添加了条目,这些条目需

要重新加入,旧的cron列表备份于/yassp.bk目录中。

* yassp的daily脚本用来整理日志记录,在cron中将其注释掉。

3. SSH:Yassp将同时安装SSH的客户及服务器端

* 最新版本的SSH可以被“tcp wrapper"保护,因此使用前,要在/etc/hosts.allow文件中放开,

缺省是全部关闭。

* SSH服务对所有主机开放,编辑/etc/hosts.allow加入

sshd : ALL

* 允许X11转发使用SSH,编辑/etc/hosts.allow加入

sshdfwd-X11 : LOCAL

* 提示:在hosts.allow/deny,SSH的规则中不要使用反向finger查询。

* 在SSH中,通常使用'scp'传送文件。' sftp'使用于新的SSH2中,如果需要,在

/etc/sshd_config中打开它,当然,由于这是一项新的功能,因此有可能会存在问题。Subsystem

sftp /opt/local/libexec/sftp-server

* 不接受RSA用户认识,而只允许使用囗令。

RSAAuthentication no

* 检查服务器(/etc/sshd_config)及客户端(/etc/ssh_config)其它的设置,如设置只允许特定

的用户使用SSH,禁止用守护进程的帐号使用SSH。

4. Syslog:在Solaris8系统中,Yassp会以‘-t'参数启动syslog,因此它将不接受其它主机

syslog连接。因此,如果你想使用一台中心log服务器,需要设置

SYSLOGFLAGS=""

5. 如果需要启动INETD服务,设置RUNINETD值为YES,并在/etc/inetd.conf中开放相应的服务。

缺省情况下,yassp会关闭所有的服务。如果确实需要,使用tcp wrapper,编辑

/etc/hosts.allow和/etc/hosts.deny文件中对访问服务进行限制。

6. nscd守护进程

* 不启动nscd进程,有些应用,如Netscape的http代理服务将不能工作,设置NETSCAPE或者NSCD

变量可以设置激活nscd进程。

* 关闭nscd进程将加重nameserver的负载,因此,通过调整resolv.conf文件中nameserver的顺序

,可以达到平衡负载的目的。

7. 编辑登录的标语文件,对非法的用户访问提出警告。对于telnet和SSH,登录前的文件为

/etc/issue,登录后的文件是/etc/motd

8. Yassp更改/etc/system文件内的参数对Solaris系统进行调整。

* Yassp增加对文件描述的字节限制,rlim_fd_max=1024、rlim_fd_cur=256。有些应用也许会需

要更大的值,根据需要改动。

* 将小于8的soft-limit增加到256对一些应用会有帮助。Hard-limit不需要改变,仍为1024。系

统管理员需要知道哪些应用需要更多的hard-limit值,并对/etc/system做相应的改动。

* 设置sys:coredumpsize=0从而不产生corefiles。当然有时候,管理员需要corefiles进行分析

,但是也要注意corefiles可能会泄露敏感的信息。

* 其它的设置:

*Increase SVR4 style ptys

set pt_cnt=128

*Attempt to prevent and log stack-smashing attacks

set noexec_user_stack=1

set noexec_user_stack_log=1

*enable advanced memory paging technique

*NOT NEEDED ON Solaris 8:set priority_paging=1

set tcp:tcp_conn_hash_size=16348

*If the NFS_PORTMON variable is set,then clients are required t

[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- 王朝網路 版權所有