「Linux系统安全加固手册」.doc_第1页
「Linux系统安全加固手册」.doc_第2页
「Linux系统安全加固手册」.doc_第3页
「Linux系统安全加固手册」.doc_第4页
「Linux系统安全加固手册」.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

仅供参考 1 密密 级 商业秘密级 商业秘密 LINUXLINUX 评估加固手册评估加固手册 安氏领信科技发展有限公司 二 二 二 二 年二月 仅供参考 2 目 录 1 系统补丁的安装 系统补丁的安装 3 2 帐户 口令策略的加固 帐户 口令策略的加固 3 2 1 删除或禁用系统无用的用户 3 2 2 口令策略的设置 4 2 3 系统是否允许ROOT远程登录 4 2 4 ROOT的环境变量设置 5 3 网络与服务加固 网络与服务加固 5 3 1 RC D中的服务的设置 5 3 2 ETC INETD CONF中服务的设置 6 3 3 NFS 的配置 8 3 4 SNMP 的配置 8 3 5 SENDMAIL的配置 9 3 6 DNS BIND 的配置 9 3 7 网络连接访问控制的设置 9 4 信任主机的设置 信任主机的设置 10 5 日志审核的设置 日志审核的设置 11 6 物理安全加固 物理安全加固 11 7 系统内核参数的配置 系统内核参数的配置 12 8 选装安全工具 选装安全工具 13 仅供参考 3 1 系统补丁的安装 系统补丁的安装 RedHat 使用 RPM 包实现系统安装的管理 系统没有单独补丁包 Patch 如 果出现新的漏洞 则发布一个新的 RPM 包 版本号 Version 不变 Release 做相应的调整 因此检查 RH Linux 的补丁安装情况只能列出所有安装的软件 和 RH 网站上发布的升级软件对照 检查其中的变化 通过访问官方站点下载最新系统补丁 RedHat 公司补丁地址如下 rpm qa 查看系统当前安装的 rpm 包 rpm ivh package1 安装 RPM 包 rpm Uvh package1 升级 RPM 包 rpm Fvh package1 升级 RPM 包 如果原先没有安装 则不安装 2 帐户 口令策略的加固 帐户 口令策略的加固 2 2 1 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 等 也可以通过 passwd groupdel 来锁定用户 删除组 passwd l user1 锁定 user1 用户 passwd u user1 解锁 user1 用户 groupdel lp 删除 lp 组 仅供参考 4 2 2 2 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 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 This file is auto generated User changes will be destroyed the next time authconfig is run auth required lib security pam env so auth sufficient lib security pam unix so likeauth nullok auth required lib security pam deny so account required lib security pam access so account required lib security pam unix so password required lib security pam cracklib so retry 3 type difok 4 minlen 12 dcredit 1 ucredit 2 lcredit 2 ocredit 1 password sufficient lib security pam unix so nullok use authtok md5 shado w password required lib security pam deny so 仅供参考 5 session required lib security pam limits so session required lib security pam unix so 2 2 3 3 系统是否允许 系统是否允许 rootroot 远程登录远程登录 RedHat 在文件 etc securetty 中定义 root 用户可以登录的端口 默认其中只包含 vc 1 11 和 tty1 11 即 root 用户只能从本地登录 2 2 4 4 rootroot 的环境变量设置的环境变量设置 系统的环境变量在下列文件中设置 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 3 1 1 rc drc d 中的服务的设置中的服务的设置 仅供参考 6 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 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 启动 samba 服务 snmpd 启动 snmp 服务 snmptrapd 启动 snmp trap 服务 nfs 启动 nfs 服务 3 3 2 2 etc inetd conf etc inetd conf 中服务的设置中服务的设置 由 INETD 启动的服务在文件 etc inetd conf 定义 建议关闭由 inetd 启动的所有服务 如果有管理上的需要 可以打开 telnetd ftpd rlogind rshd 等服务 可从 etc inetd conf 中删除的服务 在 etc inetd conf 中注释掉 shell kshell login klogin exec 仅供参考 7 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 仅供参考 8 kfcli xmquery RedHat Linux 7 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 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 log on success USERID log on failure USERID server usr sbin in rlogind 3 3 3 3 NFSNFS 的配置的配置 NFS 系统的组成情况 nfsd NFS 服务进程 运行在服务器端 处理客户的读写请求 mountd 加载文件系统服务进程 运行在服务器端 处理客户加载 nfs 文件 系统的请求 etc exports 定义服务器对外输出的 NFS 文件系统 etc fstab 定义客户端加载的 NFS 文件系统 如果系统不需要 NFS 服务 可以使用 chkconfig 关闭 NFS 服务 如果不能关闭 使用 showmount e 或直接查看 etc exports 文件检查输出的文件系统是否必要 仅供参考 9 以及属性是否妥当 readonly 等 chkconfig list nfs 显示 NFS 服务是否在系统启动时启动 etc init d nfs start stop 启动 停止 nfs 服务 showmount e 显示本机输出的 NFS 文件系统 mount 显示本机加载的文件系统 包括 NFS 文件系统 3 3 4 4 SNMPSNMP 的配置的配置 如果系统不需要 SNMP 服务 可以关闭该服务 使用 chkconfig 命令 如果不 能关闭 需要在 etc snmpd conf 中指定不同的 community name chkconfig list snmpd 显示 snmpd 服务是否在系统启动时启动 chkconfig snmpd off 将 snmpd 服务从启动目录中去掉 etc init d snmpd start stop 启动 停止 snmpd 服务 3 3 5 5 SendmailSendmail 的配置的配置 如果系统不需要 Sendmail 服务 可以关闭该服务 使用 chkconfig 命令 如果 不能关闭 将 sendmail 服务升级到最新 并在其配置文件 etc sendmail cf 中指 定不同 banner 参见示例 chkconfig list sendmail 显示 sendmail 服务是否在系统启动时启动 chkconfig sendmail off 将 sendmail 服务从启动目录中去掉 etc init d sendmail start stop 启动 停止 sendmail 服务 3 3 6 6 DNSDNS BindBind 的配置 的配置 如果系统不需要 DNS 服务 可以关闭该服务 使用 chkconfig 命令 如果不能 关闭 将 DNS 服务升级到最新 并在其配置文件修改版本号 参见示例 chkconfig list named 显示 named 服务是否在系统启动时启动 chkconfig named off 将 named 服务从启动目录中去掉 etc init d named start stop 启动 停止 named 服务 仅供参考 10 3 3 7 7 网络连接访问控制的设置 网络连接访问控制的设置 RedHat 7 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 The telnet server serves telnet sessions it uses unencrypted username password pairs for authentication service telnet disable 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 172 16 0 0 24 only from freebsd 172 16 0 0 24 also allow access from host 192 168 0 159 only from 192 168 0 159 deny access from host freebsd if uncomment the following line no access freebsd 3 使用 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 authconfig is run auth required lib security pam env so auth sufficient lib security pam unix so likeauth nullok auth required lib security pam deny so account required lib security pam access so account required lib security pam unix so password required lib security pam cracklib so retry 3 type difok 4 mi 仅供参考 11 nlen 12 dcredit 1 ucredit 2 lcredit 2 ocredit 1 password sufficient lib security pam unix so nullok use authtok md5 shado w password required lib security pam deny so session required lib security pam limits so session required 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 文件中 The authpriv file has restricted access authpriv var log secure 重新启动 syslogd etc rc d init d syslog restart 6 物理安全加固 物理安全加固 启动 LILO 时需要密码 仅供参考 12 第一步 编辑 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 2 4 18 label linux root dev hda6 read only 第二步 因为 etc lilo conf 文件中包含明文密码 所以要把它设置为 root 权限读取 chmod 0600 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 仅供参考 13 chmod 600 etc lilo conf password 用于系统启动时应当输入密码 restricted 用于命令行启动系统时 如 进入单用户模式 需要输入密码 7 系统内核参数的配置 系统内核参数的配置 RedHat Linux 使用 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 See

温馨提示

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

评论

0/150

提交评论