Linux系统安全及应用
前言
用户账号与网络端口与我们的系统安全是息息相关的,无论是用户的限制登录还是密码限制以及端口限制等都是我们常用的一些操作。
一、账号安全控制
(1)基本安全措施
①设置非登录用户
在 Linux 系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号除了超级用户 root 之外,其他大量账号只是用来维护系统运作、启动或保持服务器进程,一般是不允许登录的,因此也称为非登录用户为了确保系统安全,这些系统的登录 shell 通常是 /sbin/nologin,表示禁止终端登录,应确保不被人为改动
②删除冗余账号
各种非登录用户中,还有相当一部分是很少用到的,这些账号可以视为冗余账号,直接删除即可除此之外,还有一些随应用程序安装的用户账号,若程序卸载以后未能自动删除,则需要管理员手动进行清理
③锁定账号
对于 Linux 服务器中长期不用的用户账号,若无法确认是否应该删除,可以暂时将其锁定
- usermod -L 用户名 #锁定用户账号
- passwd -l 用户名 #锁定用户密码,锁定的用户将无法再登录系统
- passwd -u 用户名 #解锁用户账号
- usermod -U 用户名 #解锁用户账号
usermod和passwd可以互相解锁
④锁定账号文件
如果服务器中的用户账号已经固定,不再更改,还可以采取锁定账号配置文件的方法
chattr +i /etc/passwd /etcadow #锁定文件
lsattr /etc/passwd /etcadow #查看为锁定的状态
lsattr /etc/passwd /etcadow #查看为解锁的状态
(2)密码安全控制
在生产环境中我们的密码往往会设置固定更改时间,30、90天多为常见,60天相对较少。
- chage -M 60 test3 #这种方法适合修改已经存在的用户
chage -M 0 用户名 # 强制用户下次登录时更换密码 - vim /etc/login.defs #这种适合以后添加新用户
PASS_MAX_DAYS 30
(3)命令历史限制
Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险 只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果层间在命令行输入铭文的密码,则无意之中服务器的安全壁垒又多了一个缺口 在 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条
- 通过修改 /etc/profile 文件中的 HISTSIZR 变量值,可以影响系统中的所有用户
- 限制命令历史意义1、减少记录命令的条数 2、注销时自动情况命令历史
①减少记录历史命令条数
- vim /etc/profile #进入配置文件
- HISTSIZE=200 #修改命令记录条数,默认是1000条
- source /etc/peofile #刷新配置文件
②只修改当前用户
- export HISTSIZE=200 #修改当前用户历史命令条数
③注销时自动清空命令
- vim ~/.bashrc #编辑变量配置文件
- echo “” >~/.bashrc_history #输入空字符到