系统安全及应用

系统安全及应用

系统账号清理,将非登录用户的shell设为/sbin/nologin

锁定长期不适用的账号

chattr命令不能保护:/、/dev、/tmp、/var目录

删除无用的账号

锁定账号文件passwd,shadow

chattr +i /etc/passwd /etc/shadow

+:在原有参数设定基础上个,追加参数

lsattr /etc/passwd /etc/shadow

-:在原有参数设定基础上,移除参数

A:文件或目录atime(access time)不可修改(modified)=:更新为指定参数设定

可以有效预防例如手提电脑磁盘I/C错误的发生

S:硬盘I/O同步选项,功能类似sync

a:即append,设定参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性

c:即compresse,设定文件是否压缩后在储存,读取时需要经过自动解压操作

d即nodump,设定文件不能成为dump程序的备份目标

i:设定文件不能被删除,改名设定链接关系,同时不能写入或新增内容,i参数对于文件系统的安全设置有很大帮助

j即journal,设定此参数使得当通过mount参数:data=ordered或者data=writeback,挂载的文件系统,文件在写入时会先被记录(在journal中)如果filesystem被设定参数为data=journal,则该参数自动失效

s:保密性的删除文件或目录,即硬盘空间被全部收回

u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion

各参数选项中常用到的是a和i,a选项强制只可添加不可删除,多用于日志系统的安全设定,而i是更为严格的安全设定,只有superaser(root)或具有CAP Linux-IMMUTABIE处理能力(标识)的进程能够施加该选项

chattr +i /etc/passwd /etc/shadow 设定文件/etc/passwd /etc/shadow文件不能被修改、删除、创建链接

lsattr /etc/passwd /etc/shadow 查看效果

验证权限

useradd lisi 报无权限

cat /etc/passwd

passwd lisi 报无效账户

cat /etc/shadow

chattr -i /etc/passwd /etc/shadow 解锁

lsattr /etc/passwd /etc/shadow 查看文件保护效果

密码安全控制

设置密码有效期,要求用户下次登录时修改密码

vi /etc/login.defs 适用于新建用户

PASS_MAX_DAYS 30

chage -M 25 lisi 适用于已有用户

chage -d 0 zhangsan 强制在下次登录时更改密码

命令历史限制

减少记录的命令条数

注销时自动清空命令历史

终端自动注销

闲置600秒后自动注销

vi ~/.bash_profile

export TMOUT=600 全局变量设定600秒后自动注销

unset TMOUT 取消

查看历史命令 cat .bash-history

vi /etc/profile

HISTSIZE=200

vi ~/.bash-logout

history -c 清除历史记录

clear

echo >$home./bash_history彻底清除

切换用户su

用途:Substitute User 切换用户

格式:su -用户名

密码验证:root➡任意用户,不验证密码

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

su -root 切换root用户,单打su也可以切换至root用户

whoami 查看当前用户

限制使用su命令的用户

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

启用pam_wheel认证模块

vi /etc/pam.d/su

#%PAM-1.0

auth sutt icieut pam.rootok.su

auth required pam-wheel.so.use-uid

gprasswd -a 用户wheel

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

每一行可以区分三个字段

认证类型 控制类型

PAM 模块及其参数

PAM 认证类型包括四种

认证管理(authentication management ):接受用户名和密码,进而对该用户密码进行认证

账户管理:检查账户是否被允许登陆系统,账号是否已经过期,账号的登录是否有时间段的限制等

密码管理:主要用来修改用户的密码

会话管理:主要是提供对绘画的管理和记账

控制类型也叫Control Flags,用于PAM验证类型的返回结果

Drequired 验证失败时仍然继续,但返回Fail

requisite 验证失败时,立即结束整个验证过程返回Fail

sufficient 验证成功时立即返回,不再继续,否则忽略结果并继续

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

PAM认证的构成

查看某个程序是否支持PAM认证,可用ls命令

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

ls /etc/pam.d |grep su

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

  1. 每一行都是一个独立的认证过程
  2. 每一行可以区分为三个字段
  1. 认证类型
  2. 控制类型
  3. PAM模块及其参数

su命令的安全隐患

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

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

su命令进行切换

PAM(Pluggable Authentication Modules)可插拔式认证模块

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

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

PAM认证原理

一般遵循的顺序

service(服务)➡PAM(配置文件)➡pam_*.so

首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下)

最后调用认证文件(位于/lib/security下)进行安全认证

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

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

使用sudo机制提升权限

sudo命令的用途及用法

以其他身份(如root)执行授权的命令

用法:sudo 授权命令

4个ALL代表的含义

从左到右第一个ALL代表的是用户;

从左到右第二个ALL代表的是机器;

从左到右第三个ALL代表的是新用户身份(sun_as_user,如root);

从左到右第四个ALL代表的是命令。

sudo –l可以查看结果

查看sudo操作记录

需启用Defaults logfile配置;

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

 tail -f /var/log/secare 查看用户提权报考

开关机安全控制

调整BLOS引导设置

  1. 将第一引导设备设为当前系统所在硬盘
  2. 禁止从其他设备(光盘、U盘、网络)引导系统
  3. 将安全级别设为setup,并设置管理员密码

GRUB限制

  1. 使用grub2-mkpasswd-pbkdf2生成密钥
  2. 修改/etc/grub.d/00_header文件中,添加密码记录
  3. 生成新的grub.cfg配置文件

[root@local host~]#grub2-mkpasswd-pbkdf2 //生成加密密钥

[root@local host~]#cp -rp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

[root@local host~]# cp -rp /etc/grub.d/00_header /etc/grub.d/00_header.bak

vim /etc/grub.d/00_header //将下面内容添加到文件最后

cat <<EOF 在我们使用cat <<EOF时,我们输入完成后们需要在一个新的一行输入EOF结束stdin的输入,EOF必须顶行写,前面不能用制表符或空格

set superuser="root"passwd_pbkdf2 root 复制生成密钥

EOF

使用grub2 -mkconfig 命令生成新的grub.cfg配置文件

限制root旨在安全终端登录

安全终端配置:/etc/securetty

[root@local host~] vi /etc/securetty

加#号注释掉登录口禁止root用户终端tty5、6处登录

禁止普通用户登录

建立/etc/nologin文件,除root账户不受限制,其他用户均受限制

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

弱密码检测:joth the Ripper 简称为JR

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

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

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

安装JR工具,安装方法make clean系统类型,主程序文件为john

检测弱密码账号

获得Linux/Unix服务器的shadow文件

执行john程序,将shadow文件作为参数

密码文件的暴力破解

准备好密码字典文件默认为password.lst

执行john程序,结合--wordlist=字典文件

网络扫描

rpm -ivh /mnt/Packages/nmap-xxx.rpm 安装nmap软件包

nmap

-sT(tcp连接扫描

127.0.0.1 192.168.4.0/24

nmap

-sU(udp扫描)

192.168.4.100-200

nmap

-sP(icmp扫描)

 

nmap

-sF(tcp fin扫描)

 

nmap

-sS(tcp syn扫描)

 

nmap

-p(指定端口扫描)

21,22扫描多个端口用逗号进行分隔

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值