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/相关推荐

  1. sudo su su_Spring Security应用程序中的su和sudo

    sudo su su 很久以前,我从事的项目具有很强大的功能. 有两个角色:用户和主管. 主管可以以任何方式更改系统中的任何文档,而用户则更受工作流约束的限制. 当普通用户对当前正在编辑并存储在HTT ...

  2. Spring Security应用程序中的su和sudo

    很久以前,我从事的项目具有很强大的功能. 有两个角色:用户和主管. 主管可以以任何方式更改系统中的任何文档,而用户则更受工作流约束的限制. 当普通用户对当前正在编辑和存储在HTTP会话中的文档有疑问时 ...

  3. Nagios—服务和性能监控

    Nagios-服务和性能监控 简介: Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios可运行在Linux ...

  4. su sudo gksudo-转

    这几个命令的相同点和不同点... login shell & non-login shell login shell: 登录shell, 会执行.bash_profile和.bashrc, 需 ...

  5. linux命令学习(23 24)-su sudo

    [命令名称] su [使用权限] 所有人 [命令语法] su [-lm] [-c] [username] [功能说明] 切换身份命令 [常用参数]              -|-l 使用一个shel ...

  6. prometheus+consul 服务自动发现监控

    prometheus+consul 服务自动发现监控 搭建prometheus监控平台请参考:https://blog.csdn.net/han949417140/article/details/11 ...

  7. 【Linux命令】su sudo

    sudo = Super user do 超级用户do su = Shift/Switch user 切换用户 1. su su命令是当前用户用来切换到另一个用户的命令,参数为用户名.执行时会要求输入 ...

  8. 微服务调用链监控开源工具CAT

    1 监控在微服务架构的地位 2 为何需要调用链监控? 在初期的单体应用,应用都打在一个包中,无分布式概念,监控也只需对一些埋点监控. 但是微服务时代下,很多服务在各自的包,一旦出现问题,没有调用链监控 ...

  9. 基于 JSch 实现服务的自定义监控解决方案

    一.基于 JSch 实现服务的自定义监控 JSch 是 SSH2 的一个纯 Java 实现.它允许你连接到一个 sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 ...

最新文章

  1. python中scale的用法_Python Decimal scaleb()用法及代码示例
  2. Dapr牵手.NET学习笔记:想入非非的服务调用
  3. mysql日志管理_关于MySQL的日志管理(binlog)
  4. 【转】2.3【MySQL】运行原理(三)InnoDB 逻辑存储结构
  5. java lookandfeel nimbus_动态改变LookAndFeel
  6. Java笔记-连接本地代理服务
  7. MongoDB语法与现有关系型数据库SQL语法比较
  8. zcmu——4939: 大整数排序
  9. 推荐!32个好用的百度网盘搜索引擎
  10. MySQL关系运算和连接运算,数据库的关系运算和完整性约束
  11. EDI Capability 表示什么?
  12. IIS的配置和网站发布
  13. python程序设计(江红)第1课时
  14. Chef 的安装与使用
  15. USB设备未被识别为HID,而是libusb-win32-device BETTER_USB_HS
  16. unity查找物体方法
  17. Pandas的学习之——使用Pandas进行描述性统计
  18. 王守仁英国文学选读第3、4版笔记和课后答案
  19. android的发音功能实现,为Android TTS引擎指定发音的最佳做法?
  20. 苹果新手Mac OS X 使用笔记--------系统自带截屏功能快捷键巧记图

热门文章

  1. 圆的面积(控制输出小数点位数)
  2. 60级高阶督军套装属性_《魔兽世界》【60年代】元帅/督军职业套装的浅谈
  3. STM32 GPIO 引脚中断号重复问题的分析
  4. 【java小练习】#for循环运用#打印*三角阵列
  5. 数据结构之哈希表的分离链接法java实现
  6. 数字平原制作出3A级玄幻古风场景
  7. 【人话版】WEB3将至之“权益的游戏”
  8. PMP二模知识点集锦
  9. 震惊,与gcc不得不说的故事:Linux虚拟机环境下,gcc的在线安装
  10. 从数据恢复角度分析腾讯云静默损坏