分享
 
 
 

Solaris安全配置手册

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

前言:针对solaris7,8操作系统的一个完全的安全配置手册,供系统管理员参考。

Solaris安全配置流程1

一,solaris系统安装3

系统patch3

建立/var分区3

二,系统4

eeprom安全4

置核心大小为零4

三,用户管理4

禁止所有的系统账户(system accounts)4

用强壮的密码设置程序5

设置默认的密码参数5

设置密码的最大生存周期5

设定离用户密码过期的天数,当系统启动时提醒用户。5

设定最小用户密码长度6

防止远程的root登陆6

纪录所有root的登陆情况6

设置登陆会话超时时间6

设置默认的屏蔽掩码6

设置root的umask6

确定登陆需要密码验证7

设置shell的环境变量7

检查每个用户的密码档设置7

去掉所有path环境变量里的“.”7

限制su命令,添加可以su的用户到sugroup里7

四,inetd超级进程8

注释掉所有确实不需要的服务8

对inetd的服务实现TCP wrapper8

加固inetd8

关于xinetd8

五,系统启动服务(rc.X)9

去掉不需要的启动服务9

禁止DMI服务9

禁止默认的mounting suid features9

检查所有的.rhosts文件10

禁止基于rhosts的用户认证10

检查信任关系10

启动服务脚本的屏蔽掩码10

六,网络接口的调整和安全11

缩短ARP缓存的存在周期11

缩短条目在arp-table里刷新的时间11

禁止回应广播的的请求来防止一些特殊的具有危害性的ping包11

启动时禁止源路由11

防止系统在启动时启动ip转发11

设置系统禁止ip包转发12

设置系统精确的多路寻址12

保证系统不响应icmp网络掩码请求12

防止系统响应icmp的时间戳请求12

防止系统响应icmp时间戳广播12

防止系统发送icmp转发信息13

改变TCP初始序列号生成参数13

设置in.routed在静态模式13

禁止路由13

八,小型服务14

1,NFS14

2,NIS,NIS+15

3,MAIL15

4,FTP16

5,TELNET17

九,X-Windows17

十,文件许可权限18

去掉不用的suid文件18

去掉不用的sgid程序18

删除一切/etc目录下的组用户可写的文件19

移除/etc目录下一切对用户可写的文件19

改变所有文件的rw-rw-rw权限为rw-r-r-19

改变文件的rwxrwx???19

找出可写的目录20

确定所有应用服务的启动脚本的用户属主和用户组是root20

打开cron程序的记账20

检查utmp,utmpx的权限20

寻找没有用户关联的文件21

寻找没有组关联的文件21

检查/var/cron的权限21

十一,登录和记账21

设置cronlogfile的保存空间为2m21

记账所有的inetd服务22

修改syslog.conf文件22

安装tripwire22

IDS22

日志文件观察者(swatch)22

禁止telnet远程管理,用ssh23

十二,其他23

设置启动标示23

一 solaris系统安装

系统patch

解决方案:

连接站点http://sunsolve.sun.com寻找solaris的最新补丁路径

showrev -p [安装的补丁列表命令]

建立/var分区

解决方法:

/var分区是存放logfile以及系统变动文件的文件系统,因为它的易变化性,以及在系统运作过程中的不断扩大,所以不要把/var文件系统包括再root分区里,以免有恶意程序恶意扩大日志文件来dos根分区。

1)在系统安装之初解决这个问题。

2)划分较小的独立的文件系统给/var

3)并挂接在/下。

二 系统

eeprom安全

安全层面:本地

解决方法:

先解释一下openboot安全级别:

none 不需要任何口令

command 除了boot和go之外的所有命令都需要口令。

Full 除了go命令之外的所有openboot命令都需要openboot口令

好!用# eeprom security-mode=command命令来改变openboot的安全级别到command级。当然,你首先得要用# eeprom security-password命令来给openboot设置强壮口令。

为什么要这样做:因为能够访问openboot的用户可以从几乎所有的scsi设备(外部硬盘或cdrom)上引导系统,这样用户如果从他们自己的媒体来引导系统的话,就等于完全控制了系统。同样,用户能够用stop-A停止系统,可以修改所有openboot环境变量。这是非常危险的事情。

置核心大小为零

安全层面:本地

解决方法:

添加行到:/etc/system文件里:

set sys:coredumpsize = 0

我建议这样做,因为你需要去分析内核,这样做可以防止由于你的误操作而损坏你的硬盘。

参考脚本:

disable-core.sh

三 用户管理

禁止所有的系统账户(system accounts)

安全层面:本地

解决方法:

编辑/etc/passwd文件使所有系统账户没有shell。如:noaccess:x 60002:60002:No Access User:/:/sbin/noshell

noshell.c应该这样写:

#include <stdio.h>

void main() {

printf(“sorry!no shell with this account\n”);

return 0;

}

gcc -o ./noshell ./noshell. c

cp /sbin/noshell /sbin/noshell.solaris

cp ~/noshell /sbin/noshell

禁止不需要的系统账户,在/etc/shadow文件中用NP标志放在那些用户的密码段,这样那些用户就被禁止了。

基本的sys V unix系统账户:

bin, daemon,adm,lp,smtp,sys,uucp,nuucp,nobody,noaccess

用强壮的密码设置程序

安全层面:远程

解决方法:

对于所有用户账户而言都应该用强壮的密码,在solaris下有一个叫npasswd的工具运行的很好,利用npasswd代替passwd程序来让用户设置密码,它附带了一个配置文件,可以让用户设定密码的长度,字符,期限等控制信息。

设置默认的密码参数

安全层面:本地

解决方法:

添加或编辑/etc/default/passwd文件如下入口:

PWMIN= 1 #密码可以被改变的最小时段

设置密码的最大生存周期

安全层面:本地

解决方法:

添加或编辑/etc/default/passwd文件如下入口:

PWMAX= 13 #密码的最大生存周期

设定离用户密码过期的天数,当系统启动时提醒用户。

安全层面:本地

解决方法:

添加或编辑/etc/default/passwd文件如下入口:

PWWARN= 4

设定最小用户密码长度

安全层面:本地

解决方法:

添加或编辑/etc/default/passwd文件如下入口:

PWLEN= 8 #设定最小用户密码长度为8位

防止远程的root登陆

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LCONSOLE=/dev/console #这样root只能从/dev/console这个设备登陆

纪录所有root的登陆情况

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LSYSLOG= YES #syslog纪录root的登陆失败,成功的情况

设置登陆会话超时时间

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LTIMEOUT= 120

设置默认的屏蔽掩码

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LUMASK= 027 #这将设定标准掩码为:750,也可以将这行加到/etc/.login /etc/profile /etc/skel/local.cshrc /etc/skel/local.login /etc/skel/local.profile这些文件里

设置root的umask

安全层面:本地

解决方法:

确定root的umask是027或077

检查root的.profile

确定登陆需要密码验证

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LPASSREQ= YES

设置shell的环境变量

安全层面:本地

解决方法:

添加或编辑/etc/default/login文件如下入口:

LALTSHELL= YES

检查每个用户的密码档设置

安全层面:本地

解决方法:

检查/etc/passwd;/etc/shadow文件里的每个用户的加密行,如:

user:lRs.8R9EfQXx.:11137:0:10000::::

加密段有无被修改的迹象

去掉所有path环境变量里的“.”

安全层面:本地

解决方法:

从用户及root的初始化脚本中的path变量里去除“.”,比如如下脚本:

/.login /etc/.login /etc/default/login /.cshrc /etc/skel/local.cshrc

/etc/skel/local.login /etc/skel/local.profile /.profile /etc/profile

限制su命令,添加可以su的用户到sugroup里

安全层面:本地

解决方法:

1)在/etc/group文件里建立一个特殊的组

2)使你的admin账号在这个组里

3)改变/bin/su的权限为:r-sr-sr-x 1 root sugroup

# chmod 550 /bin/su

# chmod +s /bin/su

# chown root:sugroup /bin/su

# ls -al /bin/su

-r-sr-s--- 1 root sugroup 18360 Jan 15 1998 /bin/su

# grep sugroup /etc/group

sugroup::600:root,httpadm,wsphere

只有是sugroup组里的用户才可以使用su命令

四 inetd超级进程

注释掉所有确实不需要的服务

安全层面:远程

解决方法:

用grep -v “^#”/etc/inetd.conf命令来察看你当前没有注释的服务

去掉一切你不是真正需要的服务,并且是那些没有注释的服务保护在tcp_wrapper之下。

对inetd的服务实现TCP wrapper

安全层面:远程

解决方法:

编译安装tcpd到/usr/local/bin目录下,编辑/etc/inetd.conf如下:

ftp stream tcp nowait root /usr/local/bin/ tcpd in.ftpd

telnet stream tcp nowait root /usr/local/bin/ tcpd in.telnetd

加固inetd

安全层面:远程

解决方法:

检查/etc/hosts.deny和/etc/hosts.allow文件,确定如下格式:

/etc/hosts.deny

ALL:ALL

开启的服务:

/etc/hosts.allow

<service>:<source-ip>

关于xinetd

安全层面:本地

解决方法:

xinetd有这比inetd更强大的灵活性和安全性,所以尽量用xinetd来代替inetd。

五 系统启动服务(rc.X)

去掉不需要的启动服务

安全层面:远程

解决方法:

用mv命令来去掉不需要的启动服务,一个例子如下:

mv /etc/rc3.d/S92volmgt /etc/rc2.d/not_usedS92volmgt

这样vlomgt这个服务就被禁止启动了

下面一些服务最好禁止启动(不过具体情况具体决定):

snmpdx

autofs(Automounter)

volmgt(Volume Deamon)

lpsched(LP print service)

nscd (Name Service Cache Daemon)

Sendmail

Keyserv

禁止rpcbind服务,如果它不是一定需要的话。(以上列表可以代表所有不需要的服务,但具体情况请进入到rc.X目录里自行决定哪些服务需要,哪些不需要)

禁止DMI服务

安全层面:远程

解决方法:

禁止所有的dmi服务:mv /etc/rc3.d/S??dmi /etc/rc3.d/D??dmi

DMI服务通过/etc/init.d/init.dmi里的几个bin文件来运行:

/usr/lib/dmi/dmispd

/usr/lib/dmi/snmpXdmid

/etc/dmi/ciagent/ciinvoke

禁止默认的mounting suid features

安全层面:远程

解决方法:

在/etc/rmmount.Conf文件里添加行:

mount hsfs -o nosuid

mount ufs -o nosuid

检查所有的.rhosts文件

安全层面:远程

解决方法:

.rhosts文件允许用户或远程主机访问系统而不经过密码验证。假如一台远程的主机被攻破,这将成为极大的安全隐患。建议禁止任何.rhosts文件。

禁止基于rhosts的用户认证

安全层面:远程

解决方法:

更改并删除/etc/pam.conf文件里的:

rlogin auth sufficient /usr/lib/security/pam_rhosts_auth.so.1

改变rsh行:

rsh auth required /usr/lib/security/pam_unix.so.1

参考脚本:

pam-rhosts-2. 6.sh

检查信任关系

安全层面:远程

解决方法:

确定/etc/hosts.equiv文件为空。

启动服务脚本的屏蔽掩码

安全层面:远程

解决方法:

在每个rc.X目录中建立S00umask文件:

/etc/rc0.d/S00umask.sh

/etc/rc1.d/S00umask.sh

/etc/rc2.d/S00umask.sh

/etc/rc3.d/S00umask.sh

/etc/rcS.d/S00umask.sh

/etc/init.d/umask

参考脚本:

add-umask.sh

六 网络接口的调整和安全

缩短ARP缓存的存在周期

安全层面:远程

解决方法:

在/etc/rc2.d/S??inet脚本中添加如下:

ndd -set /dev/arp arp_cleanup_interval 60000 /* 1 min (default is 5 min)*/

缩短条目在arp-table里刷新的时间

安全层面:远程

解决方法:

在/etc/rc2.d/S??inet脚本中添加如下:

ndd -set /dev/ip ip_ire_flush_interval 60000 /* 1 min (default is 20 min)*/

禁止回应广播的的请求来防止一些特殊的具有危害性的ping包

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_respond_to_echo_broadcast 0 # default is 1

启动时禁止源路由

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_forward_src_routed 0 # default is 1

防止系统在启动时启动ip转发

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_forwarding 0 # default is 1

设置系统禁止ip包转发

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_ignore_redirect 1 # default is 0

(adds it into /etc/init.d/nddconfig)

设置系统精确的多路寻址

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_strict_dst_multihoming 1 # default is 0

(adds it into /etc/init.d/nddconfig)

保证系统不响应icmp网络掩码请求

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_respond_to_address_mask_broadcast= 0 # default is 0

(adds it into /etc/init.d/nddconfig)

防止系统响应icmp的时间戳请求

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_ip_respond_to_timestamp= 0 # default is 1

(adds it into /etc/init.d/nddconfig)

防止系统响应icmp时间戳广播

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_ip_respond_to_timestamp_broadcast= 0 # default is 1

(adds it into /etc/init.d/nddconfig)

防止系统发送icmp转发信息

安全层面:远程

解决方法:

添加或修改/etc/rc2.d/S??inet如下:

ndd -set /dev/ip ip_send_redirects= 0 # default is 1

(adds it into /etc/init.d/nddconfig)

改变TCP初始序列号生成参数

安全层面:远程

解决方法:

改变/etc/default/inetinit文件的条目:

TCP_STRONG_ISS= 2

设置in.routed在静态模式

安全层面:远程

解决方法:

按如下步骤建立in.routed -q(静态模式):

mv /usr/sbin/in.routed to /usr/sbin/in.routed.orig

建立/usr/sbin/in.routed如下内容:

#! /bin/sh

/usr/sbin/in.routed.orig -q

更改这个文件的权限:

chmod 0755 /usr/sbin/in.routed

#动态的路由模式容易遭受到恶意的路由信息的亲篇和攻击,所以建议宁愿用静态路由,(路由的增加通过启动文件的route命令)也不建议用动态路由守护进程

禁止路由

安全层面:远程

解决方法:

touch /etc/notrouter

八,小型服务

1,NFS

移除NFS

安全层面:远程

解决方法:

建议在DMZ中不要运行NFS服务,所以如果它运行着的话,建议移除它。如下步骤:

移除/etc/dfs/dfstab中的所有共享定义

杀掉NFS守护进程:lockd, nfsd, statd, mountd

重命名NFS的启动脚本:/etc/rc3.d/S??nfs.server 和 /etc/rc2.d/S??nfs.client

设置NFS的特定tcp端口

安全层面:远程

解决方法:

执行如下命令:

ndd -set /dev/tcp tcp_extra_priv_ports_add 2049

设置NFS的特定udp端口

安全层面:远程

解决方法:

执行如下命令:

ndd -set /dev/udp udp_extra_priv_ports_add 2049

开启NFS端口监听

安全层面:远程

解决方法:

添加行到/etc/system文件:

set nfssrv: nfs_portmon = 1

set nfs: nfs_portmon = 1

确定你的/etc/system文件的访问权限为644:

# chmod 644 /etc/system

一些nfs相关的服务

安全层面:远程

解决方法:

关掉如下服务:

nfsd

mountd

rpc.boot

in.rarpd

rpld

2,NIS,NIS+

去除NIS,NIS+

安全层面:远程

解决方法:

我们建议不要运行NIS,NIS+服务,所以按一下步骤移除它:

在文件/etc/domainname里移除域名:

你可以察看NIS大体的服务列表:

# pkginfo |grep NIS

# pkgrm <NIS-Package>

system SUNWypr NIS Server for Solaris (root)

system SUNWypu NIS Server for Solaris (usr)

移除NIS,NIS+,DNS Lookup

安全层面:远程

解决方法:

编辑/etc/nsswitch.conf如下:

passwd: files

group: files

hosts: files

networks: files

protocols: files

rpc: files

ethers: files

netmasks: files

bootparams: files

publickey: files

netgroup: files

automount: files

aliases: files

services: files

sendmailvars: files

如果需要dns的话,可以再次修改这个文件

3,MAIL

停止绑定在25端口的sendmail服务

安全层面:本地

解决方法:

禁止sendmail服务,你的用户依然可以发信。意思是,sendmail仍然安装了,只是不要作为守护进程存在,你可以在sendmail.cf文件里限制你的用户的权限。

mv /etc/rc2.d/S88sendmail /etc/rc2.d/not_usedS88sendmail

注释所有的并行邮件别名

安全层面:远程

解决方法:

检查 /ect/aliases |可以并列。用#号注解。

限制sendmail的expn和vrfy两个命令来收集系统信息

安全层面:远程

解决方法:

在/etc/senmmail.cf文件中修改如下限制远程连接25端口使用expn和vrfy命令:

# O PrivacyOptions=authwarnings, goaway

Opgoaway

# O PrivacyOptions=noexpn, novrfy, authwarnings

O LogLevel=5

隐藏smtp版本信息

安全层面:远程

解决方法:

在/etc/mail/sendmail.cf文件里找到smtp版本信息,修改如下:

# SMTP login message

禁止邮件转发

安全层面:远程

解决方法:

普通用户不可以选择转发者,而root可以通过/usr/local/forward/.forward.$u来控制邮件转发,修改/etc/sendmail.cf如下行:

O ForwardPath=/usr/local/forward/.forward.$u

设置/usr/local/forward正确的权限

接收邮件

安全层面:本地

解决方法:

如果真要在自己的系统上接收外来的邮件(监听在25端口)。我们建议利用spam或smtpd/smtpfwdd来保证邮件服务的安全(加上anti-spam,安全配置)。

4,FTP

安全FTP

安全层面:远程

解决方法:

建立或修改/etc/default/ftpd文件增加屏蔽码和ftp标志信息:

UMASK= 077

BANNER="/bin/cat /etc/ftp-banner"

修改/etc/default/ftpd权限:

chmod 644 /etc/default/ftpd

建立ftp标示信息

安全层面:远程

解决方法:

建立/etc/ftp-banner文件满足如下:

例如:This system is for authorized users only. Monitoring may occur

修改/etc/ftp-banner文件的权限:

chmod 644 /etc/ftp-banner

创建/etc/ftpusers文件

安全层面:远程:

解决方法:

创建/etc/ftpusers文件,把所有的系统账户加入到这个文件里

例如如下账户:

root daemon sys bin adm lp smtp uucp nuucp listen

nobody noaccess news ingres audit admin sync nobody4

修改/etc/ftpuser文件的权限:

chmod 644 /etc/ftpusers

5,TELNET

防止telnet程序现实系统版本信息

安全层面:远程

解决方法:

移除/etc/default/telnetd文件里的信息:

Banner=””

加入/etc/default/telnetd文件不存在,按如下步骤操作:

touch /etc/default/telnetd

echo "BANNER=""">> /etc/default/telnetd

chmod 444 /etc/default/telnetd

九,X-Windows

设置CDE为不接受任何XDMCP登陆连接

安全层面:远程

解决方法:

假如/usr/dt/config/Xaccess存在,则如下操作:

cat <<EOF >/usr/dt/config/Xaccess

# disable all XDMCP connections

!*

EOF

假如/etc/dt/config/Xaccess存在,则如下操作:

cat <<EOF >/etc/dt/config/Xaccess

# disable all XDMCP connections

!*

EOF

十,文件许可权限

去掉不用的suid文件

安全层面:本地

解决方法:

许多运行在solaris上的suid程序都只属于root,检查这些程序,有没有是属于其他用户的:

步骤:

1)找出所有的suid程序

2)创建备3)份目录(如:/opt/backup/usr/local/bin)

4)把这些suid程序备5)份在以上目录里

6)把这些程序用tar打成包(使find程序在备7)份目录里找不8)到这些程序)

9)删掉备10)份目录

11)去掉所有的suid程序的s权位

12)只保留一些必须的suid程序。如:passwd,13)su等

14)再次执行一遍find程序,15)看看输出情况

必须用到的一些命令:

find / -type f\( -perm -4000 \) |xargs ls -a

find / -type f\( -perm -4000 \) |xargs chmod -s

去掉不用的sgid程序

安全层面:本地

解决方法:

许多运行在solaris上的sgid程序都只属于root,检查这些程序,有没有是属于其他用户的:

1)出所有的sgid程序

2)创建备3)份目录(如:/opt/backup/usr/local/bin)

4)把这些sgid程序备5)份在以上目录里

6)把这些程序用tar打成包(使find程序在备7)份目录里找不8)到这些程序)

9)删掉备10)份目录

11)去掉所有的sgid程序的s权位

12)只保留一些必须的sgid程序。如:passwd,13)su等

14)再次执行一遍find程序,15)看看输出情况

必须用到的一些命令:

find / -type f\( -perm -2000 \) |xargs ls -a

find / -type f\( -perm -2000 \) |xargs chmod -s

删除一切/etc目录下的组用户可写的文件

安全层面:本地

解决方法:

检查/etc目录下所有的组可写文件:

find /etc -type f\( -perm 20 \) | xargs ls -las

不需要组的可写权限,修改如下:

find /etc -type f\( -perm 20 \) | xargs chmod g-w

移除/etc目录下一切对用户可写的文件

安全层面:本地

解决方法:

检查/etc目录下对用户可写文件:

find /etc -type f\( -perm 2 \) | xargs ls -las

不需要用户的可写权限,修改如下:

find /etc -type f\( -perm 2 \) | xargs chmod g-w

改变所有文件的rw-rw-rw权限为rw-r-r-

安全层面:本地

解决方法:

首先列出文件:

find / -type f -perm 666 |xargs ls -al > perm-666-before-change.txt

改变权限:

find / -type f -perm 666 |xargs chmod 644

find / -type f -perm 666 |xargs ls -al > perm-666-after-change.txt

改变文件的rwxrwx???

安全层面:本地

解决方法:

首先列出文件:

find / -type f -perm 777 |xargs ls -al > perm-777-before-change.txt

改变权限:

find / -type f -perm 777 |xargs chmod 755

find / -type f -perm 777 |xargs ls -al > perm-777-after-change.txt

找出可写的目录

安全层面:

本地

解决方法:

find / -type d\( -perm 2 \)

改变你所需要的权限设置

确定所有应用服务的启动脚本的用户属主和用户组是root

(这些可以影响补丁的程序和出错信息)

安全层面:本地

解决方法:

检查启动脚本的文件属主:

find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-before-change.txt

改变这些文件的文件属主:

find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs chown

root:root

find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-after-change.txt

ls -al /etc/ init. d > etc-init.d-before.change.txt

chown root:root /etc/ nit.d

ls -al /etc/init.d > etc-init.d-after-change.txt

经过这样的改变,所有的rcX.d里的脚本的文件属主都为root,所有的/etc/init.d目录里的脚本的文件属主文件组都是root了,为了防止特洛伊木马。

打开cron程序的记账

安全层面:本地

解决方法:

确定/etc/default/cron文件里有如下行:

CRONLOG=YES

检查utmp,utmpx的权限

安全层面:本地

解决方法:

检查/var/adm目录下的文件权限:

find /var/adm -type f\( -perm 2 \) | xargs ls -las

修改文件:

chmod 644 /var/adm/utmp

寻找没有用户关联的文件

安全层面:本地

解决方法:

find / -type f -nouser

如下步骤:

1) find / -type f -nouser > files-nouser-before-change

2) find / -type f -nouser | xargs chwon nobody:nobody

3) find / -type f -nouser > files-nouser-after-change

寻找没有组关联的文件

安全层面:本地

解决方法:

find / -type f -nogroup

如下步骤:

1) find / -type f -nogroup > files-nogroup-before-change

2) find / -type f -nogroup | xargs chgrp nobody

3) find / -type f -nogroup > files-nogroup-after-change

检查/var/cron的权限

安全层面:本地

解决方法:

如果/etc/cron文件的文件属主不是root,组不是sys,修改该文件的权限:

chmod 700 /var/cron && chown root /var/cron && chgrp sys /var/cron

十一,登录和记账

设置cronlogfile的保存空间为2m

安全层面:本地

解决方法:

修改/etc/cron.d/logchecker如下:

LIMIT=4096

记账所有的inetd服务

安全层面:本地

解决方法:

修改/etc/init.d/inetsvc文件如下:

/usr/sbin/ifconfig -au netmask + broadcast +

/usr/ bin/inetd -s -t

假如你运行了named,dhcpd, multicast,你必须作如上改动

修改syslog.conf文件

安全层面:远程

解决方法:

编辑/etc/syslog.conf文件,让日志进程纪录更多的系统信息。

添加如下行:

*.debug /var/adm/compass.messages

安装tripwire

安全层面:远程

解决方法:

tripwire是一个特洛伊木马检查程序,他工作在提供的二进制文件的md5码的数据库以及你的配置上,建议每6个小时运行一次tripwire。

IDS

安全层面:远程

解决方法:

建议安装运行snort工具来监测你的网络可能收到的如下攻击:

- cgi-scan

- portscans

- virus

根据你的需要参看/root/config/snort.rules文件。

日志文件观察者(swatch)

安全层面:远程

解决方法:

建议安装运行swatch工具来监测你的日志文件,你可以在你的系统上启动多个监测进程,例如:

- /var/adm/compass.messages

- /var /adm/snort_portscan.log

- /opt/AppServer/WebSphere/log/????

Swatch是一个用perl写的工具,所以你必须安装PERL MODULES。

禁止telnet远程管理,用ssh

安全层面:远程

解决方法:

安装openssl,openssh的最新版本来代替telnetd,密切关注最新版本的security report。

十二,其他

设置启动标示

安全层面:本地

解决方法:

修改/etc/default/telnetd文件设置启动banner,格式如下:

BANNER=”…..”

创建/etc/issue文件编辑启动信息。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有