如何检测LAN/PC中的异常活动?

如何检测LAN/PC中的异常活动?

如果发生以下任何事件,我希望通过电子邮件收到通知:

  1. 新设备在我的局域网上线(基本上访问了我的 WiFi)
  2. 我的电脑上的身份验证尝试失败
  3. 有人或某物扫描我的电脑端口
  4. 我的电脑被唤醒了
  5. 我的电脑已登录(从登录屏幕并通过 SSH)
  6. 我的网络上正在使用 ARP 投毒或类似技术

我如何监控这些事件并通过电子邮件收到通知(如果可能的话,Unity 通知也很好)?

答案1

您可以用安全做很多事情,所有这些都将是很好的教育!

我用过Fail2ban为了防止重复访问尝试,主要用于 http 黑客尝试。它读取日志文件,因此非常可配置,它有点复杂,但值得阅读。

您可以使用以下方式查看上次登录的用户最后日志命令。

命令须藤arp将显示您网络上的地址,以便您可以识别使用您无法识别的 MAC 地址进行的潜在欺骗。

iptablesfail2ban 也使用它来拒绝特定的 IP 地址或协议。(但要小心,除非您有物理访问权限)。

如果你想更深入地了解网络,可以查阅wireshark这可以捕获流量并显示 ARP 请求。

所有这些都是很好的做法,但我发现你最需要的是在你的 WiFi 上使用带有长密码的 WPA2,将其从可能打印在你的路由器上的密码更改为长密码。

使用通过 SSH 进行私钥认证. (这里也要非常小心)

希望这涵盖了您想要的大部分内容。有很多工作要做;因此无法在这里解释如何使用所有内容。

答案2

这里一个可能的解决方案是使用操作系统安全评估中心

可以从以下网址下载这里

默认情况下,它不会执行问题中列出的所有六个必需功能,必须安装一些额外的软件,默认情况下 OSSEC 会监视这四件事(可能必须单独启用电子邮件警报才能进行较低级别的通知):

1)身份验证尝试失败
2)端口扫描,你可以从文档中了解更多信息这里.
3) 设备启动
4) 登录

必须分别启用或配置这两个:

5)ARP 中毒检测
6)启用 arpwatch(上一个)规则集时,还应启用检测网络上的新主机

您可以找到 arpwatch 规则集这里或者在您安装的规则集文件夹中。

答案3

内置工具:(需要从 Ubuntu 下载)

1.新设备在我的局域网上线(基本上访问了我的 WiFi)

ifconfig -a

2. 我的 PC 上的身份验证尝试失败(失败2ban

apt-get install fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

需要添加以下与您的服务相关的行

bantime = 600
findtime = 600
maxretry = 3

例如身份验证失败:

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3

fail2ban 也有电子邮件通知服务。

destemail = root@localhost
sendername = Fail2Ban
mta = sendmail

3.某人或某物正在扫描我电脑的端口(有用的命令)

netstat -an (to see which port are open and connected to other network)

伊夫托普(监控LAN、WLAN网络带宽)

apt-get install iftop
iftop

然后按 p(端口)和 n(DNS)。一旦您知道哪个端口的流量来自未知 IP,您就可以使用 ufw 防火墙阻止该 IP。

ufw deny from 192.x.x.x 

要检查是否有人正在扫描端口:

netstat -aniftop

如果上述命令的输出是长列表,并且连接来自多个端口上的同一 IP。

5.我的电脑已登录(如果能获取最后发出的 10 条命令就好了)

history

将为您提供最后使用的 2K 命令(如果用户相同)

或者

查看其他用户使用的命令(例如 user=test)

su test
history

上述命令需要 sudo 或 root 权限。

用于监控linux系统的软件:

Nagios的:https://www.nagios.org/projects/

Splunk:http://www.splunk.com/en_us/download/splunk-enterprise.html

扎比克斯:http://www.zabbix.com/download.php

所有以上工具均有通知电子邮件服务。(高度可定制)

更新:

通过电子邮件通知用户登录:https://www.tiger-computing.co.uk/get-linux-to-notify-every-ssh-login/

nano /etc/profile

if [ -n "$SSH_CLIENT" ]; then
TEXT="$(date): ssh login to ${USER}@$(hostname -f)"
TEXT="$TEXT from $(echo $SSH_CLIENT|awk '{print $1}')" 
echo $TEXT|mail -s "ssh login" [email protected]
fi

相关内容