Linux系统安全加固手册_第1页
Linux系统安全加固手册_第2页
Linux系统安全加固手册_第3页
Linux系统安全加固手册_第4页
Linux系统安全加固手册_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 LINUX 评估加固手册 第 1 页 共 14 页密密 级:商业秘密级:商业秘密LINUXLINUX 评估加固手册评估加固手册安氏领信科技发展有限公司二二二二二二年三月 LINUX 评估加固手册 第 2 页 共 14 页目 录1、系统补丁的安装、系统补丁的安装.32、帐户、口令策略的加固、帐户、口令策略的加固.321、删除或禁用系统无用的用户.322、口令策略的设置.423、系统是否允许ROOT远程登录.424、ROOT的环境变量设置.53、网络与服务加固、网络与服务加固.531、RC?.D中的服务的设置.532、/ETC/INETD.CONF中服务的设置.633、NFS 的配置.834、S

2、NMP 的配置.835、SENDMAIL的配置.936、DNS(BIND)的配置.937、网络连接访问控制的设置.94、信任主机的设置、信任主机的设置.105、日志审核的设置、日志审核的设置.116、物理安全加固、物理安全加固.117、系统内核参数的配置、系统内核参数的配置.128、选装安全工具、选装安全工具.13 LINUX 评估加固手册 第 3 页 共 14 页1、系统补丁的安装、系统补丁的安装RedHat 使用 RPM 包实现系统安装的管理,系统没有单独补丁包(Patch) 。如果出现新的漏洞,则发布一个新的 RPM 包,版本号(Version)不变,Release做相应的调整。因此检查

3、 RH Linux 的补丁安装情况只能列出所有安装的软件,和 RH 网站上发布的升级软件对照,检查其中的变化。通过访问官方站点下载最新系统补丁,RedHat 公司补丁地址如下:http:/ -qa 查看系统当前安装的 rpm 包rpm -ivh package1 安装 RPM 包rpm -Uvh package1 升级 RPM 包rpm -Fvh package1 升级 RPM 包(如果原先没有安装,则不安装)2、帐户、口令策略的加固、帐户、口令策略的加固2 21 1、删除或禁用系统无用的用户、删除或禁用系统无用的用户询问系统管理员,确认其需要使用的帐户如果下面的用户及其所在的组经过确认不需要

4、,可以删除。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 等。也可以通过 passwd groupdel 来锁定用户、删除组。passwd -l user1 锁定 user1 用户passwd -u user1 解锁 use

5、r1 用户groupdel lp 删除 lp 组。 LINUX 评估加固手册 第 4 页 共 14 页2 22 2、口令策略的设置、口令策略的设置RedHat Linux 总体口令策略的设定分两处进行,第一部分是在/etc/login.defs 文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天)PASS_MIN_DAYS 密码最短时效(天)PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前 PASS_WARN_AGE 天警告用户编辑/etc/login.defs 文件,设定:PASS_MAX_DAYS=90PASS_MIN_DAYS=0PA

6、SS_MIN_LEN=8PASS_WARN_AGE=30另外可以在/etc/pam.d/system-auth 文件中的 cracklib 项中定义口令强度:difokminlendcreditucreditlcreditocredit使用 vi 编辑/etc/pam.d/system-auth 文件,设置 cracklib 的属性#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required /lib/security/p

7、am_env.soauth sufficient /lib/security/pam_unix.so likeauth nullokauth required /lib/security/pam_deny.soaccount required /lib/security/pam_access.soaccount required /lib/security/pam_unix.sopassword required /lib/security/pam_cracklib.so retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2

8、 ocredit=1password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadowpassword required /lib/security/pam_deny.so LINUX 评估加固手册 第 5 页 共 14 页session required /lib/security/pam_limits.sosession required /lib/security/pam_unix.so2 23 3、系统是否允许、系统是否允许 rootroot 远程登录远程登录RedHat 在文件/etc/securet

9、ty 中定义 root 用户可以登录的端口;默认其中只包含vc/1-11 和 tty1-11,即 root 用户只能从本地登录。2 24 4、rootroot 的环境变量设置的环境变量设置系统的环境变量在下列文件中设置:Bash:/etc/profile/.bash_profile/.bash_login/.profile/.bashrc/etc/bashrcTcsh/Csh:/etc/csh.cshrc/etc/csh.login/.tcshrc 或/.cshrc/.history/.login/.cshdirsprintenv 查看用户的环境变量检查环境变量 PATH,确保其中不包含本地目

10、录(.) 。3、网络与服务加固、网络与服务加固3 31 1、rc?.drc?.d 中的服务的设置中的服务的设置 LINUX 评估加固手册 第 6 页 共 14 页RedHat 的服务主要由/etc/inittab 和/etc/rc?.d/S*文件启动,事实上,/etc/inittab 的主要任务是为每一个 runlevel 指定启动文件,从而启动/etc/rc?.d/S*文件。例如,在默认的运行级别 3 中系统将运行/etc/rc3.d/目录中所有 S 打头的文件。runlevel 检查当前运行级别(第一项是 pre-runlevel,第二项是当前的 runlevel)chkconfig li

11、st 检查所有级别中启动的服务情况chkconfig list |grep 3:on 检查某一级别(例如级别 3)中启动的服务chkconfig sendmail off 将 sendmail 从启动目录中除去检查以下服务,如果不需要,关闭之在(/etc/inittab 中注释掉) ;否则,参照 3.3 3.4 3.5 3.6 进行配置:portmap(启动 rpcbind/portmap 服务)nfslock (启动 rpc.lockd 和 rpc.statd)httpd (启动 apache)named (启动 bind)sendmail (启动 sendmail)smb (启动 samb

12、a 服务)snmpd (启动 snmp 服务)snmptrapd (启动 snmp trap 服务)nfs (启动 nfs 服务)3 32 2、/etc/inetd.conf/etc/inetd.conf 中服务的设置中服务的设置由 INETD 启动的服务在文件/etc/inetd.conf 定义。建议关闭由 inetd 启动的所有服务;如果有管理上的需要,可以打开telnetd、ftpd、rlogind、rshd 等服务。可从/etc/inetd.conf 中删除的服务(在/etc/inetd.conf 中注释掉):shellkshellloginkloginexec LINUX 评估加固手

13、册 第 7 页 共 14 页comsatuucpbootpsfingersystatnetstattftptalkntalkrpc.rquotadrpc.rexdrpc.rusersdrpc.ttdbserverrpc.spraydrpc.cmsdrpc.rwalldrpc.pcnfsdrpc.rstatdrpc.ssalldechodiscardchargendaytimetimecomsatwebsminstsrvimap2pop3 LINUX 评估加固手册 第 8 页 共 14 页kfclixmqueryRedHat Linux 7.3 以后使用了新版本的 xinetd 取代了老版本的

14、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/xin

15、etd.d/rlogin 文件,控制 rlogin 服务的启动状态# default: on# description: rlogind is the server for the rlogin(1) program. The server # provides a remote login facility with authentication based on # privileged port numbers from trusted hosts.service login disable = yes socket_type = stream wait = no user = root

16、 log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rlogind3 33 3、NFSNFS 的配置的配置NFS 系统的组成情况:nfsd NFS 服务进程,运行在服务器端,处理客户的读写请求mountd 加载文件系统服务进程,运行在服务器端,处理客户加载 nfs 文件系统的请求/etc/exports 定义服务器对外输出的 NFS 文件系统/etc/fstab 定义客户端加载的 NFS 文件系统如果系统不需要 NFS 服务,可以使用 chkconfig 关闭 NFS 服务;如果不能关闭,使用 sho

17、wmount -e 或直接查看/etc/exports 文件检查输出的文件系统是否必要, LINUX 评估加固手册 第 9 页 共 14 页以及属性是否妥当(readonly 等) 。chkconfig -list nfs 显示 NFS 服务是否在系统启动时启动/etc/init.d/nfs start|stop 启动|停止 nfs 服务showmount -e 显示本机输出的 NFS 文件系统mount 显示本机加载的文件系统(包括 NFS 文件系统)3 34 4、SNMPSNMP 的配置的配置如果系统不需要 SNMP 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关闭,

18、需要在/etc/snmpd.conf 中指定不同的 community name。chkconfig -list snmpd 显示 snmpd 服务是否在系统启动时启动chkconfig snmpd off 将 snmpd 服务从启动目录中去掉/etc/init.d/snmpd start|stop 启动|停止 snmpd 服务3 35 5、SendmailSendmail 的配置的配置如果系统不需要 Sendmail 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关闭,将 sendmail 服务升级到最新,并在其配置文件/etc/sendmail.cf 中指定不同 ban

19、ner(参见示例) 。chkconfig -list sendmail 显示 sendmail 服务是否在系统启动时启动chkconfig sendmail off 将 sendmail 服务从启动目录中去掉/etc/init.d/sendmail start|stop 启动|停止 sendmail 服务3 36 6、DNSDNS(BindBind)的配置)的配置如果系统不需要 DNS 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关闭,将 DNS 服务升级到最新,并在其配置文件修改版本号(参见示例) 。chkconfig -list named 显示 named 服务是否

20、在系统启动时启动chkconfig named off 将 named 服务从启动目录中去掉/etc/init.d/named start|stop 启动|停止 named 服务 LINUX 评估加固手册 第 10 页 共 14 页3 37 7、网络连接访问控制的设置、网络连接访问控制的设置RedHat 7.3 以后版本中存在以下集中方式可以对网络连接设置访问控制:1、使用 iptable 或 ipchains 进行网络访问控制;参见 iptables 和 ipchains 的manual。2、使用 xinetd 本身的访问控制机制对 xinetd 启动的服务进行网络访问控制;xinetd 可

21、以在其配置文件中使用 only_from 和 no_access 指令限制可以访问该服务的主机,tcpd 的配置文件是/etc/hosts.allow 和/etc/hosts.deny;具体配置方法参见 manual。使用 xinetd 自带的访问控制机制控制对 telnet 服务的访问# default: on# description: The telnet server serves telnet sessions; it uses # unencrypted username/password pairs for authentication.service telnet disabl

22、e = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID# allow access from host freebsd and network /24 only_from = freebsd /24# also allow access from host 59 only_from += 59# deny access from h

23、ost freebsd if uncomment the following line# no_access = freebsd3、使用 pam 系统中的 pam_access 模块提供的访问控制机制;配置文件是/etc/security/access.conf,该文件中提供了该文件的语法。使用 pam_access 进行网络访问控制在 pam 文件中添加 pam_access 模块(以 system-auth 文件为例)#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time a

24、uthconfig is run.auth required /lib/security/pam_env.soauth sufficient /lib/security/pam_unix.so likeauth nullokauth required /lib/security/pam_deny.soaccount required /lib/security/pam_access.soaccount required /lib/security/pam_unix.sopassword required /lib/security/pam_cracklib.so retry=3 type= d

25、ifok=4 mi LINUX 评估加固手册 第 11 页 共 14 页nlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadowpassword required /lib/security/pam_deny.sosession required /lib/security/pam_limits.sosession required /lib/security/pam_unix.so4、信任主机的设置、信任主

26、机的设置参照 3.2(/etc/inetd.conf 中服务的启动情况)检查 rlogin、rsh、rexec 服务是否启动。如果启动,查看配置文件/etc/hosts.equiv(全局配置文件)和/.rhosts(单独用户的配置文件)文件,检查文件是否配置妥当。建议关闭 R 系列服务(rlogin、rsh、rexec) ;如果不能关闭,则需要检查配置文件,确保没有失当的配置(不能存在”+”或”+ +”,如果存在,咨询系统管理员是为何这样配置) 。5、日志审核的设置、日志审核的设置对 ssh、su 登录日志进行记录编辑 syslogd 配置文件# vi /etc/syslog.conf 加入以

27、下信息,使和登陆验证有关的日志信息记录到 secure 文件中# The authpriv file has restricted access.authpriv.* /var/log/secure重新启动 syslogd:# /etc/rc.d/init.d/syslog restart 6、物理安全加固、物理安全加固启动 LILO 时需要密码 LINUX 评估加固手册 第 12 页 共 14 页第一步:编辑 lilo.conf 文件(vi /etc/lilo.conf) ,加入或改变这三个参数(加#的部分): boot=/dev/hdaprompttimeout=00 # 把该行改为 00

28、,系统启动时将不再等待,而直接启动 LINUXmessage=/boot/messagelinear default=linux restricted # 加入该行 password= is-0ne # 加入该行并设置自己的密码(明文) image=/boot/vmlinuz-2.4.18 label=linux root=/dev/hda6 read-only 第二步:因为“/etc/lilo.conf”文件中包含明文密码,所以要把它设置为root 权限读取。 # chmod 0600 /etc/lilo.conf 第三步:更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。

29、 # /sbin/lilo -v 第四步:使用“chattr”命令使“/etc/lilo.conf”文件不可改变。 # chattr +i /etc/lilo.conf 这样可以在一定程度上防止对“/etc/lilo.conf”任何改变(意外或其他原因)最后将/etc/lilo.conf 文件权限改为 600 LINUX 评估加固手册 第 13 页 共 14 页# chmod 600 /etc/lilo.confpassword 用于系统启动时应当输入密码;restricted 用于命令行启动系统时(如:进入单用户模式)需要输入密码。7、系统内核参数的配置、系统内核参数的配置RedHat Li

30、nux 使用 sysctl 命令控制内核参数,并可以在/etc/sysctl.conf 中设置启动的内核参数。比较重要的网络安全参数有:net.ipv4.conf.default.accept_source_route=0 不接收源路由 ip 包net.ipv4.conf.default.send_redirects=0 不发送重定向 ip 包net.ipv4.conf.default.accept_redirects=0 不接收重定向 ip 包net.ipv4.icmp_echo_ignore_broadcasts=1 忽略 icmp 广播包net.ipv4.ip_forward=0 禁止 ip 转发sysctl -a 查看所有的内核参数sysctl -w net.ipv4.ip_forward=0 禁止 ip 转发使用 vi 编辑/etc/sysctl.conf 文件,添加网络安全参数# For binary values, 0 is disabled, 1 is enabled

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论