视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Linux加固方案
2025-09-29 02:54:18 责编:小OO
文档
Linux加固方案

1加固目标

1.用户账号

2.权限分配

3.系统配置

1.1用户账号加固

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

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

使用cat /etc/passwd  cat /etc/shadow查看

加固:

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

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

1.1.2设置口令策略

使用cat /etc/login.defs|grep PASS查看当前密码策略设置

口令应该具有一定复杂度,定期更换口令,输入错误一定数量后锁定

加固:

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

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

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

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

  PASS_MIN_LEN 9 #最小密码长度9

  #vi /etc/pam.d/system-auth修改配置文件

     auth required pam_env.so

    auth required pam_tally2.so deny=3 unlock_time=300

连续输入错误3次,账户锁定5分钟。

1.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:用户登录后的执行命令

加固:

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

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

1.1.4能够su为root的用户

  检查方法:

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

 加固:

  #vi /etc/pam.d/su

  在头部添加:

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

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

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

1.1.5检查shadow中空口令帐号

  检查方法:

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

  加固:

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

1.1.6服务账号创建

检查方法:

#cat /etc/passwd

加固:

                对应的服务应该创建对应的账户。

        #useradd 选项 用户名

    选项:

            -c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

1.2权限分配

总体思路就是权限最低原则。

1.web文件夹

    一般只给读rx的权限,不给w权限,只有特殊目录比如/upload、/data等才给予w的权限。如果某些目录要有w权限,但不必需要x权限,则要取消x权限。

  检查方法:

使用ls –l 目录名查看用户权限

 加固:

#chmod 755 目录名 设置权限为rx

#chmod +w 目录名 增加w的权限

#chmod –x 目录名    去除x权限

注意:

Web文件权限分配是针对的web服务器用户。

2.系统文件夹及文件

 加固:

系统一般的文件夹都只需要给rx权限,不需要给w权限,特殊文件夹除外。

1.3系统配置

1.3.1网络访问控制

1.使用SSH进行管理

  检查方法:

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

 加固:

  使用命令开启ssh服务

  #service sshd start

     开机启动ssh

  #vi /etc/rc.local 加入service sshd start

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

  检查方法:

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

 加固:

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

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

  保存后重启ssh服务

  #service sshd restart

3.禁止root用户远程登陆

  检查方法:

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

 加固:

  #vi /etc/ssh/sshd_config

  PermitRootLogin no

  保存后重启ssh服务

  service sshd restart

4.限定信任主机

  检查方法:

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

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

  加固方法:

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

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

5.屏蔽登录banner信息

  检查方法:

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

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

 加固:

  #vi /etc/ssh/sshd_config

  banner NONE

  #vi /etc/motd

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

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

  检查方法:

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

 加固:

  #vi /etc/inittab

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

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

7.减少来自网络自动化脚本攻击压力

 加固:

修改端口号,修改成5位数非常用的端口号数字

#vi /etc/ssh/sshd_config

Port 22 修改数字后保存退出

#service sshd restart 重启ssh服务

# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 刚才修改的端口号数字 -j ACCEPT   修改端口号后对应防火墙也要开放

#iptables –save

8.ftp登录

检查方法:

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

 加固:

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

1.3.2审计策略配置

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

  检查方法:

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

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

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

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

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

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

  检查方法:

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

  # rotate log files weekly

  weekly

  # keep 4 weeks worth of backlogs

  rotate 4 的配置

 加固:

  #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

  }

1.3.3其他

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

  检查方法:

  #cat /etc/profile|grep HISTSIZE=

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

 加固:

  #vi /etc/profile

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

2.定期更新系统,保持系统版本最新

 加固:

     #yum –y update

     #yum –u upgrade

    Redhat和Centos系列

     #apt-get update

     #apt-get upgrade

    Debian系列下载本文

显示全文
专题