系统安全及应用(其实并不是所有人都有那么好的脾气,如果你恰巧碰到了那个愿意迁就你的人,记得别磨光了他的感情)

本文详细介绍了Linux系统中的安全措施,包括账号清理、密码策略、历史命令限制、终端自动注销,以及使用su命令切换用户和PAM安全认证机制。此外,还讨论了如何通过sudo命令授权和GRUB菜单设置增强系统安全性,并提到了端口扫描工具Nmap的应用。
摘要由CSDN通过智能技术生成

大纲

在这里插入图片描述

一、账号的基本安全措施

1.系统账号清理

  • 将非登录的用户的shell设为/sbin/nologin

usermod -s /sbin/nologin 用户名

  • 锁定长期不使用的账号

user -L 用户名
passwd -I 用户名
passwd -S 用户名

  • 删除无用账号

userdel [-r] 用户名

  • 锁定账户文件passwd、shadow

chattr +i/etc/passwd/etc/shadow
lsattr /etc/passwd/etc/shadow
chattr -i/etc/passwd/etc/shadow

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.查看文件是否被修改

  • 使用md5sum(校验和)
    当两次校验和不一样表示在此期间文件被修改过
    在这里插入图片描述

3.密码安全措施

  • 设置密码有效期
  • 要求用户下一次登录时修改密码

3.1针对创建新的用户

[root@localhost ~]# vim /etc/login.defs
针对的是在设置此命令之后新建的用户才会被限制密码有效至期

在这里插入图片描述

3.2针对已创建的存在的用户

[root@localhost ~]# chage -M 30 youzi001 (设置有效期为30天)
[root@localhost ~]# cat /etc/shadow | grep youzi001(查看这个用户的有效期)

在这里插入图片描述

4.历史命令限制

  • 减少记录命令的条数
  • 登录时自动清空命令历史

[root@localhost ~]# vim /etc/profile
[root@localhost ~]#source /etc/profile 当前环境下运行
[root@localhost ~]#history -c (临时清空历史记录,重启之后历史记录仍然存在)
[root@localhost ~]#vi ~/.bash_history
echo"">/.bash_history (用空白字符覆盖历史记录)

在这里插入图片描述
在这里插入图片描述

5.终端自动注销

  • 闲置600秒后自动注销

[root@localhost ~]# vim /etc/profile

在这里插入图片描述

二、使用su命令切换用户

1.用途以及用法

  • 用途:su 用户名 (切换用户)
  • 格式:su -目标用户

2.密码验证

  • root 任意用户 (不需要验证密码)
  • 普通用户 到 任意用户(验证目标用户密码)
    在这里插入图片描述

3.限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块

[root@localhost ~]# vim /etc/pam.d/su
Gpasswd -a lisi whell 将用户加入wheel组中(可以使用su命令)
Gpasswd -d lisi whell 将用户剔除wheel组中(不可以使用su命令)
只有加入wheel组中才可以使用su命令

在这里插入图片描述
强制用户下一次登录修改密码

[root@localhost ~]# chage -d 0 用户名

三、Linux中的PAM安全认证

  • 是一种高效且灵活便利的用户级别的认证方式,也是当前Linux服务器普遍使用的认证方式。

认证原理

  • 一般遵循的顺序 .Service(服务)→PAM(配置文件)→pam_*.so
  • 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于letc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证
  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
    不同的应用程序所对应的PAM模块是不同的
//修改su的PAM配置文件
[root@localhost ~]#vim /etc/pam.d/su
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid    
 
--取消上面这行注释的配置,使wheel组以外的用户不能使用su命令
 
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so
 
//将允许使用的用户加入到wheel组当中
[root@localhost ~]#usermod -G wheel zhangsan
[root@localhost ~]#id zhangsan
uid=1002(zhangsan) gid=1002(zhangsan) 组=1002(zhangsan),10(wheel)

1.使用sudo机制提升权限

sudo命令,默认使用户以root身份执行被授权的命令。

更改sudo配置文件visudo或vim /etc/sudoers(此文件的默认权限为440,保存退出时必须执行":wq!"命令来强制操作)

语法格式
用户 主机名=命令程序列表
用户 主机名=(用户) 命令程序列表

设置别名
使用关键字 User_Alias 、Host_Alias、Cmnd_Alias 来设置别名(别名必须为大写)
User_Alias 别名 = User1,User2 …
Host_Alias 别名 = Host1,Host2 …
Cmnd_Alias 别名 = Cmnd1(绝对路径),Cmnd2 …
“,”用于分割,可以使用通配符“ * ”代表任意值和“ !”号进行取反操作。

启用sudo操作日志
visudo 或 vim /etc/sudoers
添加字段:Defaults logfile = “/var/log/sudo”

sudo -l //普通用户可以查看自己可以用sudo执行那些命令

//修改sudo配置文件里
[root@localhost ~]# vim /etc/sudoers
ZHANGSAN ALL=/bin/*,!/bin/rm,!/sbin/reboot --为zhangsan用户设置sudo可用命令
 
//zhangsan用户查看自己sudo可用命令
[zhangsan@localhost root]$ sudo -l
匹配 %2$s%1$s 的默认条目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
    USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
 
用户 zhangsan 可以在 localhost 上运行以下命令:
    (ALL) ALL
    (root) /bin/*, !/bin/rm, !/sbin/reboot

二、系统引导和登录控制

GRUB菜单限制

[root@localhost ~]# grub2-setpasswd

此界面按e进入GRUB菜单
在这里插入图片描述
设置密码后需要输入密码登入
在这里插入图片描述

2.限制用户在安全终端登录

//更改终端配置文件
[root@localhost ~]#vim /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
#tty4     --把需要禁止登录的终端注释或删除
#tty5
tty6
tty7
tty8
tty9
tty10
tty11

测试发现tty4无法登录
在这里插入图片描述

三、端口扫描

  • 一款强大的网络扫描、安全 检测工具
  • 官方网站:Nmap: the Network Mapper - Free Security Scanner
  • CentOS 7.3光盘中安装包 nmap-6.40-7.el7.x86_64.rpm

[root@localhost ~]# nmap [扫描类型] [选项] 扫描目标

选项和扫描类型作用
-p指定扫描的端口
-n禁用反向DNS解析(以加快扫描速度)
-sSTCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYNACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否 则认为目标端口并未开放
-sFTCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而 忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性
-sUUDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢
-sPICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描
-P0跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值