IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 系统安全及应用 -> 正文阅读

[系统运维]系统安全及应用

?

?

前言

? ? ? 作为一个开放源代码的操作系统,Linux服务器以其安全、高效和稳定的显著优势而得以广泛应用,下面主要从账户安全、系统引导、登录控制的角度,优化Linux系统的安全性。

?

?

一、账号安全

1、系统账号清理

将非登录用户的shell设为/sbin/nologin;

锁定长期不使用的账号:passwd -l? ; usermod -L

删除无用账号:userdel -r

锁定账号文件:passwd -u;usermod -U

2、密码安全

设置密码有效期?

新建账号:
    vim /etc/login.defs
     PASS_MAX_DAYS 30
   
已有账号:
    chage -M  30  lisi

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

 chage -d 0 zhangsan

3、命令历史限制

3.1??减少记录的命令条数

vi /etc/profile

HISTSIZE=200

3.2? ?注销时自动清空历史命令

vi ~/.bash_logout

history -c

clear

?history -w???保存 (保存到~/.bash_history)
?history -c???删除?(退出删除历史:vim ~/.bash_logout)

3.3??终端自动注销

 vim ~/.bash_profile
   export TMOUT=300   (无操作,300注销)

二、su命令

1、su切换用户
?su zhangsan???(不改变当前目录)
?su - zhangsan (切换到用户的宿主目录)

2、?限制su命令

?启用pam_wheel认证模块
??

vim /etc/pam.d/su
???auth???????required???pam_wheel.so use_uid

?把使用su命令的用户加入wheel组
??

gpasswd -a zhangsan??wheel?

三、PAM安全认证

1、PAM认证的构成

1.1? 查看PAM认证

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

[root@localhost ~]# ls /etc/pam.d | grep su
ksu
su
sudo
sudo-i
su-l

1.2? 查看PAM配置文件

[root@localhost ~]# cat /etc/pam.d/su
#%PAM-1.0
auth		sufficient	pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth		sufficient	pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth		required	pam_wheel.so use_uid
auth		substack	system-auth
auth		include		postlogin
account		sufficient	pam_succeed_if.so uid = 0 use_uid quiet
account		include		system-auth
password	include		system-auth
session		include		system-auth
session		include		postlogin
session		optional	pam_xauth.so

每一行都是一个独立的认证过程;每一行可以区分为三个字段

2、PAM认证类型

认证管理:接受用户名和密码,进而对该用户的密码进行认证
账户管理:检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间限制等
密码管理:主要是用来修改用户的密码
会话管理:主要是提供对话的管理与记账

3、su命令的安全隐患

?默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户,如(root)的登录密码,带来安全风险,为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

4、PAM可插拔式认证模块

是一种高效而且是灵活便利的用户级别的认证方式,也是当linux服务器普遍使用的认证方式。

5、PAM认证原理

Service(服务)——PAM(配置文件)——pam_*.so
首先要确定哪一项服务,然后加载相应的PAM配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证;用户访问服务器时,服务器某一服务程序把用户的请求发送到PAM模块进行验证;不同的应用程序所对应的PAM模块是不同的.

6、PAM安全认证流程

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

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

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

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

7、PAM模块顺序

7.1??第一列代表PAM认证模块类型
auth:对用户身份进行识别,如提示输入密码,判断是否为root。
account:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等
password:使用用户信息来更新数据,如修改用户密码
session:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和

7.2??第二列代表PAM控制标记
required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。
requisite:与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。
optional: 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
include:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。

7.3??第三列代表PAM模块

默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径

7.4??第四列代表PAM模块的参数

用户1用户2用户3用户4
authrequired模块1passfailpasspass
authsufficient模块2passpassfailpass
authrequired模块3passpasspassfail
结果passfailpasspass

四、sudo命令

1、sudo命令的用途与用法

用途:以其他用户身份(如root)执行授权的命令
用法:sudo授权命令

2、使用sudo机制提升

visudo或vi /etc/sudoers?

3、语法格式

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

用户:直接授权指定的用户名;主机名:使用此规则的主机名;(用户):用户能够以何种身份来执行命令;命令程序列表:允许授权的用户通过sudo方式执行的特权命令。

4、参数选项

?-l: 列出用户在主机上可用的和被禁止的命令;
-v:验证用户的时间戳;
-u: 指定以以某个用户执行特定操作;
-k:删除时间戳,下一个sudo 命令要求用求提供密码;

5、Linux的visudo中4个all代表的含义

从左到右第一个all是用户
从左到右第二个all是机器
从左到右第三个all是新用户身份(run_as_user,如root,oracle)
从左到右第四个all 是命令

6、启用sudo操作日志

visudo                             //进入编辑
Defaults logfile = /var/log/sudo   //将该命令添加至最后一行:wq保存并退出即可

7、实例

在这里插入图片描述

在这里插入图片描述?在这里插入图片描述

在这里插入图片描述?

五、别名创建

格式:

用户别名: User_Alias
主机别名: Host_Alias
命令别名: Cmnd_Alias

实例:

User_Alias ADMIN=admin1,admin2,admin3             用户的别名users包括:admin1,admin2,admin3
Host_Alias HOST=localhost   主机别名hosts包括:localhost,hellolee
Cmnd_Alias CMD=/sbin/*,!/sbin/reboot,!/sbin/poweroff
ADMIN HOST=CMD        相当于:用户组   主机组  =  命令程序列表

?六、开关机安全控制

1、调整BIOS引导设置

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

2、GRUB限制

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

3、限制更改GRUB 引导参数

通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁。
可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数

grub2-mkpasswd-pbkdf2 			        #根据提示设置GRUB 菜单的密码
PBKDF2 hash of your password is grub.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
cat << EOF
set superusers="root"					#设置用户名为root
password_pbkdf2 root grub.pbkdf2……		#设置密码,省略部分内容为经过加密生成的密码字符串
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg	#生成新的 grub.cfg 文件

根据提示设置GRUB菜单的密码

在这里插入图片描述?

编辑/etc/grub.d/00_header文件

在这里插入图片描述?

在这里插入图片描述?

找到GRUB配置文件,先进行一个备份,防止出现问题,然后再重新生成一个新的grub菜单,重新虚拟机

在这里插入图片描述?

在这里插入图片描述?

七、终端登录安全控制

安全终端配置:/etc/securetty

禁止root用户登录

vi /etc/securetty           
#tty5           想要不让在哪个终端登陆就在该终端前加注释#
tty6     

禁止普通用户登录

touch /etc/nologin			#创建/etc/nologin文件即禁止普通用户登录
rm -rf /etc/nologin			#删除该文件即取消登录限制

八、系统弱口令检测

1、相关介绍

1.1? Joth the Ripper(JR)
密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度

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

1.3? 检测弱口令账号
获得Linux/Unix服务器的shadow文件
执行john程序,将shadow文件作为参数

1.4? 密码文件的暴力破解
准备好密码字典文件,默认为paaword.lst
执行john程序,结合wordlist=字典文件

2、弱命令检测过程

#解压工具包
cd /opt
tar. zxf john-1.8.0.tar.gz
#安装软件编译工具
yum install -y gcc gcc-c++ make
#切换到src子目录
cd /opt/john-1.8.0/src
#进行编译安装
make clean linux-x86-64
#准备待破解的密码文件
cp /etc/shadow /opt/shadow.txt
#执行暴力破解
cd /opt/john-1.8.0/run
./john /opt/shadow.txt
#查看已破解出的账户列表
./john --show /opt/shadow.txt
#使用密码字典文件
> john. pot
#清空已破解出的账户列表,以便重新分析
./john --wordlist=./password.1st /opt/shadow.txt
#使用指定的字典文件进行破解

实例:

九、网络端口扫描

?1、控制位

SYN ?建立链接
ACK ?确认
FIN ?结束断开
PSH ?传送 0 数据缓存 ? 上层应用协议
RST ?重置
URG ?紧急
2、网络扫描

rpm -ivh /mnt/Packages/nmap-xxxx.rpm安装软件包
nmap -sT(TCP连接扫描) 127.0.0.1、 ? 192.168.4.0/24、 ? 192.168.4.100-200

选项:
-sU:UDP扫描
-sP:ICMP扫描
-sS:TCP syn扫描
-sF:TCP fin扫描
-sT: TCP连接扫描? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -P0: 跳过ping检测? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -p: 指定扫描的端口。
-n: 禁用反向DNS解析? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 21,22:扫描多个端口,用逗号进行分隔

实例:快速检测192.168.150.0/24网段中有哪些存活主机(能ping通)

[root@localhost ~]# nmap -sP 192.168.150.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2019-11-17 16:56 CST
Nmap scan report for 192.168.150.1
Host is up (0.00023s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.150.2
Host is up (0.00011s latency).
MAC Address: 00:50:56:E6:2C:E2 (VMware)
Nmap scan report for 192.168.150.133
Host is up (0.00036s latency).
MAC Address: 00:0C:29:D1:2D:03 (VMware)
Nmap scan report for 192.168.150.143
Host is up (0.00031s latency).
MAC Address: 00:0C:29:3D:EA:1F (VMware)
Nmap scan report for 192.168.150.254
Host is up (0.00015s latency).
MAC Address: 00:50:56:E8:F1:D3 (VMware)
Nmap scan report for 192.168.150.157
Host is up.
Nmap done: 256 IP addresses (6 hosts up) scanned in 1.70 seconds

总结

? ? ? ?虽然说linux系统安全,高效,稳定,但如果平时不注意安全优化,也不会安全,通过本文的总结,学会如何使用账户安全,系统引导和登录的安全,以及弱口令检测,网络扫描工具。

?

?

?

?

?

?

?

?

?

?


?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 17:05:14  更:2021-08-23 17:07:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 10:09:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计