重複するエントリを見つけるには、大規模なデータベース(Snortアラート)でクエリを実行する必要があります。しかし、以下のクエリを思いついたのですが、実行に時間がかかります!
SELECT sid, cid, timestamp, sig_name, inet_ntoa(ip_src), layer4_sport,
inet_ntoa(ip_dst), layer4_dport
FROM DB
WHERE (ip_dst IN
(SELECT ip_dst FROM DB GROUP BY ip_dst HAVING count(*) > 1)
AND timestamp IN
(SELECT timestamp FROM DB GROUP BY timestamp HAVING count(*) > 1)
AND layer4_dport IN
(SELECT layer4_dport FROM DB GROUP BY layer4_dport HAVING count(*)>1 ))
上記のクエリは、同じアラートip_dstを検索しようとし、アラート timestamp
がlayer4_dport
複数回発生した場合に発生します。私はそれが明確であることを願っています!
それを効率的にするためのヒントやコツはありますか?