电脑技术学习

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

dn001
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)。;

标签: