系统安全及应用(简单易懂详细)

84 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

账号安全

系统账号清理

usermod

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

    usermod -s /sbin/nologin 用户名

image.png

image.png

  • 锁定长时间不使用的账号 passwd -L 用户名

image.png usermod -L 用户名

image.png

  • 删除无用的账号 userdel -r 用户名

image.png

chattr

锁定账号文件passwd,shadow

  • chattr + i /etc/shadow /etc/shadow锁定文件

image.png

  • lsattr /etc/passwd /etc/shadow 查看状态

image.png lsattr /etc/shadow /etc/passwd

image.png

密码安全控制

  • 设置密码

  • 要求用户下次登录时候修改密码

  • 格式

       - vi /etc/login.defs  ### 适用于新用户
       - chage -M 时间 用户   ### 适用于老用户
    

-选项

- m:密码可更改的最小天数。为0时代表任何时候都可以更改密码。
 -M:密码保持有效的最大天数。

 -W:用户密码到期前,提前收到警告信息的天数。

 -E:帐号到期的日期。过了这天,此帐号将不可用。

 -d:设置”最后一次修改密码的日期“。设置为 0 有特殊意思,表示用户应该在下次登录系统时更改密码。

 -i:停滞时期。允许密码过期后多少天内仍能使用,如果一个密码已过期这些天,那么此帐号将不可用。

 -l:例出当前的设置。

vi /etc/login.defs image.png chage -M 30 yyy image.png

账号自动注销

命令历史限制

  • 减少记录的命令条数

  • 登录时自动清空命令历史

  • 命令格式

     - vim /etc/profile    
     -  source /etc/profile ##重启启动文件
     -  echo “” > ~/bash/
    

vim /etc/profile image.png

image.png

image.png 编辑 ~/.bash_logout 文件,在注销时清空命令历史。

image.png image.png

history -c ##清空当前登录环境的历史

搜索历史命令

  • history
  • ctrl+R
  • 上下键

export HISTSIZE= #设置历史记录数量上限

export TMOUT= #设置登录后无操作退出登录操作时间

source /etc/profile 保存配置

./etc/profile

终端自动注销

  • 闲置600s后自动注销

vi /etc/profile

image.png

su

  • 用途及用法

    • 用途:Substitute User 切换用户
    • 格式 su - 目标用户
  • 密码验证

    • root -任意用户 不验证密码
    • 普通用户 - 其他用户 验证目标用户密码

image.png

image.png

限制使用su命令的用户

  • 把允许使用su切换的用户加入到wheel组中、
  • 启用pam_wheel认证模块

vim /etc/pam.d/su image.png

image.png 成功使用su命令切换用户 image.png

PAM 安全认证

image.png

sudo

提高授权

配置sudo visudo 或者 vi /etc/sudoers

image.png 格式

  • 用户 主机名=命令程序列表(多条使用,号间隔 , 支持使用* !等通配符,命令前面加NOPASSWD:可以不需要密码)

  • 用户 主机名-(用户) 命令程序列表(指定sbin能执行的命令)

image.png

image.png visudo

  • User_Alias USERS=lisi,wangwu,zhaoliu

  • Cmnd_AliasCMNDS=/usr/sbin/,/usr/bin/,!/usr/sbin/reboot,!/usr/sbin/poweroff, /usr/bin/mount

  • USERS ALL=NOPASSWD: CMNDS

image.png

image.png

查看sudo操作记录

  • 需要启用 Default logfile 配置
  • 默认日志文件:/var/log/sudo 步骤 在visudo image.png

image.png 查看sudo所具有的权限 sudo -l

image.png

开关机安全控制

  • 调整BIOS引导设置

    • 将第一引导设备设为当前系统所在的硬盘
    • 禁止从其他设备(光盘,U盘,网络)引导系统
    • 将安全级设为setup,并设置管理员密码
  • GRUB限制

    • 使用grub2-mkpasswd-pbkdf2生成密钥
    • 修改/etc/grub.d/00_header文件中,添加密码记录
    • 生成新的grub.cfg配置文件 grub限制小实验 以这个加密方式生成一个密码:grub2-mkpasswd-pbkdf2

image.png 进入到grub.d目录 image.png 备份一个配置文件 image.png 编辑配置文件 image.png

image.png

image.png 实验成功 image.png

终端登录安全控制

限制root只在安全终端登录

安全终端配置:/etc/securetty 加#注释掉 image.png touch /etc/nologin 禁止普通用户登录

rm -rf /etc/nologin 取消上述登录限制

JR

image.png

强力破解密码小实验

image.png

image.png

image.png

image.png 破解成功

NMAP

检查所有端口开启情况 netstat -nltp

n:只查看端口号

l:只查看监听状态网络连接和端口信息

t:只查看tcp协议的相关信息

p:查看pid号和进程名

u: 查看udp协议的相关信息

a:查看所有

查看本机开放的端口

nmap -sT [扫描主机打开tcp端口]

nmap -sU[扫描主机打开UDP端口]

nmap -sP[IP地址]

总结

  • 账号基本安全措施

    • 系统账号清理,密码安全控制,命令历史清理,自动注销
  • 用户切换与提权

    • su,sudo
  • 开关机安全控制

    • BIOS引导设置,GRUB菜单设置密码
  • 终端控制

    • John the Ripper 工具
    • nmap命令