linux系统安全及应用(老板说不会sudo,怎么敢说会linux)

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

账号安全控制

系统账号清理

在linux系统中,除了root用户,还有许多程序用户,一般不允许登录。

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

usermod -s /sbin/nologin 用户名

修改后的用户无法登录系统

锁定长期不使用的账号

  • passwd -l 用户名 (锁定账号)
  • passwd -u 用户名 (解锁账号)
  • passwd -S 用户名 (查看账号状态)
  • usermod -L 用户名 (锁定账号)
  • usermod -U 用户名 (解锁账号)

image.png

  • usermod也可实现相同的效果

删除无用的账号

系统中会存在一些不用的账号,我们通常使用usredel命令删除账户

  • userdel 用户 (会保留用户的家目录)

image.png

  • userdel -r 用户(会连用户的家目录一起删除)

image.png

锁定账号文件passwd,shadow

锁定账号文件后不能进行任何操作,也无法删除。

  • chattr +i 文件或目录 (添加i属性,就无法进行任何操作)
  • lsattr 文件或目录 (查看属性)
  • chattr -i 文件或目录 (去掉属性)

image.png

密码安全控制

一般设置密码有效期,或设置下次登录修改密码

  1. 对于新建用户修改 etc/login.defs文件即可
  2. 对与已有用户使用chage命令
  • 修改etc/login.defs文件

image.png

若将数值修改为30,则新建用户时密码的有效期都为30天

已有用户chage命令

  • -M:密码保持有效的最大天数

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

image.png

命令历史限制

  1. 临时修改历史命令条数。注销后失效。

image.png

2.永久修改历史命令条数。编辑/etc/profile 文件

image.png

image.png

终端自动注销

vim /etc/profile

加export  TMOUT=600 (设置600s自动注销)

用户切换和提权

用户切换 su

  • su可以切换用户身份
  1. su 用户名 这是不完全切换,切换后通常不会改变当前的家目录

image.png 2.su - 用户名 完全切换,会读取用户的配置文件,切换到自己的家目录中

image.png

限制用户使用su

通过修改 /etc/pam.d/su 文件 默认开启第二行,注释第六行 image.png

  • 开启第二行,注释第六行,这种状态下是允许所有用户间使用su命令进行切换的。

  • 两行都注释是允许所有用户都能使用su命令,但root使用su切换到其他普通用户需要输入密码

  • 如果开启第六行,表示只有root用户和wheel组内的用户才可以使用su命令。

  • 如果注释第二行,开启第六行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令

开启第六行

此时只有root和在wheel组里的用户可以使用su命令

image.png

  • 登录到张三用户,使用su切换至root,权限被拒绝

image.png

  • 将张三加入到wheel组

image.png

  • 可以使用su命令

image.png

用户提权sudo

普通用户使用某些命令时没有root用户的权限,通过sudo命令和编辑/etc/sudoers 让普通用户执行一些root用户才能完成的操作

  • 使用visudo来配置 /etc/sudoers 文件

image.png

  • 普通用户无法使用mount命令

image.png 通过配置/etc/sudoers 让张三用户拥有挂载权限

image.png

image.png

  • 将普通用户加入到wheel组中也可以使用没有权限的命令

image.png

  • 将李四用户加入到wheel中

image.png

  • 切换到李四用户,使用mount命令

image.png

引导登录控制

GRUP 菜单加密

通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁。可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数

  • CentOS 7系统中,直接使用 “grub2-setpasswd” 命令设置grub密码;

  • CentOS 6系统中,先要使用grub2-mkpasswd-pbkdf2命令生成PBKDF2加密口令,然后在/etc/grub.d/00_header文件中添加超级用户和PBKDF2加密口令,最后使用grub2-mkconfig命令生成grub配置文件。

  • CentOS 7系统中,直接使用 “grub2-setpasswd” 命令设置grub密码。

image.png

  • 重启虚拟机,需要输入密码才能进入菜单

image.png

网络端口扫描

namp工具

nmap [扫描类型] [选项] <扫描目标>

image.png

netstat命令

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息

  • netstat 选项

-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。

-n拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。

-t查看TCP协议相关的信息。-u显示UDP协议相关的信息。

-p显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

-r显示路由表信息

-l显示处于监听状态(Listen)的网络连接及端口信息。

猜你喜欢

转载自juejin.im/post/7130571906763194398