使用iptables记录所有活动

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。

参考文献:

强制iptables登录到其他文件

使用rsyslog将iptables记录到单独的文件中

Fedora / RHEL系统上的iptables配置教程


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   瓜迪亚

    对于BOFH来说,这本《迷你手册》很棒,您正在一点一点地做

  2.   rat月

    谢谢,我将一点一点地提供iptables的详细信息和数据,我必须从我的工作中了解这些信息,有时我们需要这些信息,并且在Internet上的解释非常差,所有这些操作都是由用户... xD

    1.    KZKG ^ Gaara

      我借此机会欢迎您member
      您确实有很多可以贡献的,您对网络,系统,防火墙等的了解真的很高,所以我将成为(我已经成为)拥有众多读者的读者之一。

      问候,好吧...你知道的,whatever

    2.    伊萨尔

      我期待那些项目^^

  3.   雨果

    来吧,Koratsuki,我不知道您经常光顾此博客。

    顺便说一句,记录防火墙活动的另一种方式是使用该软件包 乌洛格德,由netfilter项目的人员制作,以促进此类痕迹的分离(允许以不同方式保存它们)。 这是我通常使用的方法。 使用起来很容易,例如:

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   rat月

    我将不得不给F5一个职位,Ulogd的工作方式适合我,即使MySQL记录类型:D。

  5.   MSX

    好的帖子,请继续保持。

  6.   钦诺洛科

    老板你好,最近怎么样?
    你能帮我一下吗?
    由于我没有得到本教程,而且比水更清晰,所以我不知道我在哪里错