linux系统加固

本文详细介绍了Linux系统的安全加固措施,包括账户管理、密码策略、服务配置、SSH安全以及文件系统权限设置。此外,还探讨了Webshell的注入方式及预防措施,强调了权限控制、漏洞扫描和Webshell检测工具的重要性。通过这些步骤,可以有效提高系统安全性,防止恶意入侵。
摘要由CSDN通过智能技术生成

cat /etc/shadow   查看有多少账户 

使用命令 userdel <用户名> 删除不必要的账号。

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

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

awk -F: '($2=="")' /etc/shadow 查看空口令账号

因为没有所以不显示。

awk -F: '($3==0)' /etc/passwd 查看有root权限的用户。

 passwd <用户名> 修改密码

 

  • 使用命令 vi /etc/login.defs 修改配置文件。
  • PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
  • PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
  • PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
  • 设置连续输错三次密码,账号锁定五分钟。使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300。

限制用户su

限制能su到root的用户。
操作步骤
使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test。

禁止root用户直接登录

限制root用户直接登录。

操作步骤

创建普通权限账号并配置密码,防止无法远程登录;

使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务。

关闭不必要的服务

关闭不必要的服务(如普通服务和xinetd服务),降低风险。

操作步骤:

  1. 使用命令systemctl disable <服务名>设置服务在开机时不自动启动。
  2. chkconfig --list   查看启动服务
  3. 说明: 对于部分老版本的Linux操作系统(如CentOS 6),可以使用命令chkconfig --level <init级别> <服务名> off设置服务在指定init级别下开机时不自动启动。

SSH服务安全

对SSH服务进行安全加固,防止暴力破解成功。

操作步骤

  1. 使用命令 vim /etc/ssh/sshd_config 编辑配置文件。
  2. 不允许root账号直接登录系统。
  3. 设置 PermitRootLogin 的值为 no。
  4. 修改SSH使用的协议版本。
  5. 设置 Protocol 的版本为 2。
  6. 修改允许密码错误次数(默认6次)。
  7. 设置 MaxAuthTries 的值为 3。
  8. 配置文件修改完成后,重启sshd服务生效。

文件系统

设置umask值

设置默认的umask值,增强安全性。

操作步骤

使用命令 vi /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。

设置登录超时

设置系统登录后,连接超时时间,增强安全性。

操作步骤

使用命令 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180,即超时时间为三分钟。

   更新系统内核和安装防病毒软件

使用命令uname -sr查看

Centos7/RHEL7  3.10.0-1062.1.2.el7

Cetnos6/RHEL6  2.6.32-754.23.1.el6

询问管理员是否有月度主机扫描报告

      定期对操作系统进行漏洞扫描并修补发现的漏洞,未更新系统内核至官方最新安全版。

    Linux系统安装杀毒软件clamav

在线演示:

https://www.cnblogs.com/hftian/p/11711701.html

Webshell 样例

Webshell如何被注入

常见的Webshell植入方式以下类型:

       利用站点上传漏洞,上传Webshell。

        系统前台的上传业务可被利用来上传Webshell脚本,而被上传的目录往往对用户开放可执行权限。在Web中有上传图像、资料文件的地方,上传完后通常会向客户端返回上传文件的完整URL信息;该URL一般是常见的image、upload等目录。

       如果Web服务器对网站存取权限或者文件夹目录权限控制不严,就可能被利用来实现Webshell攻击。攻击者可以利用上传功能上传一个脚本文件,然后通过URL访问并执行这个脚本;然后攻击者就可以上传Webshell到网站的任意目录中,从而拿到网站的管理员控制权限。

       黑客获取管理员的后台密码,登录到后台系统,利用后台的管理工具向配置文件写入Webshell木马;或者私自添加上传类型,允许上传类似ASP、PHP格式的脚本程序文件。

       利用数据库备份与恢复功能获取Webshell。例如,备份时把备份文件的后缀改成 .asp;如果后台有MySQL数据查询功能,黑客可以执行select..in To outfile查询输出PHP文件,并把代码插入到MySQL,从而生成Webshell的木马。

       系统中其他站点被攻击,或者服务器上还搭载了FTP服务器。FTP服务器被攻击时被注入了Webshell的木马,导致网站系统被感染。

       黑客直接攻击Web服务器系统漏洞,实现入侵。Web服务器在系统层面也可能存在漏洞,如果黑客利用其漏洞攻击服务器系统;在获取其权限后,黑客就可以在Web服务器目录里上传Webshell文件。

综上,Webshell能够入侵到系统,一般是由于以下原因:

       通过Web站点漏洞上传Webshell。

       Webshell能够被注入,在很大程度是由于服务器或中间件的安全漏洞。例如,以下常见漏洞都可能被利用来注入Webshell:旧版本的IIS目录解析漏洞、文件名解析漏洞、应用后台暴露和弱口令、Fast-CGI解析漏洞、Apache文件解析漏洞、截断上传、后台数据库备份功能上传、数据库语句上传漏洞等。

       站点部署时混入了Webshell文件。

       大量的用户在使用从网上下载的第三方开源代码时,其代码本身已经混入了Webshell的恶意脚本,造成二次入侵或多次入侵。所以在部署前期,如果不是新开发的代码,都需要对代码进行恶意文件扫描查杀,防止上线后被入侵。

如何防止系统被植入Webshell

  • 配置必要的防火墙并开启防火墙策略;防止暴露不必要的服务,为黑客提供利用条件。
  • 对服务器进行 安全加固。例如,关闭远程桌面功能、定期更换密码、禁止使用最高权限用户运行程序、使用HTTPS加密协议。
  • 加强权限管理,对敏感目录进行权限设置,限制上传目录的脚本执行权限,不允许配置执行权限等。
  • 安装Webshell检测工具,发现检测结果后,立即隔离查杀,并排查漏洞。
  • 排查程序存在的漏洞,并及时修补漏洞。您可以通过应急响应服务人工界入,协助排查漏洞及入侵原因,同时可以选用商业Web应用防火墙进行防御,降低被入侵机率。

网站被植入Webshell的解决方案

Webshell

        从字面上理解,”Web”指需要服务器开放Web服务,”shell”指取得对服务器的某种程度的操作权限。Webshell指匿名用户(入侵者)通过网站端口,获取网站服务器的一定操作权限。Webshell通常是以ASP、PHP、JSP、ASA或者CGI等网页文件形式存在的一种命令执行环境,也称为网页后门。黑客在入侵网站后,通常会将Webshell后门文件与网站服务器Web目录下正常的网页文件混在一起;然后使用浏览器来访问这些后门,得到命令执行环境,以达到控制网站或者Web系统服务器的目的。

        黑客如果想使用Webshell完成一些特殊的功能,就不可避免地用到一些特殊函数。通过对这些函数进行对照特征值检查,就能够定位Webshell,但是Webshell本身也会进行加密躲避这种检测。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值