Solaris 10加固及DNS的安装.docx
《Solaris 10加固及DNS的安装.docx》由会员分享,可在线阅读,更多相关《Solaris 10加固及DNS的安装.docx(17页珍藏版)》请在冰点文库上搜索。
Solaris10加固及DNS的安装
Solaris10加固及DNS的安装
一、Solaris10安全加固2
1.系统补丁2
1.1下载系统相关补丁2
1.2安装系统补丁2
2.系统及网络服务2
2.1禁止不必要的服务2
2.2系统服务启动3
3.调整内核参数4
3.1调整TCP/IP内核参数4
3.3调整TCP序列号的产生算法5
3.4禁止数据包转发使用默认路由5
4.本地安全加固5
4.1审查root的环境变量5
4.2设定登陆尝试次数6
4.3禁止所有的系统账户(systemaccounts)6
4.4设定最小用户密码长度6
4.5设置密码的最大生存周期6
4.6限制使用su的组(只允许sysadmin组执行su命令)7
4.7检查系统中安全配置文件7
4.8/etc的存取权限7
4.9审查root属主的setgid和setuid程序7
4.10审查crontab策略10
4.11删除不需要的crons10
4.12用ssh代替telnet10
4.13ftp用户的安全设定11
4.14创建/etc/issue文件编辑启动信息11
4.15Syslog配置11
4.16设置对系统日志的访问权限12
二、DNS服务器的配置12
1.bind的安装12
2.bind的chroot操作12
2.1建立chroot相关目录12
2.2相关文件的复制12
2.3创建系统支持文件12
2.4修改/chroot/named/ect/named.conf13
3.加强文件安全性14
4.配置自动运行Bind14
一、Solaris10安全加固
1.系统补丁
1.1下载系统相关补丁
可以从如下地址得到:
1.2安装系统补丁
在安装系统补丁之前,可用showrev–p命令查看系统当前已经装的补丁,以决定是打单个的补丁包,还是使用推荐的整个补丁包。
1.下载相应的补丁包文件,如10_Recommended.zip
2.解压缩相应的文件,如ungzip10_Recommended.zip,生成解压缩目录10_Recommended
3.进入相应的目录,以root身份执行如下的命令./install_cluster,
2.系统及网络服务
2.1禁止不必要的服务
解决方法:
用grep-v“^#”/etc/inetd.conf命令来察看你当前没有注释的服务
在需要禁止的服务定义行前,加上‘#’,需要禁止的网络服务如下:
shellloginexec
comsattalkuucp
tftpfingersysstat
netstattimeecho
discarddaytimechargen
rquotadspraydwalld
rexdrpc.ttdbserverd
ufsdprinterdtspc
rpc.cmsd
2.2系统服务启动
系统中也有服务并非在有inetd进程开启,而是在系统引导时由服务启动脚本启动的。
如果系统不需要该项服务,也可以禁止这些服务的启动。
解决方法:
1.将系统/etc/rc2.d及/etc/rc3.d目录中的所有不需要的服务禁止掉(使用mv命令对文件进行改名。
下列启动文件必须保留。
)
具体的网络服务和启动脚本文件对应列表如下:
rpcbind:
/etc/rc2.d/S71rpc
lpd:
/etc/rc2.d/S72slpd、/etc/rc2.d/S80spc
uucp:
/etc/rc2.d/S70uucp
cron:
/etc/rc2.d/S75cron
savecore:
/etc/rc2.d/S75savecore
sendmail:
/etc/rc2.d/S88sendmail
autofs:
/etc/rc2.d/S74autofs
snmp:
/etc/rc2.d/K07snmpdx、/etc/rc3.d/S76snmpdx
CDE:
/etc/rc2.d/S99dtlogin
nfs:
/etc/rc3.d/S15nfs.server
nscd:
/etc/rc2.d/S76nscd、/etc/rc2.d/.S76nscd
ntp:
/etc/rc2.d/S74xntpd
named:
/etc/named.conf
建议必须保留以下文件:
S01MOUNTFSYSS69inetS72inetsvcS74xntpdS80PRESERVE
S05RMTMPFILESS71rpcS74autofsS75cronS88utmpd
S20sysetupS71sysid.sysS74syslogS75savecoreS99audit
S
3.调整内核参数
3.1调整TCP/IP内核参数
缩短ARP缓存的存在周期
解决方法:
在/etc/rc2.d/S?
?
inet脚本中添加如下:
ndd-set/dev/arparp_cleanup_interval60000/*1min(defaultis5min)*/
缩短条目在arp-table里刷新的时间
解决方法:
在/etc/rc2.d/S?
?
inet脚本中添加如下:
ndd-set/dev/ipip_ire_flush_interval60000/*1min(defaultis20min)*/
禁止回应广播的的请求来防止一些特殊的具有危害性的ping包
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_respond_to_echo_broadcast0#defaultis1
启动时禁止源路由
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_forward_src_routed0#defaultis1
防止系统在启动时启动ip转发
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_forwarding0#defaultis1
设置系统禁止ip包转发
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_ignore_redirect1#defaultis0
设置系统精确的多路寻址
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_strict_dst_multihoming1#defaultis0
保证系统不响应icmp网络掩码请求
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_respond_to_address_mask_broadcast=0#defaultis0
防止系统响应icmp的时间戳请求
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_ip_respond_to_timestamp=0#defaultis1
防止系统响应icmp时间戳广播
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_ip_respond_to_timestamp_broadcast=0#defaultis1
防止系统发送icmp转发信息
解决方法:
添加或修改/etc/rc2.d/S?
?
inet如下:
ndd-set/dev/ipip_send_redirects=0#defaultis1
3.3调整TCP序列号的产生算法
使用随即TCP序列号产生算法,可以有效的防止IP欺骗攻击.
解决方法:
将/etc/default/inetinit文件中的TCP_STRONG_ISS值由默认的1改变为2,TCP_STRONG_ISS=2
3.4禁止数据包转发使用默认路由
解决方法:
使动态路由无效:
touch/etc/notrouter
使用默认路由,在/etc/defaultrouter文件中增加缺省网关的IP地址,
4.本地安全加固
4.1审查root的环境变量
解决方法:
审查root的PATH环境变量,确保“.”没有出现,可以防止木马攻击。
确认root的umask设置是077或者027,否则编辑/etc/profile文件。
4.2设定登陆尝试次数
解决方法:
#Vi/etc/default/login
RETRIES=5
SYSLOG_FAILED_LOGINS=5
4.3禁止所有的系统账户(systemaccounts)
解决方法:
编辑/etc/passwd文件使所有系统账户没有shell。
如:
noaccess:
x60002:
60002:
NoAccessUser:
/:
/sbin/noshell
noshell.c应该这样写:
#include
voidmain(){
printf(“sorry!
noshellwiththisaccount\n”);
return0;
}
gcc-o./noshell./noshell.c
cp/sbin/noshell/sbin/noshell.solaris
cp~/noshell/sbin/noshell
禁止不需要的系统账户,在/etc/shadow文件中用NP标志放在那些用户的密码段,这样那些用户就被禁止了。
基本的sysVunix系统账户:
bin,daemon,adm,lp,smtp,sys,uucp,nuucp,nobody,noaccess
4.4设定最小用户密码长度
解决方法:
添加或编辑/etc/default/passwd文件如下入口:
PWLEN=8#设定最小用户密码长度为8位
4.5设置密码的最大生存周期
安全层面:
本地
解决方法:
添加或编辑/etc/default/passwd文件如下入口:
PWMAX=13#密码的最大生存周期
4.6限制使用su的组(只允许sysadmin组执行su命令)
解决方法:
chgrpsysadmin/bin/su
chmodo-rwx/bin/su
4.7检查系统中安全配置文件
检查系统中用户设定和系统设定的所有安全配置文件,包括的.rhosts,.netrc,hosts.equiv等文件,确保没有存在潜在的信任主机和用户关系,使这些文件内容为空。
4.8/etc的存取权限
解决方法:
用chmod-Rg-w/etc命令来移去组用户对/etc的写权限
4.9审查root属主的setgid和setuid程序
解决方法:
使用命令“find/-perm-4000–userroot–print”可以找出系统中被置为setuid且属主为root的文件,在系统中应该保存setgid文件的列表,可以将发现结果与该列表对照,发现有无新增的setuid文件。
另外,系统中的setgid文件要尽量少,可以将不常用的setuid文件用“chmod–s文件名称”命令清除其setuid位。
同样的方法可使用与setgid程序。
以下给出系统中常用的必须的setuid和setgid程序的列表,可供参考。
Setuid文件:
-r-s--x--x1rootbin19484/usr/lib/lp/bin/netpr
-r-sr-xr-x1rootbin13840/usr/lib/fs/ufs/quota
-r-sr-xr-x1rootbin82484/usr/lib/fs/ufs/ufsdump
-r-sr-xr-x1rootbin901204/usr/lib/fs/ufs/ufsrestore
---s--x--x1rootbin4104/usr/lib/pt_chmod
-r-sr-xr-x1rootbin7068/usr/lib/utmp_update
-r-sr-xr-x1rootbin658616/usr/lib/sendmail
-rwsr-xr-x1rootadm5040/usr/lib/acct/accton
-r-sr-xr-x1rootsys27752/usr/bin/sparcv7/ps
-r-sr-xr-x2rootbin11368/usr/bin/sparcv7/uptime
-r-sr-xr-x2rootbin11368/usr/bin/sparcv7/w
-rwsr-xr-x1rootsys36320/usr/bin/at
-rwsr-xr-x1rootsys13796/usr/bin/atq
-rwsr-xr-x1rootsys12756/usr/bin/atrm
-r-sr-xr-x1rootbin17136/usr/bin/crontab
-r-sr-xr-x1rootbin13808/usr/bin/eject
-r-sr-xr-x1rootbin26372/usr/bin/fdformat
-r-sr-xr-x1rootbin29292/usr/bin/login
-rwsr-xr-x1rootsys7328/usr/bin/newgrp
-r-sr-sr-x3rootsys101744/usr/bin/passwd
-r-sr-xr-x1rootbin6508/usr/bin/pfexec
-r-sr-xr-x1rootbin21008/usr/bin/rcp
-r-sr-xr-x1rootbin55480/usr/bin/rdist
-r-sr-xr-x1rootbin16012/usr/bin/rlogin
-r-sr-xr-x1rootbin8964/usr/bin/rsh
-r-sr-xr-x1rootsys17156/usr/bin/su
-r-sr-sr-x3rootsys101744/usr/bin/yppasswd
-r-s--x--x1rootsys341204/usr/bin/admintool
-r-sr-xr-x1rootsys41708/usr/bin/chkey
-r-sr-sr-x3rootsys101744/usr/bin/nispasswd
-r-s--x--x1rootlp9736/usr/bin/cancel
-r-s--x--x1rootlp22456/usr/bin/lp
-r-s--x--x1rootlp7116/usr/bin/lpset
-r-s--x--x1rootlp21592/usr/bin/lpstat
-r-sr-xr-x1rootbin5980/usr/bin/volcheck
-r-sr-xr-x1rootbin10780/usr/bin/volrmmount
---s--x--x1rootuucp69784/usr/bin/ct
-r-sr-sr-x1rootsys22808/usr/dt/bin/dtaction
-r-sr-xr-x1rootbin34036/usr/dt/bin/dtappgather
-r-sr-sr-x1rootdaemon304176/usr/dt/bin/sdtcm_convert
-r-sr-xr-x1rootbin357228/usr/dt/bin/dtprintinfo
-r-sr-xr-x1rootbin164224/usr/dt/bin/dtsession
-rwsrwxr-x1rootbin68860/usr/openwin/bin/xlock
-r-sr-sr-x1rootbin18144/usr/openwin/bin/ff.core
-rwsr-xr-x1rootbin44452/usr/openwin/bin/sys-suspend
-rwsr-xr-x1rootbin27620/usr/openwin/lib/mkcookie
-r-sr-xr-x1rootbin12916/usr/sbin/sparcv7/whodo
-rwsr-xr-x3rootbin17616/usr/sbin/allocate
-rwsr-xr-x1rootbin9800/usr/sbin/mkdevalloc
-rwsr-xr-x1rootbin9948/usr/sbin/mkdevmaps
-r-sr-xr-x1rootbin48028/usr/sbin/ping
-rwsr-xr-x1rootsys22640/usr/sbin/sacadm
-r-sr-xr-x1rootbin35652/usr/sbin/traceroute
-rwsr-xr-x3rootbin17616/usr/sbin/deallocate
-rwsr-xr-x3rootbin17616/usr/sbin/list_devices
-r-s--x--x1rootlp6868/usr/sbin/lpmove
-r-sr-xr-x1rootbin28956/usr/sbin/pmconfig
-r-sr-xr-x1rootbin5584/usr/sbin/aspppls
-r-sr-xr-x1rootbin762688/usr/sbin/static/rcp
-r-sr-xr-x1rootsys22988/usr/ucb/sparcv7/ps
Setguid文件:
-r-xr-sr-x1rootsys10740/usr/bin/sparcv7/ipcs
-r-x--s--x1rootmail61288/usr/bin/mail
-r-x--s--x1rootmail126808/usr/bin/mailx
-r-xr-sr-x1rootsys55168/usr/bin/netstat
-r-sr-sr-x3rootsys101744/usr/bin/passwd
-r-xr-sr-x1roottty11344/usr/bin/write
-r-sr-sr-x3rootsys101744/usr/bin/yppasswd
-r-sr-sr-x3rootsys101744/usr/bin/nispasswd
-r-sr-sr-x1rootsys22808/usr/dt/bin/dtaction
-r-sr-sr-x1rootdaemon304176/usr/dt/bin/sdtcm_convert
-rwxr-sr-x1rootroot1941644/usr/openwin/bin/Xsun
-r-sr-sr-x1rootbin18144/usr/openwin/bin/ff.core
-r-xr-sr-x1rootmail637516/usr/openwin/bin/mailtool
-r-xr-sr-x1rootsys19544/usr/sbin/sparcv7/prtconf
-r-xr-sr-x1rootsys10316/usr/sbin/sparcv7/swap
-r-xr-sr-x1rootsys22656/usr/sbin/sparcv7/sysdef
-r-xr-sr-x1roottty9872/usr/sbin/wall
-r-xr-sr-x1rootsys11376/usr/platform/sun4u/sbin/eeprom
-rwxr-sr-x1rootsys4512/usr/platform/sun4u/sbin/prtdiag
-r-xr-sr-x1rootsys10780/usr/xpg4/bin/sparcv7/ipcs
4.10审查crontab策略
解决方法:
在/etc/default/cron中设定CRONLOG=YES。
4.11删除不需要的crons
解决方法:
rm/var/spool/cron/crontabs/{lp,sys,adm}。
4.12用ssh代替telnet
服务的开启方法:
svcadm enbale -rt ssh
默认情况下,OpenSSH是禁止root帐户通过SSH方式登录的,以保障安全。
为了偷懒,另外server所处的环境也没啥危险,于是就希望能在自己的机器上远程登录Solaris Server。
解决方法:
修改 /etc/ssh/ssh_config文件,将其中的“PermitRootLogin no”修改为“PermitRootLogin yes”,再执行 svcadm restart ssh 重新启动SSH服务。
4.13ftp用户的安全设定
解决方法:
建立/etc/ftpusers文件
cat/etc/passwd|cut-f1-d:
>/etc/ftpusers
chownroot/etc/ftpusers
chmod600/etc/ftpusers
将需要使用ftp服务的用户从此文件中删除。
4.14创建/etc/issue文件编辑启动信息
解决方法:
Vi/etc/issu添加:
WARNING:
Toprotectthesystemfromunauthorizeduseandtoensurethatthesystemisfunctioningproperly,activitiesonthissystemaremonitoredandrecordedandsubjecttoaudit.Useofthissystemisexpressedconsenttosuchmonitoringandrecording.AnyunauthorizedaccessoruseofthisAutomatedInformationSystemisprohibitedandcouldbesubjecttocriminalandcivi