如何在Linux下限制IP登陆服务器并记录操作?
查看已禁止的IP使用以下命令可以查看已经被禁止的IP列表:
在当前互联网时代,服务器被广泛应用于各个领域,但是对于一些敏感数据的存储和管理,我们需要采取一些措施来保障服务器的安全性。其中之一就是限制IP登陆服务器,并记录操作。
那么,在Linux下如何实现这样的功能呢?
第一步:安装fail2ban
fail2ban是一个免费开源软件,专门用于防止暴力破解攻击。它可以通过监视系统日志文件来检测到失败的登录尝试,并自动禁止攻击者访问您的服务器。
首先使用以下命令安装fail2ban:
“`
sudo apt-get update
sudo apt-get install fail2ban
第二步:配置fail2ban
打开/etc/fail2ban/jail.conf文件进行配置:
sudo nano /etc/fail2ban/jail.conf
找到[sshd]部分(如果没有则手动添加),修改以下内容:
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600 # 禁止时间为10分钟(单位为秒)
action= %(iptables)s
# 添加以下内容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600
banaction = iptables-multiport # 使用iptables防火墙禁止IP访问
其中,maxretry表示最大尝试次数,bantime表示禁止时间。
第三步:重启fail2ban
![如何在Linux下限制IP登陆服务器并记录操作?缩略图 如何在Linux下限制IP登陆服务器并记录操作?](https://www.72715.net/wp-content/uploads/2023/05/8abf10b8aef9f1d3c655027776ffddbe.png)
配置完毕后,需要重启fail2ban以使配置生效:
sudo service fail2ban restart
第四步:查看已禁止的IP
使用以下命令可以查看已经被禁止的IP列表:
sudo iptables -L f2b-sshd
这里f2b-sshd是由fail2ban创建的一个iptables chain(链)。
第五步:记录操作日志
在Linux系统中,系统日志文件通常存储在/var/log目录下。我们可以通过修改/etc/rsyslog.conf文件来记录ssh登录信息。
打开/etc/rsyslog.conf文件进行编辑:
sudo nano /etc/rsyslog.conf
找到以下内容并取消注释:
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
auth,authpriv.* /var/log/auth.log # 记录ssh登录信息到auth.log文件中
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # 日志格式化输出方式为传统的格式化方式
# 忽略cron日志记录(可选)
cron.* /dev/null
& ~
保存修改后,重启rsyslog服务:
sudo service rsyslog restart
现在,所有ssh登录信息都会被记录到/var/log/auth.log文件中。
总结
以上就是在Linux下限制IP登陆服务器并记录操作的方法。通过使用fail2ban和iptables防火墙,我们可以轻松地保障服务器的安全性,并且通过记录操作日志,可以更好地监控服务器的使用情况。
最后提醒大家,在使用这些方法时,请务必小心谨慎,并遵守相关法律法规。
标签:Linux、fail2ban、iptables、安全性、操作记录