系统安全及应用

目录

一、账号安全基本措施

2、密码安全控制

3、命令history(历史)控制

二、SU命令限制

1、使用su命令切换用户

2、限制使用su命令的用户

3、查看su操作记录

三、Linux中的PAM安全认证

1、PAM认证原理

2、PAM认证的构成

3、PAM安全认证流程

四、使用sudo机制提升权限

1、配置sudo授权

2、查看sudo操作记录

3、查询授权的sudo

五、开关机安全控制

六、终端登录安全控制

1、限制root只在安全终端登陆

2、禁止普通用户登录

七、系统弱口令检测

八、网络端口扫描

1、NMAP概述

2、NMAP常用选项

3、实例


一、账号安全基本措施

        系统安全及应用:从不同角度加强对系统的安全管控,主要方向就是权限。

1、系统账号清理

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

        usermod -s /sbin/nologin 用户名

        • 锁定长期不使用的账号

        usermod -L 用户名         passwd -l 用户名

        passwd -S 用户名

        • 删除无用的账号

        userdel [-r] 用户名

        • 锁定账号文件passwd、 shadow

        chattr +i /etc/passwd /etc/shadow                ##锁定文件并查看状态

        lsattr /etc/passwd /etc/shadow

        chattr -i /etc/passwd /etc/shadow                 ##解锁文件

2、密码安全控制

1、设置密码有效期

2、要求用户下次登录时修改密码

3、命令history(历史)控制

1、命令历史限制

        • 减少记录的命令条数       

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

2、终端自动注销

        • 闲置600秒后自动注销

        [root@localhost~]#vi /etc/profile

        .......

        export TMOUT=600

        [root@localhost~]# source /etc/profile

ps:

history:1000行(默认)

soure /etc/profile         ##重新加载生效

二、SU命令限制

1、使用su命令切换用户

1.1 用途及用法

        • 用途:Substitute User,切换用户

        • 格式   su - 目标用户

1.2 密码验证

        • root→任意用户,不验证密码

        • 普通用户→其他用户,验证目标用户的密码

[cjw@localhost ~]1 su-root                带"-"选项表示将使用目标,用户的登录Shell环境

口令:

[root@localhost ~]# whoami

root   

2、限制使用su命令的用户

1、限制使用su命令的用户

        • 将允许使用su命令的用户加入wheel组

        [root@localhost ~]gpasswd -a cjw wheel

        cjw

        正在将用户"cjw"加入到wheel组中

        • 启用pam_wheel认证模块

        [root@localhost~]#vi /etc/pam.d/su

        #%PAM-1.0

        auth     sufficient pam_rootok.so

        auth     required  pam_wheel.so use_uid

3、查看su操作记录

安全日志文件:/var/log/secure

示例 有dn和ky32两个用户,要求设置dn可以使用su命令切换用户,ky27用户不允许使用

vim /etc/pam.d/su                                              ##编辑/etc/pam.d/su配置文件

auth required pam_wheel.so use_uid              ##将第六行的注释取消即可

gpasswd -a dn wheel                                       ##将希望可以使用su命令的用户加入到wheel组中

[root@localhostdn]#passwd -S dn                   ##查询密码状态

dn PS 1969-12-31 0 99999 7-1(密码已设置,使用SHA512算法。)

dn:指定用户的用户名。

PS:用户密码的状态标识符。这里的P表示密码已经设置,且可用。

三、Linux中的PAM安全认证

1、su命令的安全隐

        • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户 (女root) 的登录密码,带来安全风险。

        • 为了加强su命令的使用控制,可借助于PAM认证模块只允许极个别用户使用su命令进行切换。

2、PAM(PluggableAuthenticationModules)可插拔式认证模块

        • 是一种高效而且灵活便利的用户级别的认证方式。

        • 也是当前Linux服务器普遍使用的认证方式。

1、PAM认证原理

• 一般遵循的顺序

        Service(服务)——》PAM (配置文件)——》pam*.so

• 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

• 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证

• 不同的应用程序所对应的PAM模块是不同的

2、PAM认证的构成

1、查看某个程序是否支持PAM认证,可以用Is命令

        • 示例:查看su是否支持PAM模块认证

        ls /etc/pam.d l grep su

2、查看Su的PAM配置文件:cat/etc/pam.d/su

        • 每一行都是一个独立的认证过程

        • 每一行可以区分为三个字段

                • 认证类型

                • 控制类型

                • PAM模块及其参数

ps:auth:权限         account:计数         password:密码         session:会话

3、PAM安全认证流程

• 控制类型也称做ControlFlags,用于PAM验证类型的返回结果

        1.required验证失败时仍然继续,返回Fail。

        2.requisite验证失败则立即结束整个验证过程,返回Fail。

        3.sufficien验证成功则立即返回,不再继续,否则忽略结果并继续。

        4.optional不用于验证,只显示信息。
                (通常用于session类型)

四、使用sudo机制提升权限

1、配置sudo授权

 配置sudo授权

        • visudo或者vi/etc/sudoers

        • 记录格式  

        用户  主机名=命令程序列表

        [root@localhost ~]#visudo

        .......

        %wheel           ALL=NOPASSWD:ALL

        jerry             localhost=/sbin/ifconfig

        Syrianer           localhost=/sbin/*,/sbin/ifconfig/sbin/route

        Cmnd Alias      PKGTOOLS=/bin/rpm./usr/bin/yum

        mike             ocalhost=PKGTOOLS

2、查看sudo操作记录

        • 需启用Defaults logfile配置

        • 默认日志文件:/var/log/sudo

        [root@localhost~]#visudo

        Defaults logfile ="/var/log/sudo"

        root@localhost~]#tail /var/log/sudo

3、查询授权的sudo

        • sudo -l           ##查看当前用户获得哪些sudo授权

五、开关机安全控制

1、调整BIOS引导设置

        • 将第一引导设备设为当前系统所在硬盘。

        • 禁止从其他设备(光盘、U盘、网络)引导系统。

        • 将安全级别设为setup,并设置管理员密码。

2、GRUB限制

        • 使用grub2-mkpasswd-pbkdf2生成密钥。

        • 修改/etc/grub.d/ooheader文件中,添加密码记录。

        • 生成新的grub.cfg配置文件。

六、终端登录安全控制

1、限制root只在安全终端登陆

        • 安全终端配置:/etc/securetty

        [root@localhost~]#vi /etc/securetty

        .......

        #tty5                ##禁止roo用户从终端tty5、tty6登录(在行首加"#"号表示注释)

        #tty6

2、禁止普通用户登录

        • 建立/etc/nologin文件

        • 删除nologin文件或重启后即恢复正常

        [root@localhost ~]# touch /etc/nologin               ##禁止普通用户登录

        ]root@localhost ~]# rm-rf /etc/nologin                 ##取消上述登录限制

七、系统弱口令检测

Joth the Ripper,简称为JR

        • 一款密码分析工具,支持字典式的暴力破解。

        • 通过对shadow文件的口令分析,可以检测密码强度。

        • 官方网站:http://www.openwall.com/john/

八、网络端口扫描

1、NMAP概述

        • 一款强大的网络扫描  安全检测工具。

        • 官方网站:http://nmap.org。

        • Centos7.3光盘中安装包nmap-6.40-7.el7.×86_64.rpm。

2、NMAP常用选项

nmap命令常用的选项和扫描类型

-p:指定扫描的端口。

-n:禁用反向DNS解析(以加快扫描速度)。

-sS:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为自标端口并未开放。

-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为自标端口并未开放。

-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。

-sU:UDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。

-sP:ICMP扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。

-PO:跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。

3、实例

netstat -natp                        ##查看正在运行的使用TCP协议的网络状态信息

netstat -naup                       ##查看正在运行的使用UDP协议的网络状态信息示例:

#分别查看本机开放的TCP端口、UDP端口:

nmap -sT 127.0.0.11

nmap -sU 127.0.0.1

#检测192.168.4.0/24网段有哪些主机提供HTTP服务:

nmap-p80192.168.4.0/24

#检测192.168.4.0/24网段有哪些存活主机:

nmap-n-sP192.168.4.0/24
                                                                                                                                                           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值