SECURITY 服务安全与监控/su/sudo/
Linux基本防护
一.用户账号安全
1.设置帐号有效期
使用change工具
-**d 0,强制修改密码
- -E yyyy-mm-dd,指定失效日期(-1取消)**
chage命令的语法格式:
chage –l 账户名称 //查看账户信息
chage –E 时间 账户名称 //修改账户有效期
**]# chage -l root**
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
*]# chage -E 2019-05-31 tom //指定tom账户失效时间**]# chage -l tom //查看tom账户信息****最近一次密码修改时间 :5月 27, 2019密码过期时间 :从不密码失效时间 :从不帐户过期时间 :5月 31, 2019两次改变密码之间相距的最小天数 :0两次改变密码之间相距的最大天数 :99999在密码过期之前警告的天数 :7**]# chage -d 0 tom** //强制修改tom密码**]# chage -l tom**
最近一次密码修改时间 :密码必须更改
密码过期时间 :密码必须更改
密码失效时间 :密码必须更改
帐户过期时间 :5月 31, 2019
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
2.帐号的锁定/解锁**
** 使用passwd命令
— -l 锁定、-u 解锁、-S 看状态**
**]# echo 123 | passwd --stdin tom //设定tom的密码
**]# passwd -l tom //锁定用户 tom 的密码 。
**]# passwd -S tom //查看tom密码状态
**tom LK 1970-01-01 0 99999 7 -1 (密码已被锁定。)
**]# passwd -u tom //解锁用户 tom 的密码。**********
3.强制定期修改密码
配置文件/etc/login.defs
-对新建的用户有效
主要控制属性
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_WARN_AGE
]# vim /etc/login.defs // 定义默认有效期
PASS_MAX_DAYS 99999 (用户有效期 $ [99999/365]=273)
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
4.伪装登录信息]
配置文件/etc/issue、 /etc/issue.net
–分别适用于本地、远程登录
–默认会提示内核、系统等版本信息
修改tty登录的提示信息,隐藏系统版本
1)账户在登录Linux系统时,默认会显示登陆信息(包括操作系统内核信息)
/etc/issue这个配置文件里保存的就是这些登陆信息,修改该文件防止内核信息泄露。
]# cat /etc/issue //确认原始文件
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel \r on an \m
]# cp /etc/issue /etc/issue.origin //备份文件
]# vim /etc/issue //修改文件内核信息
“Windows Server 2012 Enterprise R2”
“NT 6.2 Hybrid”
2)测试版本伪装效果
退出已登录的tty终端,或者重启Linux系统,刷新后的终端提示信息会变成自定义的文本内容,如图-1所示。
]# ssh root@192.168.4.52 //退出linux,重启系统
]# cat /etc/issue
“Windows Server 2012 Enterprise R2”
“NT 6.2 Hybrid”
文件系统安全
1.程序和服务控制
禁用非必要的系统服务
----使用systemctl、chkconfig工具
]# chkconfig httpd off (RedHat 6)
]# chkconfig httpd on
]# service httpd start
]# service httpd stop
``
]# systemctl enable httpd (RedHat7)
]# systemctl disable httpd
]# systemctl start httpd
]# systemctl stop httpd
*2.锁定/解锁保护文件*.EXT3/EXT4的文件属性控制
-- chattr 、lsattr
+、-、=控制方式-----属性 i:不可变 (immutable)
-----属性 a:仅可追加 (append only)===============]# chattr +i /etc/hosts]# echo "1.2.3.4 wwww.qqq.com" >> /etc/hosts-bash: /etc/hosts: 权限不够]# chattr -i /etc/hosts]# echo "1.2.3.4 wwww.qqq.com" >> /etc/hosts======================
练习:
]# useradd zhangsan //创建用户zhangsan
]# chage -E 2017-12-31 zhangsan //使xx用户在2017.12.31日失效
]# passwd -l zhangsan //临时锁定zhangsan用户
]# passwd -S zhangsan //验证效果
]# echo 123 | passwd --stdin zhangsan
]# passwd -u zhangsan //解除对zhangsan用户的锁定]# chattr +i /etc/resolv.conf //锁定文件
]# chattr +i /etc/hosts //锁定文件
]# cat /etc/issue //确认原始文件
]# cp /etc/issue /etc/issue.origin //备份文件
]# vim /etc/issue //修改tty终端提示
"Windows Server 2012 Enterprise R2" //设置登录前看到的内容,防止版本内核信息泄露
"NT 6.2 Hybrid"########################################################################
**二.用户切换与提交****2.1. Su切换用户身份2.1.1切换与提交的应用场景
.切换用户身份,when?
-SSH远程管理
-运维测试
.提升执行权限,when?
--管理权限细分2.1.2 Su切换的基本用法
Substiute User,换人
--快速切换为指定的其他用户
-普通用户执行时,需验证目标用户的口令
-root用户执行时,无需验证命令命令格式
-用法1:su 【-】【目标用户】
-用法2:su 【-】-c “命令”【目标用户】1)从普通用户切换为root账户身份(如果没有普通账户则需要先创建)
=```
]# useradd lxh
]# echo 123 | passwd --stdin lxh
]# su - lxh //切换到普通用户lxh
]$ whoami //查看当前用户
]$ su - //默认切换到root用户
]# whoami //确认结果`2)以普通身份创建文件(如果没有普通账户则需要先创建),以root身份重启服务=====root]# su - lxh -c "touch /tmp/test.txt" //管理员切换普通用户创建文件root]# ll /tmp/test.txt root]# su - lxhlxh]$ ls lxh]$ ls /tmp/test.txt lxh]$ su - -c "systemctl restart sshd"密码:lxh]$ su - root2.1.3****Su操作示例****从普通用户切换为root,并登录新的Shell环境--执行su -,或者 -root--不指明目标用户时,默认视为root=]$ whoami //查看当前用户]$ su - //默认切换到root用户]# whoami //确认结果---root以指定的普通用户身份执行任务
---以用户tom的身份创建目录
--以用户tom的身份执行管理员操作会出错===]# su - tom -c "mkdir /home/tom/test"]# su - nb -c "systemctl restart sshd"Error creating textual authentication agent**2.1.4 分析su切换的使用情况**
安全日志/var/log/secure
记录su验证、Shell开启与关闭=root]# tail /var/log/secureMay 27 12:08:27 52 su: pam_unix(su-l:session): session closed for user nbMay 27 12:12:26 52 su: pam_unix(su-l:session): session opened for user tom by root(uid=0)opened ---su切换登入成功
Closed---su会话断开成功**2.2 Sudo提升执行权限**2.2.1.Sudo提权的基本用法Super or another Do, 超级执行
--管理员预先为用户设置执行许可
--被授权用户有权执行授权的命令,验证自己的口令
命令格式1 :sudo 特权命令
命令格式2:sudo 【-u 目标用户】 特权命令
查看自己的sudo授权:sudo -l==]# sudo -l 用户 root 可以在 52 上运行以下命令:(ALL) ALL]# sudo -u lxh mkdir /tmp/mdir //以用户lxh的权限新建一个文件夹 ]# ls -ld /tmp/mdir/drwxr-xr-x. 2 lxh lxh 6 5月 27 12:25 /tmp/mdir/ //查看文件夹的所属权限=52 ]# sudo -u lxh mkdir /tmp/mdir //以用户lxh的权限新建一个文件夹 52]# ls -ld /tmp/mdir/drwxr-xr-x. 2 lxh lxh 6 5月 27 12:25 /tmp/mdir/ //查看文件夹的所属权限***2.2 .1用户提权作用:配置系统的普通用户可以执行root用户的命令****2.2.2主配置文件 /etc/sudoers2.2.3 修改文件
]# vim /etc/sudoers
或
]# visudo2.2.4 提权配置格式
普通用户名 主机名=命令列表
%用户组名 主机名=命令列表(绝对路径)2.2.5 普通用户执行sudo提权命令2.2.6 普通用户查看可以使用提权的命令:sudo -l2.2.7 提权列子:=]# vim /etc/sudoersdachui localhost,52=/usr/bin/systemctl * httpd, /usr/bin/vim /etc/httpd/conf/httpd.confteichui localhost,52=/usr/bin/systemctl * mysqld, /usr/bin/vim /etc/my.cnfnb localhost,52=/usr/bin/systemctl * httpd, /usr/bin/systemctl * mysqld , /usr/bin \/vim /etc/httpd/conf/httpd.conf, /usr/bin/vim /etc/my.cnf2.2.8别名设置(给多个值,起一个)
命令别名 Cmnd_Alias 名字=命令列表
主机别名 Host_Alias 名字=主机名列表
用户别名 User_Alias 名字=用户名列表
==
cmnd_Alias MGMWEB=/usr/bin/systemctl * httpd , /usr/bin/vim
/etc/httpd/conf/httpd.conf
Cmnd_Alias MGMDB=/usr/bin/systemctl * mysqld , /usr/bin/vim /etc/my.cnf
Cmnd_Alias MGMSOFT=/usr/bin/rpm , /usr/bin/yum
Host_Alias MYSER=localhost,host52
daichui MYSER=MGMWEB , MGMSOFT
tiechui MYSER=MGMDB , MGMSOFT
nb MYSER=MGMWEB , MGMDB , MGMSOFT
2.2.9 启用日志
作用:记录普通用户执行过的提权命令
]# vim /etc/sudoers
Defaults logfile="/var/log/sudo.log"
SECURITY 服务安全与监控/su/sudo/相关推荐
- sudo su su_Spring Security应用程序中的su和sudo
sudo su su 很久以前,我从事的项目具有很强大的功能. 有两个角色:用户和主管. 主管可以以任何方式更改系统中的任何文档,而用户则更受工作流约束的限制. 当普通用户对当前正在编辑并存储在HTT ...
- Spring Security应用程序中的su和sudo
很久以前,我从事的项目具有很强大的功能. 有两个角色:用户和主管. 主管可以以任何方式更改系统中的任何文档,而用户则更受工作流约束的限制. 当普通用户对当前正在编辑和存储在HTTP会话中的文档有疑问时 ...
- Nagios—服务和性能监控
Nagios-服务和性能监控 简介: Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios可运行在Linux ...
- su sudo gksudo-转
这几个命令的相同点和不同点... login shell & non-login shell login shell: 登录shell, 会执行.bash_profile和.bashrc, 需 ...
- linux命令学习(23 24)-su sudo
[命令名称] su [使用权限] 所有人 [命令语法] su [-lm] [-c] [username] [功能说明] 切换身份命令 [常用参数] -|-l 使用一个shel ...
- prometheus+consul 服务自动发现监控
prometheus+consul 服务自动发现监控 搭建prometheus监控平台请参考:https://blog.csdn.net/han949417140/article/details/11 ...
- 【Linux命令】su sudo
sudo = Super user do 超级用户do su = Shift/Switch user 切换用户 1. su su命令是当前用户用来切换到另一个用户的命令,参数为用户名.执行时会要求输入 ...
- 微服务调用链监控开源工具CAT
1 监控在微服务架构的地位 2 为何需要调用链监控? 在初期的单体应用,应用都打在一个包中,无分布式概念,监控也只需对一些埋点监控. 但是微服务时代下,很多服务在各自的包,一旦出现问题,没有调用链监控 ...
- 基于 JSch 实现服务的自定义监控解决方案
一.基于 JSch 实现服务的自定义监控 JSch 是 SSH2 的一个纯 Java 实现.它允许你连接到一个 sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 ...
最新文章
- python中scale的用法_Python Decimal scaleb()用法及代码示例
- Dapr牵手.NET学习笔记:想入非非的服务调用
- mysql日志管理_关于MySQL的日志管理(binlog)
- 【转】2.3【MySQL】运行原理(三)InnoDB 逻辑存储结构
- java lookandfeel nimbus_动态改变LookAndFeel
- Java笔记-连接本地代理服务
- MongoDB语法与现有关系型数据库SQL语法比较
- zcmu——4939: 大整数排序
- 推荐!32个好用的百度网盘搜索引擎
- MySQL关系运算和连接运算,数据库的关系运算和完整性约束
- EDI Capability 表示什么?
- IIS的配置和网站发布
- python程序设计(江红)第1课时
- Chef 的安装与使用
- USB设备未被识别为HID,而是libusb-win32-device BETTER_USB_HS
- unity查找物体方法
- Pandas的学习之——使用Pandas进行描述性统计
- 王守仁英国文学选读第3、4版笔记和课后答案
- android的发音功能实现,为Android TTS引擎指定发音的最佳做法?
- 苹果新手Mac OS X 使用笔记--------系统自带截屏功能快捷键巧记图