| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 系统安全与应用 -> 正文阅读 |
|
[系统运维]系统安全与应用 |
目录 账号安全基本措施? 系统账号清理
查看用户命令 cat /etc/passwd 在使用yum install命令时他会自动给一个用户并且其shell设备为/sbin/nologin无法登录状态。
查看用户或者目录文件是否被锁。 Chattr +I /etc/passwd 对用户系统文件进行加锁,最终结果为无法再次创建用户 对文件进行加锁 查看结果 对这个文件进行修改已经无效了 删也删不掉限制的非常死 对其解锁 chattr -i /1.txt ?????? 3.删除无用的账号 ?????? 清楚历史命令History 限制history命令查看行数 Vim /etc/profile /HISTSIZE找寻此关键词 如上,默认是保留history的1000条命令,修改其参数即可限制history 重新加载history配置文件让他在整个系统中识别 Source /etc/profile 再次使用history命令,发现的确是显示20条历史信息 清空history History -c 永久清空: Vim .bash_history 清空里面的配置文件 Vim .bash_logout 在里面输入 终端自动注销闲置n秒后自动注销 Vim /etc/profile 输入export TMOUT=40 Source /etc/profile重新激活其环境。 密码安全控制Vim /etc/login.defs PASS_MAX_DAYS 30设置密码有效期30天默认99999 PASS_MIN_DAYS #表示自上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是0 PASS_MIN_LEN 5#密码最小长度,对于root天效 注解:指定密码的最小长度↓默认不小于5位,但是现在用户登录时验证已经被PAM模块取代,所以这个选项并不生效,PASS_WARN_AGE 7“指定在密码到期前多少天,系统就开始提蘑用户密码即将到期,默认为7天。 通过pam模块来防止暴力解密Vim /etc/pam.d/sshd 在下面添加一行: Auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200 说明:尝试登陆失败超过3次,普通用户600秒解锁,root用户1200秒解锁 手动解除锁定 查看某一用户错误登陆次数: pam_tally2 –-user 例如,查看work用户的错误登陆次数: pam_tally2 –-user root 清空所用户错误登陆次数: pam_tally2 –-user –-reset 例如,清空 work 用户的错误登陆次数, pam_tally2 –-user root –-reset? 使用chage命令用于设置密码时限 chage -M 30 lisi表示该密码的最大有效天数 cat /etc/shadow | grep lisi Chage -d 0 zhangsan 强制要求张三下次登录时重置密码 验证 重启后登录张三用户发现让你重新输入密码 值得一提的是在linux系统环境中,使用su命令登录用户的情况下,是可以使用exit退出的,在环境中是一层套一层的: 限制su命令用户在/etc/pam.d/su文件里设置禁止用户使用su命令 vim /etc/pam.d/su 2 # auth sufficient pam_rootok.so 6 #auth required pam_wheel.so use_uid 两行都注释也是运行所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。) 如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令 如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。 进行试验: 打开第一行也就是上述的2命令 ?????? ?????? 如上所述在root用户下使用su命令切换到普通用户是不需要输入密码的 ?????? 注释第一行打开第二行: Zhangsan用户即不属于普通用户也不属于root用户所以其他用户使用su命令的时候是无效的。 Sudo机制提升权限通过su命令可以非常方便地切换为另一个用户,但前提条件是必须知道目标用户的登录密码。例如,若要从zhangsan 用户切换为 root 用户,必须知道 root 用户的密码。对于生产环境中的Linux 服务器,每多一个人知道特权密码,其安全风险也就增加一分。 有没有一种折中的办法,既可以让普通用户拥有一部分管理权限,又不需要将 root 用户的密码告诉他呢?答案是肯定的,使用 sudo命令就可以提升执行权限。不过,需要由管理员预先进行授权,指定允许哪些用户以超级用户(或其他普通用户)的身份来执行哪些命令。 在生产环境中一般是不给用到root权限的,但是又又操作需要使用到root用户权限,解决方法: 例1:sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 ./ 在正常使用命令前加sudo这样就可以即不用知道root用户密码也可以使用root用户权限了。但是这一切都得让管理员配置同意某个用户使用什么权限。 lisi 用户可以使用useradd usermod 需求:lisi???? root用户下的权限 useradd usermod lisi ALL=(root) NOPASSWD:/usr/sbin/useradd,PASSWD:/usr/sbin/usermod? #前面不需要输入密码 ,后面需要输入密码 再次创建用户即不用输入密码。 而后面需要密码 Netstat命令netstat命令 | 查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具 -r????????? 显示路由表信息?????????????????????????????????????????????? -a???????? 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) -l????????? 显示处于监听(Listening)状态的网络连接及端口信息。????????? -t????????? 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 -u????????? 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 -p????????? 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限 netstat -natp??? 查看正在运行的使用TCP协议的网络状态信息 netstat -naup??? 查看正在运行的使用UDP协议的网络状态信息 netstat -natlup最常使用的命令 Nmap命令-sS,TCP SYN 扫描(半开扫描):只向目标发出 SYN 数据包,如果收到 SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。 tcp确定三次握手 -sT,TCP 连接扫描:这是完整的 TCP 扫描方式,用来建立一个 TCP 连接,如果 成功则认为目标端口正在监听服务,否则认为目标端口并未开放。 -sF,TCP FIN 扫描:开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对 SYN 数据包进行简单过滤,而忽略了其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性。 -sU,UDP 扫描:探测目标主机提供哪些 UDP 服务,UDP扫描的速度会比较慢。 -sP,ICMP 扫描:类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描。 -P0,跳过 ping 检测:这种方式认为所有的目标主机是存活的,当对方不响应 ICMP 请求时,使用这种方式可以避免因无法 ping 通而放弃扫描。 Nmap -sT 127.0.0.1 扫描本地连接状况 Nmap -sT 14.215.177.38 此ip地址为百度的ip地址,使用nmap命令去扫描于百度的连接状况: 可以看到的是百度的服务器中只打开了两个服务一个为http一个为https且扫描此ip地址使用了57.23秒其中有998个端口关闭,这个命令可以用来排除所有端口中哪个是打开哪个是关闭。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/15 11:49:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |