岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> 新手学堂 >> 操作系统 >> Solaris >> 文章正文
使用Yassp工具包安装安全的Solaris系统(二)
作者:未知 文章来源:本站转载 点击数: 更新时间:2006-5-5 9:50:44
 

4、在/etc/vfsab文件中对安装文件系统做限制  

在安装文件系统时,使用一些参数可以提高文件系统的安全性和鲁棒性。使用mount命令检查哪些参数生效,这些参数包括:nosuid、logging、noatime、size=xxxm、ro。  

Mount参数  

OS版本  

描 述  

用 途  

nosuid  

2.x  

关闭SUID程序及SUID设备  

不允许存在SUID的/var、 /home或者数据磁盘分区及设备(建议使用chroot environments).。如果/tmp分区不在磁盘上,此参数无效。  

logging  

2.7或者更高版本

为分区记录transaction日志。可以大提高文件系统检查的速度,特别是针对大容量的磁盘。缺点是需要耗费时间进行写log的操作。  

/usr /opt /home分区

建议除根区(如果使用了Veritas的VxVM)和对磁盘写性能要求非常高的分区外,都使用此参数。  

noatime  

2.7或者更高版本  

允许mount的文件系统,在每次访问文件时对文件节点号不做更新,这样可以显著提高某些服务,  

如对大量小文件进行频繁IO操作的web cache或者新闻服务。  

/var或者文件频繁存取的分区 (web缓存或news分区)。  

size=100m  

2.5.1 or later  

允许/tmp分区只使用100MB的交换空间。这个值通常取交换的30%。  

在mount /tmp时使用  

ro  

2.x  

只读。将文件系统mount成为只读只能对文件系统做有限制的保护(因为攻击者一旦取得root权限,他可以将文件系统重新mount成读写)。  

可以缩短系统启动时,执行fsck的时间,提高性能的同时,可以避免管理员无意中的错误(如误删除文件等)。  

/usr及/opt分区最好mount成为只读方式,但是将/usr分区mount成为只读方式的情况下,通常需要将/usr/local建立的另外的分区上。  

在编辑vfstab文件时要特别小心,对/ 及/usr分区的错误改动可能会导致系统不能引导。如果出现这种情况,使用安装光盘将以单用户模式引导后,mount上有错误的磁盘,更正vfstab文件后,reboot使改动生效。  

下面是vfstab文件的两个例子:  

一个只有/及/var的服务器,操作系统是Solaris2.8  

fd - /dev/fd fd - no -  

/proc - /proc proc - no -  

/dev/dsk/c0t3d0s1 - - swap - no logging  

/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no logging  

/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /var ufs 1 no logging,nosuid,noatime  

swap - /tmp tmpfs - yes size=100m  

有较多分区的服务器  

fd - /dev/fd fd - no -  

/proc - /proc proc - no -  

swap - /tmp tmpfs - yes size=200m  

/dev/dsk/c0t8d0s0 /dev/rdsk/c0t8d0s0 / ufs 1 no logging  

/dev/dsk/c0t8d0s1 - - swap - no -  

/dev/dsk/c0t8d0s4 /dev/rdsk/c0t8d0s4 /usr ufs 1 no logging  

/dev/dsk/c0t8d0s6 /dev/rdsk/c0t8d0s6 /var ufs 1 no nosuid,noatime,logging  

/dev/dsk/c0t8d0s5 /dev/rdsk/c0t8d0s5 /opt ufs 2 yes logging  

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

安装本地防火墙对系统进行保护。  

1. 在Solaris 8系统的iPlanet CD#2光盘上,带有Sunscreen EFS的限制版。也可以从Sun的主页下载此版本。  

2. 对于老版本的Solaris系统,可以使用Ipfilter作为本机防火墙。  

Sunscreen EFS可以保护网络通信,下面使用命令行对防火墙规则的设置作简单介绍。  

* 防火墙的安装:在最终用户模式安装Solaris8系统,安装防火墙时,如果提示没有安装SUNWsprot,需要用Solaris2号光盘先行安装:  

pkgadd -d /cdrom/sol_8_sparc_2/Solaris_8/Product SUNWsprot  

再使用iPlanet CD#2光盘,启动Sunscreen安装工具:  

/cdrom/cdrom0/SunScreen/screenInstaller  

除了Naming services=DNS(不使用NIS)外,其它选项都使用缺省设置。  

配置:设置简单的防火墙规则,找到正在运行的防火墙规则,显示缺省规则并对其进行编辑。  

#cd /opt/SUNWicg/SunScreen/bin;  

#./ssadm active  

Active configuration:www default Initial.2  

#./ssadm edit Initial  

edit>list rule  

1 "common""*""*"ALLOW  

edit>list address  

"*"RANGE 0.0.0.0 255.255.255.255  

"le0.net"RANGE 176.17.17.0 176.17.17.255  

"localhost"HOST  

"smtp-server"HOST 1.1.1.1  

"www_le0"GROUP{}{}  

edit>list service common  

"commom"GROUP"tcp all""udp all""syslog""dns""rpc all""nfs prog""icmp  

all""rip""ftp""real audio""pmap udp all""pmap tcp all""rpc tcp  

all""nis""archie""traceroute""ping"  

可以看出,缺省的规则让很少的服务通过。  

我们假设在设置一台HTTPD服务器(在80端囗),并使用SSH进行管理。允许使用ping和  

traceroute命令进行初步的错误检查。我们需要如下设置防火墙的规则:  

#./ssadm edit Initial  

edit>add service ssh SINGLE FORWARD "tcp" PORT 22  

edit>add service myhttp GROUP ping traceroute ssh www  

edit>replace rule 1 ALLOW myhttp"*""*"  

edit>list rule  

1 "myhttp""*""*"ALLOW  

edit>save  

edit>verify  

Configuration verified successfully(not activated)  

edit>quit  

www#./ssadm activate Initial  

Configuration activated successfully on www  

* 在一台管理机上,允许使用ssh和smtp(用来email报警),可以对外使用ping/traceroute,进行检查,为降低风险,只响应其它管理主机的ping/traceroute请求。允许通过HTTPS及使用dns查询。  

# cd /opt/SUNWicg/SunScreen/bin;  

# ./ssadm edit Initial  

edit> add address mgt_net RANGE 176.17.17.0 176.17.17.255  

edit> add service mgt GROUP ping traceroute ssh  

edit> add service https SINGLE FORWARD"tcp" PORT 443  

edit> add service outgoing GROUP ping traceroute dns  

edit>  

edit> replace rule 1 ALLOW www "*" localhost  

edit> replace rule 2 ALLOW https "*" localhost  

edit> replace rule 3 ALLOW mgt mgt_net localhost  

edit> replace rule 4 ALLOW outgoing localhost "*"  

edit> replace rule 5 ALLOW smtp localhost mgt_net  

edit>  

edit> save  

edit> verify  

Configuration verified successfully (not activated).  

# ./ssadm activate Initial  

Configuration activated successfully on www.  

检查网络连接,确定改动的规则已经生效。如果要恢复初始设置,将所有的规则删除后,加入下面一行:  

replace rule 1 ALLOW "common""*""*"  

最后,关闭防火墙的远程图形管理功能,只使用"ssadm"命令行工具进行管理。  

注释掉/etc/rc2.d/S63sunscreen文件中的下面一行:  

$SS_LIBDIR/run_httpd start efshttpd  

在/opt/SUNWicg/SunScreen/lib/ss_boot中,注释掉:  

$SS_LIBDIR/ssadmserver star>/dev/console 2>&1  

6、进一步增强系统的可靠性:路由、邮件、 解析及工具的设置到此,系统已经进行了初步的加固,以root方式登录。  

* 设置路由  

* 对于缺省路由,将网关的IP地址添加到/etc/defaultrouter文件中。  

* 对于静态路由,使用route命令创建/etc/init.d/static_routes文件及  

/etc/rc2.d/S99static_routes符号连接  

* 清空路由表,为特定网络指定路由,如:  

route -f add net 129.97 `cat /etc/defaultrouter`  

* 如果需要运行路由守护进程(不建议使用),要清楚其工作原理,否则它可能会导致你网络通信的不正常。使用'-q'参数的“安静”模式(quiet mode),或者在使用ifconfig命令配置网络接囗设备时,使用'private'参数,告诉网络接囗设备不要对外广播路由信息。运行“安静”模式,要在/etc/yassp.conf文件中设置SUNSTARTUP=YES并确定没有设置缺省路由。  

* 配置/etc/hosts文件,添加不想通过DNS解晰的服务器名。  

* DNS客户端:(对于关键任务的主机不要设置)在/etc/resolv.conf文件中添加域名及DNS服务器名,在/etc/nsswitch.conf文件中hosts行添加DNS条目。  

* 环境的设置:在/.cshrc /.profile:设置aliases和变量(如VISUAL,EDITOR和PATH,路径的环境变量中不要包括当前路径".")。  

* 使用useradd工具在系统中添加新的用户。首次运行后,会产生/etc/sadm/defadduser缺省新加用户设置。可以编辑此文件,对新增用户做缺省的设置。  

* 邮件客户端的设置:如果不对外网外送邮件,则不需要配置mailhost alias(在/etc/hosts文件中),如果不需要任何形式的邮件服务,删除/etc/lib/sendmail程序。否则:  

* 编辑/etc/mail/aliases文件,至少将mailer-daemon、根及其它系统帐户指向其真实地址。  

* 在/etc/hosts文件中加入带有IP地址的邮件服务器条目,alias用mailhost。  

* 将完整的域名添加到/etc/hosts中,设置hostname.YOURDOMAIN.COM的alias。  

* 在/etc/mail/sendmail.cf文件中作如下设置,确保所有的外发邮件通过邮件主机发送(前面两行在Solaris8中无需设置):  

Dj$w.YOURDOMAIN.COM.  

DSmailhost  

DRmailhost  

Dhmailhost  

O FallbackMXhost=mailhost  

* 在root的cron中加入如下条目,将缓存的邮件在工作时间内每小时发送一次  

0 6-22 * * 1-5 /usr/lib/sendmail -q  

* 发送一封测试邮件,对配置进行检查  

mailx -v -s test_email root * Email服务器:设置Email服务器(运行SMTP服务),在这里不做详细介绍。  

Reboot,查错  

安装相应的工具及脚本,确保程序已经在其它主机上编辑测试通过。  

* 将安全工具安装在/secure目录中,如下面会用到的:rotate_cron,rotate_log,wtrim.pl,  

rdistd,Saveit,Weekly。然后将/secure目录模式设置为:  

chmod 700 /secure;chown -R root /resure  

* 在Solaris8系统的附件光盘上,如Software Companion光盘带有许多常用的工具,如PPP、samba、wu-ftp(出于安全性考虑,避免使用)、Development/Libraries、Development/Tools、  

X11应用、vim/emacs、Windows管理器等。使用图形化的安装工具或者通过SSH和X11隧道登录到服务器上,进入相应的目录,使用pkgadd命令进行安装。  

* 安装其它的常用工具,如traceroute、top或者lsof(不要设置SUID位)。  

* 安装perl,并建立/bin/perl符号链接(ln -s /usr/local/bin/perl /bin/perl)。  

Solaris8系统已经内置了一个版本的perl,但最好删除它(pkgrm SUNWpl5u SUNWpl5p SUNWpl5m),从Sunfreeware.com下载最新的版本进行安装(pkgadd -d perl-5.6.0-sol8.sparc-local)。  


  • 上一篇文章:
  • 下一篇文章:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    bet365 传世私服 传奇世界私服 bet365 传奇私服 bet365 热血江湖私服 天龙八部私服