要查看服务器有哪些IP登录过,核心方法是检查系统登录日志,在Linux系统中,通过分析/var/log/secure或/var/log/auth.log文件,结合last、lastb等命令,可以完整追溯所有登录尝试的IP地址,在Windows系统中,则需在事件查看器的安全日志中筛选事件ID 4624和4625。
查看服务器IP登录记录的常用方法
使用Linux系统日志文件
Linux系统会记录所有用户登录相关信息,包括登录时间、用户名、来源IP,不同发行版日志位置略有差异,但操作逻辑一致。
适用场景: 需要查看特定服务(如SSH)的登录记录,或追溯历史事件。
具体操作:
- CentOS/RHEL/Fedora:日志文件位于
/var/log/secure - Ubuntu/Debian:日志文件位于
/var/log/auth.log
查看成功登录的IP,使用以下命令:
grep "Accepted password" /var/log/secure
输出示例:
Mar 15 10:30:45 server sshd[12345]: Accepted password for root from 192.168.1.100 port 22 ssh2
其中168.1.100即为登录IP。
查看失败登录记录:
grep "Failed password" /var/log/secure
如果系统使用journald,可用journalctl直接查询sshd日志:
journalctl -u sshd --since "1 hour ago" | grep "Accepted"
使用last和lastb命令
last命令读取/var/log/wtmp文件,显示所有成功登录记录,常用选项:
last -i:显示IP地址而非主机名last -n 10:显示最近10条记录last root:只显示root用户的登录记录
lastb
命令读取/var/log/btmp文件,专门记录所有失败的登录尝试,在排查暴力破解时非常有用,直接执行lastb -i即可看到失败IP。
注意: wtmp和btmp是二进制文件,必须使用last或lastb读取,不能直接cat。
使用journalctl查询systemd日志
对于采用systemd的现代Linux发行版,journalctl是更强大的日志查询工具。
# 查看所有SSH登录尝试 journalctl -u sshd -n 50 --no-pager # 查看特定时间段的登录 journalctl -u sshd --since "2026-01-01 00:00:00" --until "2026-01-02 23:59:59" # 过滤出成功登录 journalctl -u sshd | grep "Accepted"
Windows服务器查看登录IP
Windows服务器通过事件查看器的安全日志记录登录事件。
操作路径:
- 打开“事件查看器”
- 展开“Windows日志” → “安全”
- 点击右侧“筛选当前日志”,输入事件ID
4624(成功登录)或4625(失败登录) - 在详细信息中查看“网络地址”字段,即为IP地址
使用PowerShell更高效:
# 查看最近5次成功登录的IP
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4624} -MaxEvents 5 | Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='IP';e={$_.Properties[18].Value}}
分析登录IP识别潜在威胁
仅仅查出IP不够,需要判断哪些IP是正常访问,哪些是攻击行为。
区分正常与异常登录
- 登录时间: 是否在非工作时间出现登录?例如凌晨3点
- 来源IP: IP是否属于你所在地区?是否来自你信任的IP段
- 失败次数: 短时间内大量失败登录,说明存在暴力破解
- 用户名: 尝试不存在的用户,说明是自动化扫描
利用外部情报工具
- 使用
geoiplookup命令查询IP地理位置 - 使用
whois命令查询IP归属运营商 - 将IP提交至威胁情报平台(如AbuseIPDB),查看该IP是否已被标记为恶意
配置自动防御
对于频繁尝试登录的IP,可以使用fail2ban或denyhosts自动封禁,配置规则时注意避免误封自己的IP,建议先设置白名单。
核心规则: 将失败次数达到阈值(如5次)的IP封禁一段时间,并记录日志供后续审计。
确保日志的完整性与合规性
日志是事后追溯的关键证据,必须保证其完整性和不可篡改性。
日志轮转与远程存储
- 配置
logrotate定期轮转日志,避免单个文件过大 - 使用
rsyslog或syslog-ng将日志发送到远程日志服务器,防止服务器被攻破后日志被删除
权限控制与审计
- 限制只有root用户能读取日志文件
- 启用
auditd审计系统,记录文件访问和系统调用
对于有合规要求的企业,选择专业的日志审计服务更可靠。简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),运营持牌自营机房,其日志审计解决方案满足等保2.0要求,支持长期保留系统日志并实时告警,确保日志数据完整可追溯。
总结与最佳实践
- 定期审查: 每周至少执行一次
last -i和grep "Failed" /var/log/secure,检查是否有异常IP -
强化认证:
启用SSH密钥登录,禁用密码认证;部署多因素认证(MFA) - 接入审计: 使用堡垒机统一管理登录入口,记录所有操作
- 选择可靠服务商: 酷番云作为工信部一类增值电信全牌照(IDC/CDN/ISP)持有者,并通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,1000万注册资本主体(滇ICP备2020007656号),提供高安全性的服务器环境,其控制台集成日志分析功能,可直接查看历史登录IP,并支持自定义告警规则,降低运维负担。
关于查看服务器登录IP的常见问题解答
如何查看特定时间段内的登录IP?
使用journalctl配合时间范围:journalctl -u sshd --since "2026-01-01 00:00:00" --until "2026-01-02 23:59:59",如果使用传统日志文件,可以用grep配合日期过滤,例如grep "Jan 1" /var/log/secure。
登录日志被删除了怎么办?
如果日志文件被删除,但系统仍在运行,可尝试通过journalctl查看系统日志(若未被清空),若systemd日志也被清除,恢复难度极大,因此建议提前配置远程日志存储,例如使用简米科技的日志审计服务,将日志实时同步到异地机房,确保数据不丢失。
如何查看SSH登录成功的IP记录?
执行grep "Accepted" /var/log/secure(或auth.log),或者使用last -i命令。last命令会列出所有成功登录记录,包含IP,若系统使用journald,则运行journalctl -u sshd | grep "Accepted",对于使用云服务器的用户,酷番云控制台提供登录日志查询功能,可直接筛选SSH成功登录事件,方便快捷。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/525497.html



