服务Linux系统安全加固手册.docx

上传人:b****8 文档编号:13066573 上传时间:2023-06-10 格式:DOCX 页数:14 大小:21.15KB
下载 相关 举报
服务Linux系统安全加固手册.docx_第1页
第1页 / 共14页
服务Linux系统安全加固手册.docx_第2页
第2页 / 共14页
服务Linux系统安全加固手册.docx_第3页
第3页 / 共14页
服务Linux系统安全加固手册.docx_第4页
第4页 / 共14页
服务Linux系统安全加固手册.docx_第5页
第5页 / 共14页
服务Linux系统安全加固手册.docx_第6页
第6页 / 共14页
服务Linux系统安全加固手册.docx_第7页
第7页 / 共14页
服务Linux系统安全加固手册.docx_第8页
第8页 / 共14页
服务Linux系统安全加固手册.docx_第9页
第9页 / 共14页
服务Linux系统安全加固手册.docx_第10页
第10页 / 共14页
服务Linux系统安全加固手册.docx_第11页
第11页 / 共14页
服务Linux系统安全加固手册.docx_第12页
第12页 / 共14页
服务Linux系统安全加固手册.docx_第13页
第13页 / 共14页
服务Linux系统安全加固手册.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

服务Linux系统安全加固手册.docx

《服务Linux系统安全加固手册.docx》由会员分享,可在线阅读,更多相关《服务Linux系统安全加固手册.docx(14页珍藏版)》请在冰点文库上搜索。

服务Linux系统安全加固手册.docx

服务Linux系统安全加固手册

【关键字】服务

密级:

商业秘密

LINUX评估加固手册

安氏领信科技发展有限公司

二〇二一年二月

1、系统补丁的安装

RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。

如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。

因此检查RHLinux的补丁安装情况只能列出所有安装的软件,和RH网站上发布的升级软件对照,检查其中的变化。

通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下:

rpm-qa查看系统当前安装的rpm包

rpm-ivhpackage1安装RPM包

rpm-Uvhpackage级RPM包

rpm-Fvhpackage级RPM包(如果原先没有安装,则不安装)

2、帐户、口令策略的加固

2.1、删除或禁用系统无用的用户

询问系统管理员,确认其需要使用的帐户

如果下面的用户及其所在的组经过确认不需要,可以删除。

lp,sync,shutdown,halt,news,uucp,operator,games,gopher

修改一些系统帐号的shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,检查并取消/bin/bash或者/bin/sh等Shell变量。

可以在/etc/passwd中将它们的shell变量设为/bin/false或者/dev/null等。

也可以通过passwdgroupdel来锁定用户、删除组。

passwd-luser1锁定user1用户

passwd-uuser1解锁user1用户

groupdellp删除lp组。

2.2、口令策略的设置

RedHatLinux总体口令策略的设定分两处进行,第一部分是在/etc/login.defs文件中定义,其中有四项相关内容:

PASS_MAX_DAYS密码最长时效(天)

PASS_MIN_DAYS密码最短时效(天)

PASS_MIN_LEN最短密码长度

PASS_WARN_AGE密码过期前PASS_WARN_AGE天警告用户

编辑/etc/login.defs文件,设定:

PASS_MAX_DAYS=90

PASS_MIN_DAYS=0

PASS_MIN_LEN=8

PASS_WARN_AGE=30

另外可以在/etc/pam.d/system-auth文件中的cracklib项中定义口令强度:

difok

minlen

dcredit

ucredit

lcredit

ocredit

使用vi编辑/etc/pam.d/system-auth文件,设置cracklib的属性

#%PAM-1.0

#Thisfileisauto-generated.

#Userchangeswillbedestroyedthenexttimeauthconfigisrun.

authrequired/lib/security/pam_env.so

authsufficient/lib/security/pam_unix.solikeauthnullok

authrequired/lib/security/pam_deny.so

accountrequired/lib/security/pam_access.so

accountrequired/lib/security/pam_unix.so

passwordrequired/lib/security/pam_cracklib.soretry=3type=difok=4minlen=12dcredit=1ucredit=2lcredit=2ocredit=1

passwordsufficient/lib/security/pam_unix.sonullokuse_authtokmd5shado

w

passwordrequired/lib/security/pam_deny.so

sessionrequired/lib/security/pam_limits.so

sessionrequired/lib/security/pam_unix.so

2.3、系统是否允许root远程登录

RedHat在文件/etc/securetty中定义root用户可以登录的端口;默认其中只包含vc/1-11和tty1-11,即root用户只能从本地登录。

2.4、root的环境变量设置

系统的环境变量在下列文件中设置:

Bash:

/etc/profile

~/.bash_profile

~/.bash_login

~/.profile

~/.bashrc

/etc/bashrc

Tcsh/Csh:

/etc/csh.cshrc

/etc/csh.login

~/.tcshrc或~/.cshrc

~/.history

~/.login

~/.cshdirs

printenv查看用户的环境变量

检查环境变量PATH,确保其中不包含本地目录(.)。

3、网络与服务加固

3.1、rc?

.d中的服务的设置

RedHat的服务主要由/etc/inittab和/etc/rc?

.d/S*文件启动,事实上,/etc/inittab的主要任务是为每一个runlevel指定启动文件,从而启动/etc/rc?

.d/S*文件。

例如,在默认的运行级别3中系统将运行/etc/rc3.d/目录中所有S打头的文件。

runlevel检查当前运行级别(第一项是pre-runlevel,第二项是当前的runlevel)

chkconfig–list检查所有级别中启动的服务情况

chkconfig–list|grep3:

on检查某一级别(例如级别3)中启动的服务

chkconfigsendmailoff将sendmail从启动目录中除去

检查以下服务,如果不需要,关闭之在(/etc/inittab中注释掉);否则,参照3.33.43.53.6进行配置:

portmap(启动rpcbind/portmap服务)

nfslock(启动rpc.lockd和rpc.statd)

httpd(启动apache)

named(启动bind)

sendmail(启动sendmail)

smb(启动samba服务)

snmpd(启动snmp服务)

snmptrapd(启动snmptrap服务)

nfs(启动nfs服务)

3.2、/etc/inetd.conf中服务的设置

由INETD启动的服务在文件/etc/inetd.conf定义。

建议关闭由inetd启动的所有服务;如果有管理上的需要,可以打开telnetd、ftpd、rlogind、rshd等服务。

可从/etc/inetd.conf中删除的服务(在/etc/inetd.conf中注释掉):

shell

kshell

login

klogin

exec

comsat

uucp

bootps

finger

systat

netstat

tftp

talk

ntalk

rpc.rquotad

rpc.rexd

rpc.rusersd

rpc.ttdbserver

rpc.sprayd

rpc.cmsd

rpc.rwalld

rpc.pcnfsd

rpc.rstatd

rpc.ssalld

echo

discard

chargen

daytime

time

comsat

websm

instsrv

imap2

pop3

kfcli

xmquery

RedHatLinux7.3以后使用了新版本的xinetd取代了老版本的inetd,在配置方面最大的不同在于使用了/etc/xinetd.d/配置目录取代了/etc/inetd.conf配置文件。

每一项服务/etc/xinetd.d/中都有一个相应的配置文件,例如telnetd的配置文件是/etc/xinetd.d/telnet。

查看每一个配置文件disable属性的定义(yes/no)就可以确定该服务是否启动(默认是yes)。

使用vi编辑/etc/xinetd.d/中的配置文件,在不需要启动的服务配置文件中添加disable=yes。

建议关闭所有服务,如果管理需要,则可以打开telnetd和ftpd服务。

使用vi编辑/etc/xinetd.d/rlogin文件,控制rlogin服务的启动状态

#default:

on

#description:

rlogindistheserverfortherlogin

(1)program.Theserver\

#providesaremoteloginfacilitywithauthenticationbasedon\

#privilegedportnumbersfromtrustedhosts.

servicelogin

{

disable=yes

socket_type=stream

wait=no

user=root

log_on_success+=USERID

log_on_failure+=USERID

server=/usr/sbin/in.rlogind

3.3、NFS的配置

NFS系统的组成情况:

nfsdNFS服务进程,运行在服务器端,处理客户的读写请求

mountd加载文件系统服务进程,运行在服务器端,处理客户加载nfs文件系统的请求

/etc/exports定义服务器对外输出的NFS文件系统

/etc/fstab定义客户端加载的NFS文件系统

如果系统不需要NFS服务,可以使用chkconfig关闭NFS服务;如果不能关闭,使用showmount-e或直接查看/etc/exports文件检查输出的文件系统是否必要,以及属性是否妥当(readonly等)。

chkconfig--listnfs显示NFS服务是否在系统启动时启动

/etc/init.d/nfsstart|stop启动|停止nfs服务

showmount-e显示本机输出的NFS文件系统

mount显示本机加载的文件系统(包括NFS文件系统)

3.4、SNMP的配置

如果系统不需要SNMP服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,需要在/etc/snmpd.conf中指定不同的communityname。

chkconfig--listsnmpd显示snmpd服务是否在系统启动时启动

chkconfigsnmpdoff将snmpd服务从启动目录中去掉

/etc/init.d/snmpdstart|stop启动|停止snmpd服务

3.5、Sendmail的配置

如果系统不需要Sendmail服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,将sendmail服务升级到最新,并在其配置文件/etc/sendmail.cf中指定不同banner(参见示例)。

chkconfig--listsendmail显示sendmail服务是否在系统启动时启动

chkconfigsendmailoff将sendmail服务从启动目录中去掉

/etc/init.d/sendmailstart|stop启动|停止sendmail服务

3.6、DNS(Bind)的配置

如果系统不需要DNS服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,将DNS服务升级到最新,并在其配置文件修改版本号(参见示例)。

chkconfig--listnamed显示named服务是否在系统启动时启动

chkconfignamedoff将named服务从启动目录中去掉

/etc/init.d/namedstart|stop启动|停止named服务

3.7、网络连接访问控制的设置

RedHat7.3以后版本中存在以下集中方式可以对网络连接设置访问控制:

1、使用iptable或ipchains进行网络访问控制;参见iptables和ipchains的manual。

2、使用xinetd本身的访问控制机制对xinetd启动的服务进行网络访问控制;xinetd可以在其配置文件中使用only_from和no_access指令限制可以访问该服务的主机,tcpd的配置文件是/etc/hosts.allow和/etc/hosts.deny;具体配置方法参见manual。

使用xinetd自带的访问控制机制控制对telnet服务的访问

#default:

on

#description:

Thetelnetserverservestelnetsessions;ituses\

#unencryptedusername/passwordpairsforauthentication.

servicetelnet

{

disable=no

flags=REUSE

socket_type=stream

wait=no

user=root

server=/usr/sbin/in.telnetd

log_on_failure+=USERID

#allowaccessfromhostfreebsdandnetwork

only_from=freebsd

#alsoallowaccessfromhost

only_from+=

#denyaccessfromhostfreebsdifuncommentthefollowingline

#no_access=freebsd

}

3、使用pam系统中的pam_access模块提供的访问控制机制;配置文件是/etc/security/access.conf,该文件中提供了该文件的语法。

使用pam_access进行网络访问控制

在pam文件中添加pam_access模块(以system-auth文件为例)

#%PAM-1.0

#Thisfileisauto-generated.

#Userchangeswillbedestroyedthenexttimeauthconfigisrun.

authrequired/lib/security/pam_env.so

authsufficient/lib/security/pam_unix.solikeauthnullok

authrequired/lib/security/pam_deny.so

accountrequired/lib/security/pam_access.so

accountrequired/lib/security/pam_unix.so

passwordrequired/lib/security/pam_cracklib.soretry=3type=difok=4mi

nlen=12dcredit=1ucredit=2lcredit=2ocredit=1

passwordsufficient/lib/security/pam_unix.sonullokuse_authtokmd5shado

w

passwordrequired/lib/security/pam_deny.so

sessionrequired/lib/security/pam_limits.so

sessionrequired/lib/security/pam_unix.so

4、信任主机的设置

参照3.2(/etc/inetd.conf中服务的启动情况)检查rlogin、rsh、rexec服务是否启动。

如果启动,查看配置文件/etc/hosts.equiv(全局配置文件)和~/.rhosts(单独用户的配置文件)文件,检查文件是否配置妥当。

建议关闭R系列服务(rlogin、rsh、rexec);如果不能关闭,则需要检查配置文件,确保没有失当的配置(不能存在”+”或”++”,如果存在,咨询系统管理员是为何这样配置)。

5、日志审核的设置

对ssh、su登录日志进行记录

编辑syslogd配置文件

#vi/etc/syslog.conf

加入以下信息,使和登陆验证有关的日志信息记录到secure文件中

#Theauthprivfilehasrestrictedaccess.

authpriv.*/var/log/secure

重新启动syslogd:

#/etc/rc.d/init.d/syslogrestart

6、物理安全加固

启动LILO时需要密码

第一步:

编辑lilo.conf文件(vi/etc/lilo.conf),加入或改变这三个参数(加#的部分):

boot=/dev/hda

prompt

timeout=00#把该行改为00,系统启动时将不再等待,而直接启动LINUX

message=/boot/message

linear

default=linux

restricted#加入该行

password=is-0ne#加入该行并设置自己的密码(明文)

image=/boot/vmlinuz-

label=linux

root=/dev/hda6

read-only

第二步:

因为“/etc/lilo.conf”文件中包含明文密码,所以要把它设置为root权限读取。

#chmod0600/etc/lilo.conf

第三步:

更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。

#/sbin/lilo-v

第四步:

使用“chattr”命令使“/etc/lilo.conf”文件不可改变。

#chattr+i/etc/lilo.conf

这样可以在一定程度上防止对“/etc/lilo.conf”任何改变(意外或其他原因)

最后将/etc/lilo.conf文件权限改为600

#chmod600/etc/lilo.conf

password用于系统启动时应当输入密码;

restricted用于命令行启动系统时(如:

进入单用户模式)需要输入密码。

7、系统内核参数的配置

RedHatLinux使用sysctl命令控制内核参数,并可以在/etc/sysctl.conf中设置启动的内核参数。

比较重要的网络安全参数有:

不接收源路由ip包

不发送重定向ip包

不接收重定向ip包

忽略icmp广播包

禁止ip转发

sysctl-a查看所有的内核参数

sysctl-w禁止ip转发

使用vi编辑/etc/sysctl.conf文件,添加网络安全参数

#Forbinaryvalues,0isdisabled,1isenabled.Seesysctl(8)for

#moredetails.

#ControlsIPpacketforwarding

=0

#Controlssourcerouteverification

=1

#ControlstheSystemRequestdebuggingfunctionalityofthekernel

kernel.sysrq=0

#ControlswhethercoredumpswillappendthePIDtothecorefilename.

#Usefulfordebuggingmulti-threadedapplications.

kernel.core_uses_pid=1

####Addthenetworkingsecurityparameters####

8、选装安全工具

工具名称

TCPWrapper

工具用途

该软件为大多数网络服务提供访问控制与日志记录的功能。

相关信息

/security/

工具名称

Tripwire

工具用途

该工具为关键文件创建检验值数据库,当这些关键文件发生变化时,给root以提示信息。

相关信息

.edu/pub/tools/unix/ids/tripwire/

工具名称

lsof

工具用途

该工具报告进程打开的文件、进程侦听的端口等信息。

相关信息

.edu/pub/tools/unix/sysutils/lsof/

工具名称

SSH

工具用途

该工具为主机间远程通讯提供加密通道。

用来代替rsh、rlogin、telnet等远程登录工具。

相关信息

此文档是由网络收集并进行重新排版整理.word可编辑版本!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2