顯示具有 suricata 標籤的文章。 顯示所有文章
顯示具有 suricata 標籤的文章。 顯示所有文章

2025/05/12

因為ssl加解密的几制已經搞很久了還是有問題
所以找看看其他的解決方案
這几天試了一下 nginx 的 mirror 功能
記錄一下

在要執行 mirror 的 nginx 上設定如下

server {
    listen 443 ssl;
    server_name aaa.com.tw;


    ssl_certificate /etc/ssl/certs/server.cer;
    ssl_certificate_key /etc/ssl/certs/server.key;


    location / {
        proxy_pass http://primary_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        mirror /mirror;

        mirror_request_body on;
    }

    location /mirror {
        internal;
        proxy_pass http://secondary_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 1s;
        proxy_connect_timeout 1s;
    }
}

upstream primary_backend {
    server 10.0.0.1:80;
}

upstream secondary_backend {
    server 10.0.0.2:80;
}

10.0.0.1 是提供服務的server

10.0.0.2 接收 mirror過來的內容

10.0.0.1 10.0.0.2 二台都必須要起web server並listen 非加密的 80 port

10.0.0.2只需要啟動即可 不需要跟 10.0.0.1有相同的網頁內容
因為如果10.0.0.2沒有 web server  mirror過來的封包會被直接丟掉 

同時在 10.0.0.2上啟動 ids 軟体 如 snort, suricata 等 分析mirror過來的內容

10.0.0.1會把client的request解密後同時送到 10.0.0.1 10.0.0.2 

但不會 mirror server response 的內容


10.0.0.2 上的nginx access log 預設會記錄 10.0.0.1這個ip
如果要改成 request client的ip  nginx.conf 要新增以下內容

server {
    set_real_ip_from 10.0.0.1;
    real_ip_header X-Real-IP;



2025/01/13

從昨天晚上開始 suricata的cpu就會一直跑到98以上而且降不下來
看了一下 log 出現大量的 truncated 

Jan 13 04:30:33 suricata suricata[77297]: [1:2200003:2] SURICATA IPv4 truncated packet [Classification: Gen
eric Protocol Command Decode] [Priority: 3] [**] [Raw pkt: C0 C5 20 6B A9 DA 00 60 E0 8A 76 E3 08 00 45 00 
0A 8C 8F C5 00 0]

Jan 13 10:44:03 suricata suricata[78]: [1:2200013:2] SURICATA IPv6 truncated packet [Classification: Generic Protocol Command Decode] [Priority: 3] [**] [Raw pkt: C0 C5 20 6B A9 DA 00 60 E0 8A 76 E3 86 DD 60 81 56 A3 10 DC 06 3]

先把這二個偵測暫停 

/etc/suricata/rules/decoder-events.rules

再觀察看看

2020/01/08

目前在suricata設定白名單的做法

在/etc/suricata/rules新增 pass.rules
內容如下

pass ip 10.0.0.1 any -> any any (msg:"pass all traffic from 10.0.0.1"; sid:9999999;)
pass ip 10.0.0.2 any -> any any (msg:"pass all traffic from 10.0.0.2"; sid:9999998;)

修改紅字部分
注意 sid 不可重複

在 /etc/suricata/suricata.yaml 把上面的rules引用進來

systemctl restart suricata