溫馨提示×

debian iptables如何記錄連接日志

小樊
97
2025-01-01 05:23:43
欄目: 智能運維

在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文件中。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女