iptables的默认情况下,它具有“全部接受”模式的过滤规则,也就是说,它允许进出我们PC的所有连接或进出我们PC的所有连接,但是如果我们要记录与服务器或PC建立的连接的所有信息怎么办?
注意:我现在将执行的过程在发行版中有效100% Debian/基于Debian,因此,如果您使用 Slackware的, Fedora, CentOS的, 开源软件,操作步骤可能不尽相同,我们建议您先阅读并理解发行版的登录系统,然后再应用以下内容。 如果存储库中提供了rsyslog,也可以在您的发行版中安装rsyslog,尽管在本教程中,还将在最后说明syslog。
到目前为止一切都很好,但是我们要去哪里登录? 简单,在文件中«/var/log/firewall/iptables.log“, 什么 不存在,直到我们自己相信...
1- 我们必须创建文件«iptables.log»文件夹内«/ var / log /防火墙»我们必须创建它,因为它也不存在。
mkdir -p / var /日志/防火墙/
触摸/var/log/firewall/iptables.log
2- 权限,非常重要...
chmod 600 /var/log/firewall/iptables.log
chown root:adm /var/log/firewall/iptables.log
3- 系统日志,Debian登录守护程序,从«中读取配置/etc/rsyslog.d«,因此我们必须创建一个我将调用的文件«防火墙»rsyslog可以从中解释我们想要做什么。
触摸/etc/rsyslog.d/firewall.conf
在里面,我们离开他 跌倒 轻轻地以下内容:
:味精,包含“ iptables:”-/ var / log /防火墙/ iptables.log
&〜
我没有丝毫想法这几行在做什么?
第一行检查记录的数据中的字符串«iptables: »并将其添加到文件中«/var/log/firewall/iptables.log«
第二,停止处理以先前模式登录的信息,以使该信息不会继续发送到«/ var / log /消息«。
4- 旋转日志文件,使用 实现.
我们必须在«/etc/logrotate.d/“ 文件 ”火墙»其中将包含以下内容:
/var/log/firewall/iptables.log
{
旋转7
每天
大小10M
日期文本
Missingok
创建600个root adm
无可辩驳的
压缩
延迟压缩
后旋转
invoke-rc.d rsyslog reload> / dev / null
尾标
}
为了在删除日志之前将日志旋转7次,每天1次,最大日志大小为10MB,已压缩并标有日期,如果日志不存在,则以root身份创建,而不会出现错误。
5- 像所有愉快的结局xD一样,重新启动rsyslog守护程序:
/etc/init.d/rsyslog重新启动
如何证明一切正常?
让我们尝试SSH。
安装 OpenSSH的 (万一他们没有安装它...):
apt-get 安装 openssh-server
在继续之前,我们必须以root用户身份在控制台中运行:
iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4
执行此iptables语句将记录足够的信息,以表明我们所做的没有白费。 在这句话中,我们告诉iptables记录通过端口22传递给它的所有信息。要测试其他服务,只需更改端口号,例如MySQL的3306,仅举一个例子,如果您需要更多信息, 阅读这份记录良好的教程 并基于最常用配置的典型示例。
SSH默认使用端口22,因此我们将对其进行测试。 安装openssh之后,我们连接到它。
ssh pepe @测试服务器
要查看日志,请用尾巴解决此问题:
尾-f /var/log/firewall/iptables.log
在此示例中,iptables记录了所有内容,日期,时间,ip,mac等,这非常适合监视我们的服务器。 一点帮助都不会伤害您。
现在,请注意我们使用了另一个发行版,就像我在开始时所说的那样, 系统日志或类似的内容。 如果您的发行版使用 系统日志,要执行相同的练习,我们必须稍作编辑/修改 系统日志文件
纳米/etc/syslog.conf
添加并保存以下行:
kern.warning /var/log/firewall/iptables.log
然后,你知道,幸福的结局:
/etc/init.d/sysklogd重新启动
结果:相同。
现在就这些,在以后的文章中,我们将继续使用iptables。
参考文献:
对于BOFH来说,这本《迷你手册》很棒,您正在一点一点地做
谢谢,我将一点一点地提供iptables的详细信息和数据,我必须从我的工作中了解这些信息,有时我们需要这些信息,并且在Internet上的解释非常差,所有这些操作都是由用户... xD
我借此机会欢迎您member
您确实有很多可以贡献的,您对网络,系统,防火墙等的了解真的很高,所以我将成为(我已经成为)拥有众多读者的读者之一。
问候,好吧...你知道的,whatever
我期待那些项目^^
来吧,Koratsuki,我不知道您经常光顾此博客。
顺便说一句,记录防火墙活动的另一种方式是使用该软件包 乌洛格德,由netfilter项目的人员制作,以促进此类痕迹的分离(允许以不同方式保存它们)。 这是我通常使用的方法。 使用起来很容易,例如:
iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"
我将不得不给F5一个职位,Ulogd的工作方式适合我,即使MySQL记录类型:D。
好的帖子,请继续保持。
老板你好,最近怎么样?
你能帮我一下吗?
由于我没有得到本教程,而且比水更清晰,所以我不知道我在哪里错