fix: update setup script for PostgreSQL configuration and refine packets table structure
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 7s

This commit is contained in:
2025-11-25 16:35:15 +01:00
parent abea4c0ba4
commit 59496dd74c

View File

@@ -17,12 +17,12 @@ sudo sed -i "s/^#listen_addresses =.*/listen_addresses = '*'/" "$PG_CONF"
echo "[3] Updating pg_hba.conf for LAN + localhost access…"
PG_HBA="/etc/postgresql/$(ls /etc/postgresql)/main/pg_hba.conf"
# Add localhost entry if missing
# Add localhost
if ! grep -Eq "^[ ]*host[ ]+all[ ]+all[ ]+127.0.0.1/32" "$PG_HBA"; then
echo "host all all 127.0.0.1/32 md5" | sudo tee -a "$PG_HBA"
fi
# Add LAN entry if missing
# Add LAN
if ! grep -q "$LAN_SUBNET" "$PG_HBA"; then
echo "host all all $LAN_SUBNET md5" | sudo tee -a "$PG_HBA"
fi
@@ -34,12 +34,10 @@ echo "[5] Creating database + user (idempotent)…"
sudo -u postgres psql <<EOF
DO \$\$
BEGIN
-- Create user if missing
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '$DB_USER') THEN
CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';
END IF;
-- Create database if missing
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DB_NAME') THEN
CREATE DATABASE $DB_NAME OWNER $DB_USER;
END IF;
@@ -47,41 +45,33 @@ END
\$\$;
EOF
echo "[6] Creating table (idempotent)…"
echo "[6] Creating packets table (idempotent)…"
sudo -u postgres psql -d "$DB_NAME" <<EOF
CREATE TABLE IF NOT EXISTS packet_log (
CREATE TABLE IF NOT EXISTS packets (
id BIGSERIAL PRIMARY KEY,
timestamp TIMESTAMPTZ DEFAULT NOW(),
-- ingress / egress
-- interface metadata
iface VARCHAR(64),
direction VARCHAR(16),
-- eBPF metadata
interface VARCHAR(32),
-- Ethernet layer
-- Ethernet
src_mac VARCHAR(32),
dst_mac VARCHAR(32),
eth_type VARCHAR(16),
eth_type INTEGER,
-- IP layer
-- IP
src_ip VARCHAR(64),
dst_ip VARCHAR(64),
ip_protocol VARCHAR(16),
protocol INTEGER,
length INTEGER,
-- Transport layer
src_port INTEGER,
dst_port INTEGER,
packet_len INTEGER,
-- eBPF data (reserved for later)
ebpf_verdict VARCHAR(32),
ebpf_chain VARCHAR(64),
-- nftables metadata
nft_hook VARCHAR(32),
nft_table_name VARCHAR(64), -- <— renamed (fix)
nft_chain VARCHAR(64),
nft_verdict VARCHAR(32),
-- raw packet
raw_packet BYTEA
-- raw packet bytes
raw BYTEA
);
EOF