zabbix应用---检查ssh登录ip

简介:

案例:最近新弄了一个项目,为了确保项目的安全。自己就做了一个zabbix检查ssh登录ip的东西,这里给大家分享下

步骤:

  1. 自定义zabbix检查ssh登录ip的key

    cat /etc/zabbix/zabbix_agentd.d/sanguo_check_ssh.conf

    UserParameter=sanguo.check.ssh, who | wc -l  #这里的作用是检查ssh登录了几个终端

    重启zabbix_agentd

  2. 写一个检查ssh登录ip的脚本

  3. 在zabbix上创建一个模板

  4. 创建应用程序,application   创建监控项item

    自定义key

    cat sanguo_check_ssh.conf

    UserParameter=sanguo.check.ssh, who | wc -l

    这里的主要作用是定义监控的时间范围

    wKiom1ch1WyBB1TZAACjjWKRPmw523.png


  5. 创建trigger

    这里的主要作用是检查ssh的登录终端数量,如果不为0 就触发报警

    wKiom1ch1Z-QlTzGAABi7RdVy2c004.png

  6. 创建actions

    当ssh登录终端在特定的时间不为0 的时候就触发脚本,踢掉登录的ssh并把ip加入防火墙

    这里执行脚本要把zabbix加入sudo权限。zabbix客户配置文件开启对远程命令的支持EnableRemoteCommands=1

    wKiom1ch1bfBvulTAAC8QcdjiXo753.png

    这里就大功告成了

    这里我把模板上传上来

1
2
3
4
5
6
7
8
9
10
11
12
13
  检查 ssh 登录的脚本如下
  #!/bin/bash
  ip=`w |  awk  '/用户/{print $3}' `
  w |  awk  '/用户/{print $2}'  xargs  -i pkill - kill  -t {}
  for  IP  in  $ip
  do
         if  [ $IP ==  "ip"  ]; then
                 echo  "attention:The invasion from $IP of office"  | mail -s  "attention,please check"  13651602471@139.com
         else
                 iptables -I INPUT 1 -s $IP -j DROP 
                 echo  "attention:The invasion from $IP of outside"  | mail -s  "attention,please check"  13651602471@139.com
         fi
  done



本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1768720,如需转载请自行联系原作者
相关文章
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
598 14
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
437 0
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
2313 1
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
8130 5
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
327 9
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
477 4
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p 'yourpassword' ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
1759 4
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
2862 1
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
1344 0
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?

热门文章

最新文章

推荐镜像

更多