linux 系统安全以及应用
这里写目录标题
- 账号安全基本措施
- 系统账号清理
- 锁定和解锁长期不用账户,有2种命令
- 删除无用的账户
- 密码安全控制
- 使用su命令切换用户
- 用途及用法
- 限制使用su命令的用户
- Linux中的PAM安全认证
- su命令的安全隐患
- PAM(Pluggable Authentication Modules)可插拔式认证模块
- PAM的认证原理
- PAM的认证构成
- 认证类型
- ## #认证类型####
- 控制类型
- 使用sudo机制提升权限
- sudo命令的用途及用法
- 配置sudo授权
- 查看sudo操作记录
- 查询授权的sudo操作
- 开关机安全控制
- ■调整BIOS引导设置
- ■GRUB限制
- CentOS6.5的改法
- CentOS7.0上改法
- 终端登录安全控制
- 系统弱口令检测
- 网络端口扫描
- NMAP
账号安全基本措施
系统账号清理
●将非登录用户的Shel设为/sbin/nologin
●锁定长期不使用的账号
●删除无用的账号
●锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow
Isattr /etc/passwd /etc/shadow
锁定文件并查看状态
锁定和解锁长期不用账户,有2种命令
删除无用的账户
密码安全控制
■密码安全控制
●设置密码有效期
●要求用户下次登录时修改密码
命令历史限制
●减少记录施命令条数
右缩进
●注销时自动清空命令历史
终端自动注销
闲置600秒后自动注销
使用su命令切换用户
用途及用法
●用途: Substitute User,
切换用户
●格式
su-目标用户
■密码验证
●root>任意用户,不验证密码
●普通用户→其他用户,验证目标用户的密码
su - root ###带-选项表示将使用目标用户的登录Shell环境
whoami ###查看登录用户
限制使用su命令的用户
●将允许使用su命令的用户加入wheel组
●启用pam_ wheel认证模块
gpasswd -a tsengyia wheel ###正在将用户"tsengyia’加入到"wheel"组中
Linux中的PAM安全认证
su命令的安全隐患
●默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险
●为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
PAM(Pluggable Authentication Modules)可插拔式认证模块
●是一种高效而且灵活便利的用户级别的认证方式
●也是当前Linux服务器普遍使用的认证方式
PAM的认证原理
■一般遵循的顺序;
●Service (服务) →PAM (配置文件) →pam_ *.so
■首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/etc/security下)进行安全认证
■用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
■不同的应用程序所对应的PAM模块是不同的
PAM的认证构成
■查看某个程序是否支持PAM认证,可以用Is命令
示例:查看su是否支持PAM模块认证
Is /etc/pam.d | grep su
■查看su的PAM配置文件: cat /etc/pam.d/su
●每一行都是-个独立的认证过程
●每一行可以区分为三个字段
◆认证类型
◆控制类型
◆PAM模块及其参数
认证类型
## #认证类型####
1、认证管理(authentication management)
接受用户名和密码,进行对该用户的密码进行认证
2、账户管理(account management)
检查账户是否被允许登录系统,账号是否过期,账号的登录是否有时间限制
3、密码管理(password management)
主要是用来修改用户的密码
4、回话管理(session management)
主要是提供对回话的管理和记账(accounting)
控制类型
#####控制类型###
控制类型也可以叫control falgs用于PAM验证类型的返回结果,
具有以下四种类型:
1: required验证失败时仍然继续,但返回fail
2: requisite验证失败则立即结束整个验证过程,返回fail
3: sufficient验证成果则立即返回,不再继续,否则忽略结果并继续
4: optional不用于验证,只是显示信息(通常用于session)
使用sudo机制提升权限
sudo命令的用途及用法
●用途:以其他用户身份(如root) 执行授权的命令
●用法:sudo 授权命令
配置sudo授权
查看sudo操作记录
●需启用Defaults logfile配置
●默认日志文件: var/log/sudo
查询授权的sudo操作
sudo -l
开关机安全控制
■调整BIOS引导设置
●将第一引导设备设为当前系统所在硬盘
●禁止从其他设备(光盘、U盘、网络)引导系统
●将安全级别设为setup,并设置管理员密码
■GRUB限制
●使用grub2-mkpasswd-pbkdf2生成密钥
●修改/etc/grub.d/00_ header文件中, 添加密码记录
●生成新的grub.cfg配置文件
#######开关机安全控制####
GRUB菜单限制
1、未经授权禁止修改启动参数
2、未经授权精致进入指定系统
密码设置方式(grub.conf)
1、password明文密码串
2、password --md5加密密码串
密码记录的位置
1、全局部分(第- -个"title"之前)
2、系统引导部分(每个"title" 部分之后)
GRUB限制的实现
1、使用grub-md5-crypt获得加密字串
2、修改grub.conf文件,添加密码记录
CentOS6.5的改法
grub-md5-crypt ###设置密码,设置完毕后有一串密文,复制好
vi /boot/grub/grub.conf ####在title centos (2… 的. 上面插入password --md5 XXXXXXXX ###这边XXXX的意思是刚才设置的密文
####设置完毕后:wq保存######
###验证###
重启后再想修改该按e键按不动了。要先按p然后输入密码。
设置了grub菜单密码就不能设置root密码了
CentOS7.0上改法
grub2-setpassword ###设置密码1 23456
重启开机,进入grub菜单,按e键,需要输入账号密码##这边是用root设置的使用root密码123456
终端登录安全控制
I限制root只在安全终端登录
●安全终端配置: /etc/securetty
■禁止普通用户登录
●建立/etc/nologin文件
●删除nologin文件或重启后即恢复正常
touch /etc/nologin
禁止普通用户登录
rm -rf /etc/nologin
取消上述登录限制
系统弱口令检测
■安装JR工具
安装方法
make clean系统类型
主程序文件为john
■检测弱口令账号
获得Linux/Unix服务器的shadow文件
●执行john程序,将shadow文件作为参数
■密码文件的暴力破解
●准备好密码字典文件,默认为password.lst
●执行john程序,结合-Wordlist=字典文件
网络端口扫描
NMAP
●一款强大的网络扫描、安全检测工具
●官方网站: http://nmap.org/
●CentOS 7.3光盘中安装包nmap-6.40-7.el7.x86_ _64.rpm
■NMAP的扫描
nmap [扫描类型] [选项] <扫描目标…>
■常用的扫描类型
●-sS、 -sT、-sF、 -sU、 -sP、 -P0
linux 系统安全以及应用相关推荐
- 【Linux系统】基础总结
我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...
- Linux系统中创建大文件,并作为文件系统使用
在LInux系统的使用过程中,有时候会遇到诸如某个磁盘分区的大小不够用了,导致其下的文件系统不能正常写入数据.亦或者是系统swap分区太小,不够用或者不满足条件而导致的其他一系列问题.如果我们系统上挂 ...
- Linux系统开发之路-中
4.Linux的安装(Windows环境下): 1)Windows环境需要借助虚拟机来安装Linux系统,这个推荐使用的软件是VMWare,官网能下载到的最新版本是Workstation Pro15. ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等
内网的linux系统要安装nodejs以及express等系列的框架,因为系统是局域网和互联网是物理隔离的,所以,没法像官网的安装教程那样直接install了,只能手动安装,这里已经我们自己的linu ...
- linux源码安装浏览器,Linux系统手动安装Firefox浏览器
大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如: Debian/Ubuntu: sudo apt-get install firefox Fedora: s ...
- 计划任务执行php文件,linux系统下添加计划任务执行php文件方法
在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务. 方法/步骤 1.打开linux系统命令行界面. 在命令行界面中输入如下命令: ...
- .tar.gz mysql 安装_mysql tar.gz 版本 linux系统的安装-Go语言中文社区
mysql下载地址: https://dev.mysql.com/downloads/mysql/ 1. 上传下载的tar.gz文件发送到linux 上传的路径: /usr/local/mysql/ ...
- qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...
- 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
最新文章
- php后台守护进程+进程信号处理
- SpringMvc之整合DWR3.0.0推送消息
- Tensorflow 读取XML文件内容并对图片等比例缩放
- mysql Range按时间分区问题 Table has no partition for value 737669
- 三星i9018root方法
- 一次bug调试经验----To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
- ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试再次测试
- 关于编程学习的一些思考
- 信息学奥赛一本通C++语言——1004:字符三角形
- shell信息查看脚本linux,每次登录Shell时使用shell脚本查看Linux上的系统信息
- 阿里安全体系获国际顶会表彰,安全技术将有九大新趋势
- 「一本通 6.5 练习 3」迷路
- 数据库与表的操作之SQL Server 2012中的数据类型
- python曲线库_测井曲线储量python库lasio解读使用
- 基于simulink的模糊PID控制器设计与仿真
- 免费个人简历模板、PPT模板网址大全
- Nginx服务器上安装SSL证书
- HR最不认同的5大跳槽理由排行榜
- python读写html文件乱码问题
- 递归最小二乘(RLS)算法详解