debian iptables如何记录连接日志

在Debian系统中,你可以使用iptables和syslog来记录连接日志首先,确保你的系统已经安装了iptables和syslog-ng。如果没有安装,可以使用以下命令进行安装:sudo apt-get updatesudo apt-get install iptables syslog-ng配置syslog-ng以记录连接日志。编辑/etc/syslog-ng/syslog-ng.conf

Debian系统中,你可以使用iptablessyslog来记录连接日志

  1. 首先,确保你的系统已经安装了iptablessyslog-ng。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install iptables syslog-ng
  1. 配置syslog-ng以记录连接日志。编辑/etc/syslog-ng/syslog-ng.conf文件,添加以下内容:
# Load the default configuration file
source /etc/syslog-ng/syslog-ng.conf.default;

# Define a new source for connection logging
log_format connection '$remote_addr - $remote_user [$time] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent"';

# Define a destination for connection logs
destination connection {
    file("/var/log/connections.log" mode="append");
    create_directory("/var/log");
    rotate(52);
    compress();
}

# Include the connection logging configuration in the default configuration
include "/etc/syslog-ng/connection.conf";

这个配置文件定义了一个新的日志源(connection),用于记录连接日志。它还将日志写入/var/log/connections.log文件,并设置了日志文件的轮换和压缩选项。

  1. 创建一个新的配置文件/etc/syslog-ng/connection.conf,包含以下内容:
# Use the connection log format
define connection '$format';

# Match the connection logging format
filter connection /^(?<remote_addr>\S+) - (?<remote_user>\S+) \[(?<time>\S+)\] "(?<request>\S+)" '
                     '(?<status>\d+) (?<body_bytes_sent>\d+) "(?<http_referer>\S+)" '
                     '"(?<http_user_agent>\S+)"$/;

这个配置文件定义了一个过滤器,用于匹配连接日志格式,并将其传递给之前定义的日志源。

  1. 重启syslog-ng服务以应用更改:
sudo systemctl restart syslog-ng
  1. 使用iptables记录连接日志。你需要将INPUT链的默认策略设置为DROP,以便只允许已建立的连接通过。编辑/etc/iptables/rules.v4文件,添加以下内容:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

*nat

*mangle

*raw

*security

*log

*ipv6filter

*masquerade

这个配置文件将INPUT链的默认策略设置为DROP,并允许已建立的连接、ICMP请求、本地回环接口、SSH(端口22)、HTTP(端口80)和HTTPS(端口443)流量通过。

  1. 重启iptables服务以应用更改:
sudo systemctl restart netfilter-persistent

现在,Debian系统的iptablessyslog-ng应该已经配置好了,可以记录连接日志。连接日志将保存在/var/log/connections.log文件中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1221342.html

(0)
派派
上一篇 2025-01-01
下一篇 2025-01-01

发表回复

登录后才能评论