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