Linux系统安全及应用(su、sudo、弱口令检测、nmap)

账号基本安全措施

用户账号,是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借其用户账号才能进入计算机,在Linux系统中,提供了多种机制来确保用户账号的正当、安全使用。

系统账号清理

在Linux系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号,除了超级用户root之外,其他大量账号只是用来维护系统运作、启动或保持服务进程,一般是不允许登录的,因此也称为非登录用户。
常见的非登录用户包括bin、daemon、adm、lpd、mail等,为了确保系统安全,这些用户的登录shell通常是/sbin/nologin,表示禁止终端登录,确保不被人为改动。
在这里插入图片描述
各种非登录用户中,有相当一部分很少用到的,这些用户可以视为冗余账号,直接删除即可,除此之外,还有一些随应用程序安装的账号,若程序卸载以后未能自动删除,则需要管理员手动进行清理。
对于Linux服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁定,例如,锁定、解锁名为tom的用户账号
在这里插入图片描述
如果服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方法,使用chattr命令,分别结合“+i”、“-i”,选项来锁定、解锁文件,使用lsattr命令可以查看文件锁定情况
在这里插入图片描述
在账号文件被锁定的情况下,其内容将不允许变更,因此无法添加、删除账号,也不能更改用户密码、登录shell、宿主目录等属性信息。
在这里插入图片描述

密码安全控制

在不安全的网络环境中,为了降低密码被猜出或被破解的风险,用户应养成定期更改密码的习惯,避免长期使用同一个密码,管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。
更改配置文件/etc/login.defs,将密码的有效天数改为30天
在这里插入图片描述
在这里插入图片描述
也可以使用chage -M命令,更改现有用户的密码有效天数
在这里插入图片描述

用户切换与提权

大多数Linux服务器并不建议用户直接以root用户进行登录,一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险,鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以便在必要的时候执行管理任务。
Linux系统为我们提供了su、sudo两种命令,其中su命令主要用来切换用户,而sudo命令用来提升执行权限。

su命令–切换用户

使用su命令,可以切换为指定的一个用户,从而具有该用户的所有权限。
su命令和su -命令区别:

su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。

su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。
在这里插入图片描述
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险,为了加强su命令的使用控制,可以借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户(tom)添加到wheel组,修改/etc/pam.d/su认证配置以启用pam_wheel认证。

[root@localhost ~]# gpasswd -a tom wheel
正在将用户“tom”加入到“wheel”组中

在这里插入图片描述
在这里插入图片描述
使用su命令切换用户的操作将会记录到安全日志/var/log/secure文件中,可以根据需要进行查看。

sudo命令–提升执行权限

(1)在配置文件/etc/sudoers中添加授权
配置文件中,授权记录的基本配置格式如下:
user MACHINE=COMMANDS
授权配置主要包括用户、主机、命令三个部分,即授权哪些人在哪些主机上执行哪些命令。各部分的具体含义如下

  • 用户(user):授权的用户名,或采用“%组名”的形式(授权一个组的所有用户)。
  • 主机(MACHINE):使用此配置文件的主机名称。
  • 命令(COMMANDS):允许授权的用户通过sudo方式进行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号“,”进行分割。

vim /etc/sudoers
在这里插入图片描述
当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名。用户、主机、命令部分都可以定义为别名(必须为大写),分别通过关键字User_Alias、Host_Alias、Cmnd_Alias来进行设置。

(2)通过sudo执行特权命令
在这里插入图片描述

弱口令检测

John the Ripper 是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码字串,支持DES、MD5等多种加密算法,而且允许使用密码字典(包含各种密码组合的列表文件)来进行暴力破解。通过使用John the Ripper ,可以检测Linux/UNIX系统用户的密码强度。
在这里插入图片描述
在这里插入图片描述

nmap–端口扫描

nmap是一个强大的端口扫描类安全评测工具,官方站点是http://nmap.org/。nmap被设计为检测主机数量众多的巨大网络,支持ping扫描、多端口检测、OS识别等多种技术。使用nmap定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险。
nmap使用时基本命令格式如下:
nmap 【扫描类型】【选项】《扫描目标…》
其中扫描目标可以是主机名、IP地址或网络地址等,多个目标以空格分隔,常用的选项有“-p” “-n”,分别用来指定端口的扫描、禁用反向DNS解析(以加快扫描速度),扫描类型决定着检测的方式,也直接影响扫描的结果。
比较常用的几种扫描类型如下。

  • -sS,TCP SYN扫描(半开扫描):只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接,否则认为目标端口并未开放。
  • -sT,TCP连接扫描:这是完整的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
  • -sF,TCP FIN扫描:开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。
  • -sU,UDP扫描:探测目标主机提供哪些UDP服务。
  • -SP,ICMP扫描:类似于ping检测,快速判断目标主机是否存活,不做其他扫描。

在这里插入图片描述
在扫描结果中,STATE列若为open则表示端口为开放状态,为filted表示可能被防火墙过滤,为closed表示端口为关闭状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值