如何加固Linux系统

来源:互联网 发布:东莞网站关键字优化 编辑:程序博客网 时间:2024/05/23 00:51

如何加固Linux系统

一. 账户安全

  1.1 锁定系统中多余的自建帐号

  检查方法:

  执行命令

  #cat /etc/passwd

  #cat /etc/shadow

  查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪帐户如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根据需要锁定登陆。

  备份方法:

  #cp -p /etc/passwd /etc/passwd_bak

  #cp -p /etc/shadow /etc/shadow_bak

  加固方法:

  使用命令passwd -l <用户名>锁定不必要的账号。

  使用命令passwd -u <用户名>解锁需要恢复的账号。

  1.2设置系统口令策略

  检查方法:

  使用命令

  #cat /etc/login.defs|grep PASS查看密码策略设置

  备份方法:

  cp -p /etc/login.defs /etc/login.defs_bak

  加固方法:

  #vi /etc/login.defs修改配置文件

  PASS_MAX_DAYS 90 #新建用户的密码最长使用天数

  PASS_MIN_DAYS 0 #新建用户的密码最短使用天数

  PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

  PASS_MIN_LEN 9 #最小密码长度9

  1.3禁用root之外的超级用户

  检查方法:

  #cat /etc/passwd 查看口令文件,口令文件格式如下:

  login_name:password:user_ID:group_ID:comment:home_dir:command

  login_name:用户名

  password:加密后的用户密码

  user_ID:用户ID,(1 ~6000) 若用户ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0。

  group_ID:用户组ID

  comment:用户全名或其它注释信息

  home_dir:用户根目录

  command:用户登录后的执行命令

  备份方法:

  #cp -p /etc/passwd /etc/passwd_bak

  加固方法:

  使用命令passwd -l <用户名>锁定不必要的超级账户。

  使用命令passwd -u <用户名>解锁需要恢复的超级账户。

  风险:需要与管理员确认此超级用户的用途。

  1.4 限制能够su为root的用户

  检查方法:

  #cat /etc/pam.d/su,查看是否有auth required/lib/security/pam_wheel.so这样的配置条目

  备份方法:#cp -p /etc/pam.d /etc/pam.d_bak

  加固方法:

  #vi /etc/pam.d/su

  在头部添加:

  auth required /lib/security/pam_wheel.so group=wheel

  这样,只有wheel组的用户可以su到root

  #usermod -G10 test 将test用户加入到wheel组

  当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效

  性。如果是因为PAM验证故障,而引起root也无法登录,只能使用single user或者rescue模式进行排错。

  1.5 检查shadow中空口令帐号

  检查方法:

  #awk -F: '( == "") { print }' /etc/shadow

  备份方法:cp -p /etc/shadow /etc/shadow_bak

  加固方法:对空口令账号进行锁定,或要求增加密码

  二、最小化服务

  2.1 停止或禁用与承载业务无关的服务

  检查方法:

  #who –r或runlevel 查看当前init级别

  #chkconfig --list 查看所有服务的状态

  备份方法:记录需要关闭服务的名称

  加固方法:

  #chkconfig --level <服务名> on|off|reset 设置服务在个init级别下开机是否启动

  三、数据访问控制

  3.1 设置合理的初始文件权限

  检查方法:

  #cat /etc/profile 查看umask的值

  备份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  umask=027

  风险:会修改新建文件的默认权限,如果该服务器是WEB应用,则此项谨慎修改。

  四、网络访问控制

  4.1 使用SSH进行管理

  检查方法:

  #ps –aef | grep sshd 查看有无此服务

  备份方法:

  加固方法:

  使用命令开启ssh服务

  #service sshd start

  风险:改变管理员的使用习惯

  4.2 设置访问控制策略限制能够管理本机的IP地址

  检查方法:

  #cat /etc/ssh/sshd_config 查看有无AllowUsers的语句

  备份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  加固方法:

  #vi /etc/ssh/sshd_config,添加以下语句

  AllowUsers *@10.138.*.* 此句意为:仅允许10.138.0.0/16网段所有用户通过ssh访问

  保存后重启ssh服务

  #service sshd restart

  风险:需要和管理员确认能够管理的IP段

  4.3 禁止root用户远程登陆

  检查方法:

  #cat /etc/ssh/sshd_config 查看PermitRootLogin是否为no

  备份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  加固方法:

  #vi /etc/ssh/sshd_config

  PermitRootLogin no

  保存后重启ssh服务

  service sshd restart

  4.4 限定信任主机

  检查方法:

  #cat /etc/hosts.equiv 查看其中的主机

  #cat /$HOME/.rhosts 查看其中的主机

  备份方法:

  #cp -p /etc/hosts.equiv /etc/hosts.equiv_bak

  #cp -p /$HOME/.rhosts /$HOME/.rhosts_bak

  加固方法:

  #vi /etc/hosts.equiv 删除其中不必要的主机

  #vi /$HOME/.rhosts 删除其中不必要的主机

  风险:在多机互备的环境中,需要保留其他主机的IP可信任。

  4.5 屏蔽登录banner信息

  检查方法:

  #cat /etc/ssh/sshd_config 查看文件中是否存在Banner字段,或banner字段为NONE

  #cat /etc/motd 查看文件内容,该处内容将作为banner信息显示给登录用户。

  备份方法:

  #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

  #cp -p /etc/motd /etc/motd_bak

  加固方法:

  #vi /etc/ssh/sshd_config

  banner NONE

  #vi /etc/motd

  删除全部内容或更新成自己想要添加的内容

  风险:无可见风险

  4.6 防止误使用Ctrl+Alt+Del重启系统

  检查方法:

  #cat /etc/inittab|grep ctrlaltdel 查看输入行是否被注释

  备份方法:

  #cp -p /etc/inittab /etc/inittab_bak

  加固方法:

  #vi /etc/inittab

  在行开头添加注释符号“#”

  #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  五、用户鉴别

  5.1 设置帐户锁定登录失败锁定次数、锁定时间

  检查方法:

  #cat /etc/pam.d/system-auth 查看有无authrequired pam_tally.so条目的设置

  备份方法:

  #cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak

  加固方法:

  #vi /etc/pam.d/system-auth

  auth required pam_tally.so onerr=fail deny=6 unlock_time=300 设置为密码连续错误6次锁定,锁定时间300秒

  解锁用户 faillog -u <用户名> -r

  风险:需要PAM包的支持;对pam文件的修改应仔细检查,一旦出现错误会导致无法登陆;

  当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性。

  5.2 修改帐户TMOUT值,设置自动注销时间

  检查方法:

  #cat /etc/profile 查看有无TMOUT的设置

  备份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  增加

  TMOUT=600 无操作600秒后自动退出

  风险:无可见风险

  5.3 Grub/Lilo密码

  检查方法:

  #cat /etc/grub.conf|grep password 查看grub是否设置密码

  #cat /etc/lilo.conf|grep password 查看lilo是否设置密码

  备份方法:

  #cp -p /etc/grub.conf /etc/grub.conf_bak

  #cp -p /etc/lilo.conf /etc/lilo.conf_bak

  加固方法:为grub或lilo设置密码

  风险:etc/grub.conf通常会链接到/boot/grub/grub.conf

  5.4 限制FTP登录

  检查方法:

  #cat /etc/ftpusers 确认是否包含用户名,这些用户名不允许登录FTP服务

  备份方法:

  #cp -p /etc/ftpusers /etc/ftpusers_bak

  加固方法:

  #vi /etc/ftpusers 添加行,每行包含一个用户名,添加的用户将被禁止登录FTP服务

  风险:无可见风险

  5.5 设置Bash保留历史命令的条数

  检查方法:

  #cat /etc/profile|grep HISTSIZE=

  #cat /etc/profile|grep HISTFILESIZE= 查看保留历史命令的条数

  备份方法:

  #cp -p /etc/profile /etc/profile_bak

  加固方法:

  #vi /etc/profile

  修改HISTSIZE=5和HISTFILESIZE=5即保留最新执行的5条命令

  六、审计策略

  6.1 配置系统日志策略配置文件

  检查方法:

  #ps –aef | grep syslog 确认syslog是否启用

  #cat /etc/syslog.conf 查看syslogd的配置,并确认日志文件是否存在

  系统日志(默认)/var/log/messages

  cron日志(默认)/var/log/cron

  安全日志(默认)/var/log/secure

  备份方法:

  #cp -p /etc/syslog.conf

  6.2 为审计产生的数据分配合理的存储空间和存储时间

  检查方法:

  #cat /etc/logrotate.conf 查看系统轮询配置,有无

  # rotate log files weekly

  weekly

  # keep 4 weeks worth of backlogs

  rotate 4 的配置

  备份方法:

  #cp -p /etc/logrotate.conf /etc/logrotate.conf_bak

  加固方法:

  #vi /etc/logrotate.d/syslog

  增加

  rotate 4 日志文件保存个数为4,当第5个产生后,删除最早的日志

  size 100k 每个日志的大小

  加固后应类似如下内容:

  /var/log/syslog/*_log {

  missingok

  notifempty

  size 100k # log files will be rotated when they grow bigger that100k.

  rotate 5 # will keep the logs for 5 weeks.

  compress # log files will be compressed.

  sharedscripts

  postrotate

  /etc/init.d/syslog condrestart >/dev/null 2>1 || true

  endscript

  }

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 wps转pdf就乱了怎么办 被有用分期骗了怎么办 找不到以前有用分期的账号怎么办 打工去韩国不懂韩语怎么办? 想去韩国整容没钱怎么办 专接本没接上怎么办 抄写经文写错了怎么办 在外地修车被宰怎么办 国外汇款公司名称写错了怎么办 增值税专票没有机器编码怎么办 发票右上角的编码打不全怎么办 税票名称开错了怎么办 开票名称开错了怎么办 退休党员不交党费怎么办 cad打不出来字怎么办 用cad打不出来字怎么办 打字总打错字母怎么办 mac做ppt卡住了怎么办 mac的ppt卡住了怎么办 淘宝店铺被屏蔽了怎么办 淘宝申请售后卖家拒绝怎么办 淘宝投诉卖家入口关闭怎么办 遇见最喜欢孩子的父母怎么办 房屋备案表丢了怎么办 淘宝发布商品没有品牌怎么办 电子发票名称写错了怎么办 合同写错了划掉怎么办 进京证日期错了怎么办 买车时谈的协议与合同不一致怎么办 新车上牌找不到流水号怎么办 开票数量比入库数量少怎么办 我贷款的app忘了怎么办 网贷名字忘了怎么办 附件太大邮件发不出去怎么办 孩子出生足印单子丢了怎么办 保险名字写错了怎么办 行驶证和身份证名字不一样怎么办 上户后发现合格证和车不一样怎么办 新车上户重量不一样怎么办 医保卡和身份证名字不一样怎么办 保险标志保险卡都没给怎么办