我是 SLES 新手,我需要知道哪个 IP 地址执行了命令。我已经搜索过我所遇到的一切这但我没有/var/log/auth.log
或/var/log/secure
。我不知道是否必须仅使用 SSH。我确实知道如何查看用户 ( .bash_history
) 的历史记录,但它不保存 IP 地址,只保存命令。
无论如何,在 SLES 中可以执行此操作吗? 11 特别是即使使用 SSH。
答案1
IP 地址不执行命令。命令始终由本地运行的程序执行。通常,有关谁运行命令的相关取证信息是运行该程序的用户。
可以将命令追溯到侦听网络输入的服务器,例如,发现某个命令是从 SSH 服务器进程创建的会话中启动的,然后查找该服务器进程正在侦听的远程计算机。如果命令是在终端执行的,那么可以通过检查该命令在哪个终端执行并运行来获取该信息who
查看哪个用户正在执行此命令以及他们从哪里登录。之后,可以通过以下方式访问时间、用户终端和 IP 地址之间的关联last
。
默认情况下不记录单个命令。如果你想这样做,你必须进行设置。一种简单、低开销的方法是流程会计:安装acct
,确保服务已启用,然后记录每个单独的命令(但不记录其参数)。运行
lastcomm
查看关联命令、时间和终端的日志。然后,您可以将信息与 报告的 IP 地址交叉last
。
答案2
将此代码添加到/etc/profile
mkdir /var/log/history;chmod 777 /var/log/history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTFILE=/var/log/history/$(whoami)-$USER_IP-history
您还可以将历史文件名添加到使用日期中。