系统安全及应用
作为一种开放源代码的操作系统,Linux服务器以其安全,高效和稳定的显著优势得以广泛应用
可以从账号安全控制,系统引导和登录控制的角度控制Linux系统的安全优化
还可以使用基于Linux系统环境的弱口令检测,网络扫描等安全工具,查找隐患,及时采取有针对性的防护措施
在Linux系统中,除了用户手动创建的各种账号外,还包括随系统或程序安装过程而生成的其他大量账号,除了超级用户root外,其他大量账号只是用来维护系统运作,启动进程。一般不允许登录的,因此称位非登录用户。
对于Linux服务器中长期不用的用户账号,若无法确定是否该删除,可以暂时将其锁定。例如:锁定,解锁名为tom的用户账号,可以执行以下操作:
如果服务器中用户账户已经固定,不再进行更改,还可以采用锁定账号配置文件的方法。使用chattr命令,分别结合“+i” “-i” 选项来锁定,解锁文件,使用lsattr命令可以查看文件锁定情况
当帐号文件被锁定时就无法再添加删除账号,也不能更改用户登陆的密码,登录shell
注:加了注释就是不能登录的账户
在不安全的网络环境中,为了降低密码被猜出或者被破解的风险,用户应该养成定期更改密码的习惯,这时候管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登陆时被要求重设密码,否则将拒绝登录。
执行以下操作可将密码的有效期设为30天,适用于新用户
用于已有的用户
执行以下操作可以强制要求用户tom下次登陆时重设密码
Shell环境的历史命令机制为用户提供了很大的便利,但另一方面也给用户带来了潜在风险,假如获得用户的命令历史文件,该用户的命令操作过程就会被泄露。在BASH终端环境中,历史命令记录条数由变量HISTSIZE控制,默认是1000条。通过修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中的所有用户。
例如可以设置最多记录200条历史命令
适用于当前用户
除此之外,还可以修改用户宿主目录中的~ /.bash_logout文件,添加清空历史命令的操作语句,这样当用户退出已登录的Bash环境以后,所记录的历史命令将自动清空
注:还需rm -rf .bash history删除文件,登出后再次进入查看命令就消失了
Bash终端环境中,还可以设置一个闲置的超长时间,当超过指定时间没有任何输入即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。
适用于新用户:
适用于当前用户:
注意当正在执行的等耗较长时间的操作时,应该避免设置TMOUT变量。必要时执行
unset TMOUT命令取消TMOUT变量。
大多数Linux服务器并不建议用户以root用户进行登录。一方面可以大大减少因操作失误而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。Linux系统提供了su sudo两种命令,其中su命令主要用来切换用户,而sudo命令用来提升执行权限
使用su命令可以切换为指定用户,从而具有该用户的所有权限。切换时需要对目标目录进行验证。
su和su -有区别的su只是切换了用户,当前目录不变
su - 不仅切换了用户,还切换到用户登录的家目录中
默认情况下,任何用户都允许使用su命令,从而会带来风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换,未加入到wheel组内的其他用户将无法使用su命令
例如:
1.先创建一个普通用户radmin,设置密码
2.将用户radmin加入到wheel组中,并且查看wheel组中是否有radmin的用户
3.修改/etc/pam.d/su 认证配置以启用pam_wheel认证
4.加入wheel组的用户radmin可以使用su命令,没有加入的使用不了
通过su命令可以非常方便的切换为另一个用户,但前提条件是必须知道目标用户的登陆密码,有一种方法,既可以让普通用户拥有一部份权限管理,又不需要将root用户密码告诉他,使用sudo命令可以提升执行权限
配置sudo授权
visudo 或者 vi /etc/sudoers :sudo机制的配置文件为/etc/sudoers,文件的默认权限是440,需要使用专门的visudo工具进行编辑。若使用vi编辑,保存时必须执行“:w!”命令强制操作,否则系统将提示为只读文件而拒绝保存
授权配置主要包括用户 主机 命令三部分
sudo配置记录的命令允许使用通配符*,取反符号“!”,当需要授权某个目录下的所有命令或取消取消其中个别命令时特别有用。
例如:若要授权用户tom可以执行/sbin/目录下除ifconfig route以外的其他所有程序
若要启用sudo日志记录以备管理员查看,应在/etc/sudores文件中增加“Defaults logfile”设置
2.3sudo实验:允许用户lisi通过sudo方式执行特权命令
1.创建用户lisi,并将其加入到wheel组中
2.允许lisi用户可以执行特权命令
3切换到lisi用户中,使用sudo -l命令查看自己的sudo配置
可以使用sudo - l的命令
查看sudo操作记录
需启用Defaults logfile 配置
默认日志文件:/var/log/sudo
Su命令的安全隐患
PAM可插拔式认证模块
PAM认证原理
PAM认证的构成
每一行都是一个独立的认证过程
每一行可以区分为三个字段
PAM认证类型
认证管理 账户管理 密码管理 会话管理
PAM安全认证流程
1.为grub引导菜单启用密码,生成grub密码,查看是否添加,最后重启电脑认证
2.重启电脑按e键进入这里,输入刚刚设置的用户名和密码
默认是先硬盘启动
通过修改/etc/init/start-ttys.conf和/etc/sysconfig/init,可以减少开放的tty终端数量,例如只希望开启tty4 tty5 tty6三个终端,修改操作:
若要禁止root用户从tty5 tty6登录,可以修改/etc/securetty 文件,将tty5 6注释掉
1.先用xshell软件将jhon软甲引到centos中
解压安装包,并进入这个目录
3.查看目录中信息
4.切换到src子目录并执行 make clean linux-x86-64的命令,执行编译过程
5.准备带破解的密码文件,执行暴力破解
6.查看已经破解的账户列表
一款强大的网络扫描,安全检测工具
可以探测局域网中那些主机在线,或者某台主机中开了那些端口
NMAP的扫描语法
nmap [扫描类型] [选项] <扫描目标…>
常用的扫描类型
-sS,-sT,-sF,-sU,-sP,-P0
-sT:TCP端口
-sU:UDP端口
-sP:ping