如何在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登陆服务器并记录操作?

配置完毕后,需要重启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、安全性、操作记录