当前位置:   article > 正文

Linux系统安全基础浅识

Linux系统安全基础浅识

Linux系统安全

   Linux作为一个多用户的操作系统,并且多用于服务器等对安全性要求较高的网络环境内,其安全性那必然也是杠杠的,得益于Linux有多种的安全机制,下面就根据我所学,为大家简单的解释一下各种安全机制工作及适用场景。——以下所有机制介绍均建立在redhat(红帽)下CentOS7之上。

1,账号安全:

  Linux作为一个支持多用户的系统,其对针对用户的安全机制也是相当完善的。用户凭借账号才能登入系统来对资源进行调配。Linux系统用户账号按系统安全的角度来讲,不严谨的可以划分为三类:超级用户(root),普通用户(user),进程用户(非登录用户),对这些用户账号的管理便是管理员的职责之一。

  • 超级用户:因为root的权限过于强大,甚至可以自缢,删根跑路,因此在日常维护过程中应减少使用root,用提权的方法来避免因为误操作而造成的不可逆转的损失。----提权会在接下来的过程中提及。
  • 普通用户:因为权限是针对用户的,因此什么样的用户拥有什么样的权限,就显得至关重要了,过宽松,过严谨的权限都会影响系统正常运行以及用户的正常工作。所以要根据实际合理划分。针对普通用户管理员还可以根据实际情况,将长期不用的账户锁定起来以达到安全要求,锁定账户的命令:usermod -L (锁定账号)usermod -U解锁账号 passwd -S查看账号状态。

  • 进程用户:由于程序运行时有时候需要访问权限才能正常运行,而权限只针对用户程序是没有权限的,因此在程序运行时便会通过账号来获取相应权限以达到正常运行的目的,因此为了确保安全,这些账号通常设定为不能登录系统,可以用命令:useradd -M 用户名 -s /sbin/nologin来创建出一个不能登录的用户来供程序使用。 
  • 在某些情况下当管理员确定没有创建用户的需求时便可以通过锁定文件的方式来进一步增强安全性,管理用户最重要的两个文件便是/etc/passwd,/etc/shadow这两个文件,锁定文件的命令时chattr,查看文件状态lsattr。
2,密码安全:

   密码的安全对于系统安全也是至关重要的,密码的安全可以从密码更换频率,密码强度两方面来管理。

  针对密码更换频率,管理员可以通过修改密码配置文件来强制让用户定时更换密码,密码策略管理文件有:/etc/login.defs,对于红帽的系统来说还有pam认证不过这个模块很繁杂,暂不讨论。

通过修改密码最长有效期限可以限定用户必须在指定时间内更换密码,否则账户将无法使用。

需要注意的是该项修改只针对后续用户,现有用户并不影响。

密码强度可以通过john软件检测出弱密码,以此来让该用户修改密码,通过chage -d 0 用户来让用户下次登录必须改密码。

3,命令历史安全:

  centos7默认的历史命令记录是1000条,这记录不知道敲多少天才能达到,如果有人拷贝了你的命令历史文件,那么你的所作所为将一览无余,尤其设置了明文密码之后,那后果更不堪设想,因此要合理修改历史命令的储存上限,以及设置退出自动清理历史命令的脚本就显得尤为重要了。在cetos7中历史命令记录存储上限由/etc/profile中的HISTSIZE来控制修改此项即可。

退出自动清理历史记录则可在/~/.bash_logout中添加两条命令即可(~为家目录)

为了防止管理员临时有事闲置终端而被恶意使用操作,可设置超时断连增加安全性,同样在/etc/profile末尾添加export TMOUT=6000 单位为s即可。

4,用户切换与提权

  因为root的权限过于强大,因此不建议直接使用,一来降低了特权密码暴露的风险,二来降低了因为误操作而造成的不可逆的损害。

  有两个命令可以供我们使用:

  • su:一般用来切换用户,除root外其他用户切换都需要密码才能进入到另一个账户,su直接用则是不完全切换,家目录不改变,用户环境不改变,“su - 用户”则是完全切换,用户环境完全改变。这种方式虽然带来了便利但也有一定的安全隐患,比如普通用户可以用切换用户的方式不断尝试root用户的密码,理论上存在暴力破解的可能,因此要通过手段加以控制。系统默认wheel组的用户可以使用su命令,因此将需要修改文件/etc/pam.d/su :将开头#去掉即可
  • sudo:直接切换用户还是无法避免个人隐私泄露的风险,因此更实用的sudo命令可以在不切换用户的情况下使用不属于自己权限的指令,策略管理文件可以用visudo直接编辑不过需谨慎。
5, 系统引导与登录控制

    现在许多服务器都是通过远程连接的方式登录,而本地引导与终端管理如果不严格的话也会存在严重的安全风险,因此这方面的安全管理除了在硬件层面的管理外,软件层面的管理也是相当重要的。

  1. 开关机控制方面:调整bios设置(1)将第一优先级设备设为系统所在盘(2)进制其他设备引导系统(3)调整安全级别为“setup”设置好管理密码,防止未授权的修改。
  2. GRUB引导设置密码,通过“grub2-mkpasswd-pbkdf2”生成密码密文,                               将密文添加到/etc/grub.d/01_user来实现。方法不唯一在grub.d中任何一文件中修改都可。最后需要重载grub配置文件,通过grub2-mkconfig命令来实现。​​​​​​​
  3. 在/etc/securetty文件中设置了终端管理,通过该文件可以控制终端的开启,如果在维护系统过程中不希望用户登录可以创建空文件touch /etc/nologin 来实现,对root无效。
6, 弱口令检测,端口扫描

   简单的密码,开启了端口却不知道,都容易遭受到恶意攻击因此针对这两方面的检测是相当重要的。

  1. 弱口令检测:针对弱口令检测其思路是通过密码破解工具,结合弱口令字典,来检测出密码强度偏低的,工具很多,本节简单介绍一款开源的密码测试工具,john the ripper。
    官方网站是 http://www.openwall.com/john/。下载源码包安装完成后结合Linux中密码管理文件/etc/shadow与相应的弱密码字典,便可检测。
  2. 端口扫描:NMAP一款强大的扫描类安全评测工具,官方站点是 http://nmap.org/支持多种方式的扫描,扫描选项多而强大,本节只列举几种常见的扫描选项:

        nmap -sU 127.0.0.1 扫描udp端口

        nmap -sT 127.0.0.1 扫描tcp端口

        nmap -sF 127.0.0.1 半开扫描

        nmap -sS 127.0.0.1 半开连接

总结:关于Linux系统安全管理的方面还有很多,Linux支持多而强大的系统安全策略管理,对于系统安全来说综合利用,合理安排,才是正确的选择。就如同世界上没有不漏风的墙,系统安全也是这样,唯有不断地更新升级,查漏补漏,系统才会更加的安全,对网络安全的普及教育也是相当重要且必要的一环。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/751692
推荐阅读
相关标签
  

闽ICP备14008679号