系统安全及应用

账号安全控制
用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用
户账号才能进入计算机。在 Linux 系统中,提供了多种机制来确保用户账号的正当、安全使
用。
基本安全措施
1.系统账号清理
Linux 系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而
生成的其他大量账号。除了超级用户 root 之外,其他大量账号只是用来维护系统运作、启
动或保持服务进程,一般是不允许登录的,因此也称为非登录用户账号。
如下:
# grep "/sbin/nologin$" /etc/passwd
对于 Linux 服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁
定。
# usermod -L zhangsan            //锁定账号
# passwd -S zhangsan              //查看账号状态
]# usermod -U zhangsan           //解锁账号
# passwd -S zhangsan
如果服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方
法。使用 chattr 命令,分别结合 i”“-i” 选项来锁定、解锁文件,使用 lsattr 命令可以查看文
件锁定情况。
# chattr +i /etc/passwd /etc/shadow       // 锁定文件
# lsattr /etc/passwd /etc/shadow           //查看为锁定的状态
# chattr -i /etc/passwd /etc/shadow      // 解锁文件
# lsattr /etc/passwd /etc/shadow          //查看为解锁的状态
# chattr +i /etc/passwd /etc/shadow
# useradd billgate
密码安全控制
在不安全的网络环境中,为了降低密码被猜出或被暴力破解的风险,用户应养成定期更
改密码的习惯,避免长期使用同一个密码。
管理员可以在服务器端限制用户密码的最大有效 天数,对于密码已过期的用户,登录时
将被要求重新设置密码,否则将拒绝登录。
# vi /etc/login.defs           //适用于新建的用户
# chage -M 30 lisi            //适用于已有的 lisi 用户
# chage -d 0 zhangsan
#
Localhost login: zhangsan     //zhangsan 用户登录系统
命令历史、自动注销
Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在
的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在
命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口
# vi /etc/profile                      //适用于新登录用户
# export HISTSIZE=200        //适用于当前用户
当用户退出已登录 Bash 环境以后,所记录的历史命令将自动清空。
# vi ~/.bash_logout
Bash 终端环境中,还可以设置一个闲置超时时间,当超过指定的时间没有任何输入时
即自动注销终端,这样可以有效避免当管理员不在时其他人员对服务器的误操作风险。
# vi /etc/profile                 //适用于新登录用户
# export TMOUT=600      //适用于当前用户
用户切换与提权
su 命令 —— 切换用户
su 命令用法
$ su - root
密码 :                   //输入用户 root 的口令
#                         //验证成功后获得 root 权限
# gpasswd -a tsengyia wheel               //添加授权用户 tsengyia
正在将用户 “tsengyia” 加入到 “wheel” 组中
 # grep wheel /etc/group                       //确认 wheel 组成员
# vi /etc/pam.d/su
启用 pam_wheel 认证以后,未加入到 wheel 组内的其他用户将无法使用 su 命令,尝
试进行切换时将提示 拒绝权限 ,从而将切换用户的权限控制在最小范围内。
$ su – root      //尝试切换为 root
密码:
拒绝权限
$               //切换失败 , 仍为原用户
PAM 安全认证
PAM 认证一般遵循的顺序: Service (服务) →PAM (配置文件) →pam_*.so
PAM 认证首先要确定哪一项服务,然后加载相应的 PAM 的配置文件 ( 位于 /etc/pam.d
) ,最后调用认证文件 ( 位于 /lib/security ) 进行安全认证;
用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到 PAM 模块进行
认证。不同的应用程序所对应的 PAM 模块也是不同的。
如果想查看某个程序是否支持 PAM 认证,可以用 ls 命令进行查看,例如执行以下命令
可以查看 su 是否支持 PAM 模块认证。
sudo 命令 —— 提升执行权限
在配置文件/etc/sudoers 中添加授权
配置文件 /etc/sudoers 中,授权记录的基本配置格式如下所示。
user MACHINE=COMMANDS
用户( user ):直接授权指定的用户名,或采用 “% 组名 的形式(授权一个组的所有
用户)。
主机( MACHINE ):使用此配置文件的主机名称。此部分主要是方便在多个主机
间共用同一份 sudoers 文件,一般设为 localhost 或者实际的主机名即可。
命令( COMMANDS ):允许授权的用户通过 sudo 方式执行的特权命令,需填写
命令程序的完整路径,多个命令之间以逗号 “,” 进行分隔。
操作通过别名方式来添加授权记录,允许用户 jerry 、 tom、 tsengyia 在主机 smtp
pop 中执行 rpm yum 命令。
# visudo
若要启用 sudo 日志记录以备管理员查看,应在/etc/sudoers 文件中增加 “Defaults logfile” 设置
# visudo       //查找 Defaults, 在前面添加一行内容
通过 sudo 执行特权命令
$ /sbin/ifconfig ens33:0 192.168.1.11/24
                                                                     // 未用 sudo 的情况
$ sudo /sbin/ifconfig ens33:0 192.168.1.11/24
                                                                     // 使用 sudo 的情况
$ sudo -l
[sudo] password for syrianer:                       //验证 syrianer 用户的密码
系统引导和登录控制
开关机安全控制
对于服务器主机,其物理环境的安全防护是非常重要的,不仅要保持机箱完好、机柜锁
闭,还要严格控制机房的人员进出、硬件设备的现场接触等过程。
调整 BIOS 引导设置
1 )将第一优先引导设备( First Boot Device )设为当前系统所在磁盘。
2 )禁止从其他设备(如光盘、 U 盘、网络等)引导系统,对应的项设为 “Disabled”
3 )将 BIOS 的安全级别改为 “setup” ,并设置好管理密码,以防止未授权的修改。
限制更改 GRUB 引导参数
从系统 安全的角度来看,如果任何人都能够修改 GRUB 引导参数,对服务器本身显然是一个极大
的威胁。为了加强对引导过程的安全控制,可以为 GRUB 菜单设置一个密码,只有提供正
确的密码才被允许修改引导参数。
# grub2-mkpasswd-pbkdf2          //根据提示指定密码
          略                                          // 经过加密的密码字符串
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
# vim /etc/grub.d/00_header         //将下面内容添加到文件最后
使用 grub2-mkconfig 命令生成新的 grub.cfg 配置文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg         //生成新的 grub.cfg 文件
终端及登录控制
禁止 root 用户登录
Linux 系统中, login 程序会读取 /etc/securetty 文件,以决定允许 root 用户从哪些终
端(安全终端)登录系统。若要禁止 root 用户从指定的终端登录,只需从该文件中删除或
者注释掉对应的行即可。
# vi /etc/securetty
禁止普通用户登录
当服务器正在进行备份或调试等维护工作时,可能不希望再有新的用户登录系统。这时
候,只需要简单地建立 /etc/nologin 文件即可。
# touch /etc/nologin
弱口令检测、端口扫描
弱口令检测 ——John the Ripper
John the Ripper 是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明
文的密码字串,支持 DES MD5 等多种加密算法,而且允许使用密码字典(包含各种密码
组合的列表文件)来进行暴力破解。通过使用 John the Ripper ,可以检测 Linux/UNIX 系统
用户账号的密码强度。
下载并安装 John the Ripp
John the Ripper 的官方网站是 http://www.openwall.com/john/ ,通过该网站可以获取稳
定版源码包,如 john-1.8.0.tar.gz
# tar zxf john-1.8.0.tar.gz
# cd john-1.8.0
# ls -ld *
# cd src/
# make clean linux-x86-64
# ls ../run/john                         //确认已生成可执行程序 john
检测弱口令账号
# cp /etc/shadow /root/shadow.txt       //准备待破解的密码文件
# cd ../run
# ./john /root/shadow.txt                        //执行暴力破解
# ./john --show /root/shadow.txt             // 查看已破解出的账户列表
使用密码字典文件
John the Ripper 默认提供的字典文件为 password.lst ,其列出了 3000 多个常见的弱口
令。如果有必要,用户可以在字典文件中添加更多的密码组合,也可以直接使用更加完整的
其他字典文件。执行 john 程序时,可以结合 “--wordlist=” 选项来指定字典文件的位置,以便
对指定的密码文件进行暴力分析。
# :> john.pot                   //清空已破解出的账户列表 , 以便重新分析分析
# ./john --wordlist=./password.lst /root/shadow.txt
网络扫描 ——NMAP
1.安装 NMAP 软件包        
# yum install -y nmap
2.扫描语法及类型
基本命令格式如下
nmap [ 扫描类型 ] [ 选项 ] < 扫描目标 ...>
3.扫描操作示例
针对本机进行扫描,检查开放了哪些常用的 TCP 端口、 UDP 端口。
# nmap 127.0.0.1                  //扫描常用的 TCP 端口
# nmap -sU 127.0.0.1            //扫描常用的 UDP 端口
检查 192.168.4.0/24 网段中有哪些主机提供 FTP 服务。       
# nmap -p 21 192.168.4.0/24  
快速检测 192.168.4.0/24 网段中有哪些存活主机(能 ping 通)。
# nmap -n -sP 192.168.4.0/24
检测 IP 地址位于 192.168.4.100 200 的主机是否开启文件共享服务。
# nmap -p 139,445 192.168.4.100-200
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值