linux 安全基本防护 用户提权 ssh访问控制

时间:2023-02-02 22:29:48

linu安全应用

信息安全分类:
物理安全:主机/机房环境
系统安全:操作系统
应用安全:各种网络服务,应用程序
网络安全:网络访问控制,防火墙规则
数据安全:信息的备份与恢复,加密解密
管理安全:保障性的规范,流程,方法

——————————————————————————————————————————————————————
linux基本防护:
系统账号安全
与用户相关的常用命令
useradd userdel usermod shwan chage passwd
与用户相关的配置文件
/etc/passwd /etc/shadow /etc/login.defs
管理用户passwd 选项 用户名
选项
-l:锁定
-u:解锁
-S:状态

管理用户usermod 选项 用户名
-L:锁定
-U:解锁
-s:修改shell

管理用户chage 选项 用户名
-E 年-月-日:账号有效期
-d:用户修改密码的最后时间

阻止普通用户关机
配置目录/etc/security/console.apps
[root@158 ~]# mkdir -m 700 locked
[root@158 ~]# mv poweroff(其他程序类似于reboot halt等) locked

伪装登陆提示
本地登陆 /etc/issue
[root@158 ~]# vim /etc/issue
Anonymous
远程登陆 /etc/issue.net
[root@158 ~]# vim /etc/issue.net
Anonymous

文件系统安全:
历史命令控制
[root@158 ~]# vim /etc/profile
export HISTTIMEFORMAT=' %F %T ' 加上命令显示执行时间
HISTSIZE=1000 默认1000条记录
[root@158 ~]# source /etc/profile使命令生效

程序和服务的控制
禁用非必要的系统服务:chkconfig ntsysv
禁止平台用户执行init.d目录下的脚本:
[root@158 ~]# chmod o-x /etc/init.d/ 限制"other"权限

文件系统的规划和挂载
/boot /home /var等单独分区
mount挂载选项
[root@158 ~]# vim /etc/fstab
/dev/sdb1 /disk ext4 defaults 0 0 (开机自动挂载)
defaults默认挂载
参数:rw, suid, dev, exec, auto, nouser, async, and relatime.
-o nosuid:禁用suid sgid特殊权限
-o noexec:禁止运行二进制文件

锁定/解锁保护文件
/etc/hosts,/etc/sysconfig/network,/etc/resolv.conf
/etc/passwd,/etc/shadow,/etc/profile,/etc/bashrc
ext3/ext4的文件属性控制:lsattr(查看),chattr(更改)
属性i:不可变
属性a:仅可追加
[root@158 opt]# lsattr sql.txt(查看)
-------------e- sql.txt
+ - =控制方式
[root@158 ~]# chattr +i /etc/hosts (更改)

——————————————————————————————————————————————————————————————

用户切换/提权

用户切换 su 切换到root用户
su 用户名 只切换用户,不切换到用户的系统环境
su - 用户名 切换用户的同时,切换到用户的系统环境
su -c "命令" 用户名 切换到用户身份执行命令,需要输入用户的密码 su -c "mkdir /root/a.txt" root

用户提权(root给普通用户提权)
/etc/sudoers 主配置文件
visudo 打开配置文件的命令 等效与vim /etc/sudoers
[root@158 ~]# grep -v '^$\|^#' /etc/sudoers(去掉空行和#号)
root ALL=(ALL) ALL
授权记录格式:
用户 主机列表=命令列表
%用户组名 主机列表=列表命令
示例:
[root@158 ~]# vim /etc/sudoers
hydra localhost,158=/etc/init.d/mysql status(本机登陆,本机主机名)
hydraxx localhost,158=/etc/init.d/httpd * , /usr/bin/vim /etc/httpd/conf/httpd.conf(*表示可以执行http服务的所有命令,命令要用绝对路径)
hydraxxx localhost,158=/sbin/* , !/sbin/rm -rf(!取反,sbin下的什么命令都可以用,但是不能用rm命令)
%web localhost,158=/sbin/service httpd * , /usr/bin/vim /etc/httpd/conf/httpd.conf, NOPASSWD:ALL(%web用户组 NOPASSWD:ALL表示不需要密码)
普通用户调用提权命令
sudo -l 查看自己可以使用的提权命令(首次查看需要输入自己的密码)
[hydra@158 ~]$ sudo /etc/init.d/mysql status(调用提权命令要加上sudo)

别名设置(别名名称必须大写)
给用户定义别名
vim /etc/sudoers
User Aliases 别名名称=用户列表
User_Alias ADMINS = jsmith, mikem

给命令定义别名
vim /etc/sudoers
Cmnd_Alias 别名名称=命令列表
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

给客户端地址定义别名
vim /etc/sudoers
Host Aliases 别名名称=主机名列表
Host_Alias MAILSERVERS = smtp,smtp2

示例:调用用户别名和命令别名,以及客户端地址别名
[root@158 ~]# vim /etc/sudoers
ADMINS localhost,158=SOFTWARE,DELEGATING, NOPASSWD:ALL
ADMINS smtp=SOFTWARE,DELEGATING, NOPASSWD:ALL

启动sudo日志,记录普通用户登陆后执行过的提权命令
[root@158 ~]# vim /etc/sudoers
Defaults logfile="/var/log/sudo"(日志路径)

————————————————————————————————————————————————————————————————

ssh访问控制

ssh服务常用的配置选项(修改服务主配置文件)
/etc/ssh/sshd_config
Port 22 默认端口
ListenAddress 0.0.0.0 默认ip,允许所有
LoginGraceTime 2m 输入密码错误后等2分钟
MaxAuthTries 6 每连接最多错误次数
示例:
[root@158 ~]# vim /etc/ssh/sshd_config
Port 6798(默认22端口,修改为6798)
ListenAddress 192.168.4.158(登陆ip)
LoginGraceTime 2m
MaxAuthTries 6
[root@158 ~]# /etc/init.d/sshd restart
[root@room1pc01 ~]# ssh -X -p 6798 root@192.168.4.158(访问测试)

使用黑白名单控制
白名单:(在白名单列表的用户可以连接)
[root@158 ~]# vim /etc/ssh/sshd_config
AllowUsers root@192.168.4.158 hydra(root用户在192.168.4.158才可以登陆)
AllowGroups(允许web用户组可以连接)
黑名单:(不在黑名单列表的就可以连接)
[root@158 ~]# vim /etc/ssh/sshd_config
DenyUsers root(不允许root在其他客户端连接)
DenyGroups web(不允许web用户组内的用户连接)

设置ssh服务登陆认证方式(密钥)

客户端配置
[root@158 ~]# ssh-keygen 创建密钥对
/root/.ssh/ 密钥存放目录
[root@158 ~]# ssh-copy-id root@192.168.4.254 把生成的公钥上传到ssh服务器

服务器端启用密钥认证登陆
[root@room1pc01 桌面]# vim /etc/ssh/sshd_config
PasswordAuthentication no(关闭密码登陆)
PubkeyAuthentication yes(启用密钥认证)
AuthorizedKeysFile .ssh/authorized_keys(密钥目录)

————————————————————————————————————————————————————————————————————

linux 安全基本防护 用户提权 ssh访问控制的更多相关文章

  1. 四十四.Linux基本防护 用户切换与提权 SSH访问控制 SELinux安全 、SSH访问控制 SELinux安全

     1.Linux基本防护措施 与用户相关的配置文件 /etc/passwd   /etc/shadow  /etc/group /etc/gshadow  /etc/login.defs /etc/s ...

  2. adore-ng笔记和Linux普通用户提权

    官网:https://github.com/trimpsyw/adore-ng 安装: [root@xuegod63 ~]# unzipadore-ng-master.zip [root@xuegod ...

  3. Linux用户提权管理方案

    提权管理方案背景: 如果一个公司有10余个运维或网络安全人员,同时管理服务器,切换到管理员用户时(su - root),必须要有root管理员密码,如果其中一人修改过root密码,其他用户则登录不了, ...

  4. Centos普通用户提权至ROOT

    1.利用/bin/ping的漏洞普通用户提权.(rws中的s) [root@localhost ~]# ls -l /bin/ping -rwsr-xr-x. root root 9月 /bin/pi ...

  5. Linux Kernel ‘perf’ Utility 本地提权漏洞

    漏洞名称: Linux Kernel ‘perf’ Utility 本地提权漏洞 CNNVD编号: CNNVD-201309-050 发布时间: 2013-09-09 更新时间: 2013-09-09 ...

  6. Linux Kernel ‘kvm_set_memory_region()’函数本地提权漏洞

    漏洞名称: Linux Kernel ‘kvm_set_memory_region()’函数本地提权漏洞 CNNVD编号: CNNVD-201306-343 发布时间: 2013-06-20 更新时间 ...

  7. NO29 用户提权sudo配置文件详解实践--志行为审计

     用户提权sudo配置文件详解实践: 放到visudo里:  验证权限:

  8. Linux用户的基本操作3 (组的基本管理,用户提权)

    目录 组的基本原理 用户身份切换 5.用户身份提权 组的基本原理 组账户信息保存在/etc/group 和/etc/gshadow 两个文件中. /etc/group组账户信息 [root@zls ~ ...

  9. linux普通用户提权操作

    [root@test1 ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALLzhouyu ...

随机推荐

  1. 2013 duilib入门简明教程 -- 响应按钮事件(4)

        上一个Hello World的教程里有一句代码是这样的:CControlUI *pWnd = new CButtonUI;     也就是说,其实那整块绿色背景区域都是按钮的区域.(这里简要介 ...

  2. 解决Android Graphical Layout 界面效果不显示

    解决Android Graphical Layout 界面效果不显示 qq463431476

  3. java 猜数字游戏

    作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>&gt ...

  4. Ferry Loading II_贪心

    Description Before bridges were common, ferries were used to transport cars across rivers. River fer ...

  5. 多线程11-Semaphore信号灯

    1.概念 Semaphore可以维护当前访问自身的线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数 2.案例 package org ...

  6. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  7. Web测试常见问题点汇总

    UI测试 [目标] 确保用户可以访问产品所提供的浏览功能.符合企业或行业标准,包含用户易用性,友好性.可操作性等 [关注点] 菜单.对话框以及上边的文字.按钮.错误提示.帮助信息.图标.位置等. [常 ...

  8. HBASE的Java与Javaweb(采用MVC模式)实现增删改查附带源码

    项目文件截图 Java运行截图 package domain; import java.io.IOException; import java.util.ArrayList; import java. ...

  9. MGR架构~单写模式架构的搭建

    一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20  单台机器 启动三实例 三  mysql 搭建: 1 建立相关目录+ mkdir -p /data ...

  10. python 回溯法 子集树模板 系列 —— 11、全排列

    问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列. 分析 这个问题可以直接套用排列树模板. 不过本文使用子集树模板.分析如下: 一个解x就是n个元素的一种排列,显然,解x的长度是固定 ...