Linux 系统安全及应用

账户安全基本措施

系统账号清理

禁用程序用户登录  

usermod -s /sbin/nologin  用户名

 锁定长期不使用的账号

passwd -l  用户名              usermod -L 用户名

删除账号

userdel  [-r] 用户名

锁定文件并查看状态

chattr +i  文件位置

解锁文件

chattr -i 文件位置

密码安全控制

修改密码有效期            

仅针对已存在的用户

chage -M 天数 用户名

新建账号默认密码有效期为99999永不过期  针对新建的用户设置密码有效期

 vim /etc/login.defs  -->  PASS_MAX_DAYS 天数

强制用户下一次登录修改密码  

chage -d 0 用户名

历史命令限制

查看历史命令        history

修改历史命令限制条数

先修改环境变量 /etc/profile

可以直接修改文件中HISTSIZE=xx

也可以末尾添加命令export HISTSIZE=xx来修改环境变量保存退出

可以通过重新来加载环境变量   让修改立即生效

也可以通过source /etc/profile     或者 ./etc/profile 来刷新加载环境变量

清空历史命令      

 history -c      #临时清空


  登录即可清空历史命令

修改环境变量       

 vim /etc/profile  -->  > ~/.bash_history

su命令 切换用户

启用pan_wheel认证模块,使得普通用户加入wheel组中才能进行su切换  

vim su 打开su文件 启动pam_wheel模块   用户加入到wheel组中才能进行su命令切换

启动只需要把#号键给删除

然后保存并退出即可

这样子没有加入到wheel组中的普通用户就不可以切换了

接下来把用户加入到wheel组中

Linux中的PAM安全认证

PAM 安全认证流程

ssh远程登录输入三次密码错误则锁定用户

ssh远程登录  IP地址 即可远程连接服务端

如何操作输入三次密码错误则锁定用户

vim /etc/pam.d/sshd  
auth       required     pam_tally2.so  deny=3 unlock_time=60 even_deny_root root_unlock_time=60

deny是限制次数  time时间是锁定密码错误锁定时间

sudo提升权限

普通用户权限不够?通过sudo提权

sudo提权
visudo     vim /etc/sudoers (要用 wq! 强制保存)
#用户/组授权
用户名  主机名=程序列表                 #命令要用绝对路径表示,支持使用通配符 * 表示所有, ! 表示取反
%组名 主机名=程序列表
用户名  主机名=NOPASSWD: 程序列表       #NOPASSWD: 表示sudo不用密码验证

#别名设置
User_Alias  大写别名=用户1, 用户2, ...
Host_Alias  大写别名=主机名1, 主机名2, ...
Cmnd_Alias  大写别名=命令路径1, 命令路径2, ...
用户别名  主机别名=命令别名

#设置sudo日志路径

Defaults logfile = "/var/log/sudo.log"

     #普通用户查看有哪些sudo权限  

账户长时间不操作自动注销

在/etc/profile环境变量中修改配置

添加命令 export TMOUT=xx     保存退出

退出来重新加载一下

终端登录安全控制

限制root用户只能在哪些终端登录                   在前面加上#即可

安全终端配置    /etc/securetty

禁止普通用户登录

touch 一个/etc/nologin文件后普通用户就禁止登录了

系统弱口令检测

hydra破解

https://blog.csdn.net/2301_80115097/article/details/133751122
黑客工具之hydra详细使用教程
 

网络端口扫描

NMAP  一款强大的网络扫描(攻击者)、安全检测工具(防御者)

先使用yum进行安装

nmap命令常用的选项和扫描类型


-p:指定扫描的端口。
-n:禁用反向 DNS 解析(以加快扫描速度)。
-sS:TCP的SYN扫描(半开扫描),只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT:TCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sF:TCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU:UDP 扫描,探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢。
-sP:ICMP 扫描,类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描。
-P0:跳过ping检测,这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping 通而放弃扫描。
 

查看进程是否开启状态

systemctl status 进程名


ps aux/-elf | grep 进程名 


netstat/ss -lntup | grep 进程名/:端口


lsof -i :端口  

通过端口查看进程号

netstat -lntup | grep :端口
ss -lntup | grep :端口
lsof -i :端口  

对新服务器做过哪些初始化操作?


安装操作系统
设置网络,比如 网卡IP、网关、路由、DNS服务器地址、双网卡绑定bond(在物理机环境中使用)
设置主机名         hostnamectl set-hostname
设置ntp时间同步    ntpd    chronyd    ntpdate
设置防火墙规则     iptables  firewalld
关闭selinux        setenforce 0      /etc/selinux/config
精简开机启动服务   systemctl enable crond rsyslog network sshd
设置yum仓库镜像源  /etc/yum.repos.d/
磁盘使用lvm或raid   
升级linux内核


对服务器初始化后做过哪些安全加固?


禁止 root 用户远程登陆        /etc/ssh/sshd_config   --> PermitRootLogin no
修改 ssh 端口号               /etc/ssh/sshd_config   --> Port
普通用户限制 su 切换用户      /etc/pam.d/su
普通用户通过 sudo 授权管理    visudo   /etc/sudoers
锁定关键系统文件              chattr +i
设置历史命令保存条数          /etc/profile   HISTSIZE
设置账户超时时间              /etc/profile   TMOUT
限制用户的登录次数            /etc/pam.d/sshd
设置用户密码强度              /etc/pam.d/system-auth
接入堡垒机或跳板机
 

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值