Loading ips.rules: FATAL: ips.rules:3 undefined variable name: RULE_PATH. Fatal Error, Quitting..,Sn

可以解決要感謝一位擁有7年碼齡的程序員,他目前從事IPS二次開發工做。程序員

這個問題在百度上幾乎找不到答案,解決方法見:https://www.reddit.com/r/snort/comments/jnu1s5/probles_while_running_snort_c/tcp

可能由於某些緣由(牆)連接沒法打開,那麼這裏有這篇帖子的完整截圖google

爲了更人性化,我將它翻譯過來:lua

一位熱心網友marcseid遇到了這個問題,在導入規則前、後分別檢查配置文件,得出如下處理結果:spa

編輯snort.lua找到翻譯

{ when = { proto = 'tcp', ports = '2123 2152 3386' }, use = { type = 'gtp' } },

它在這裏:3d

你能夠在配置文件裏搜索gtp方便查找它code

而後將它修改成server

 { when = { proto = 'tcp', ports = '2123 2152 3386' }, use = { type = 'gtp_inspect' } },

再找到blog

ips =

它在這裏:

在 ips = { 的後面,rules = [[ 的前面;添加一行

variables = default_variables,

再修改snort_defaults.lua

---------------------------------------------------------------------------
-- default ftp server
---------------------------------------------------------------------------

前面添加:

---------------------------------------------------------------------------
-- default variables
---------------------------------------------------------------------------

default_variables = {
    nets = {
        HOME_NET = HOME_NET,
        EXTERNAL_NET = EXTERNAL_NET,
        DNS_SERVERS = DNS_SERVERS,
        FTP_SERVERS = FTP_SERVERS,
        HTTP_SERVERS = HTTP_SERVERS,
        SIP_SERVERS = SIP_SERVERS,
        SMTP_SERVERS = SMTP_SERVERS,
        SQL_SERVERS = SQL_SERVERS,
        SSH_SERVERS = SSH_SERVERS,
        TELNET_SERVERS = TELNET_SERVERS,
    },
    paths = {
        RULE_PATH = RULE_PATH,
        BUILTIN_RULE_PATH = BUILTIN_RULE_PATH,
        PLUGIN_RULE_PATH = PLUGIN_RULE_PATH,
        WHITE_LIST_PATH = WHITE_LIST_PATH,
        BLACK_LIST_PATH = BLACK_LIST_PATH,
    },
    ports = {
        FTP_PORTS = FTP_PORTS,
        HTTP_PORTS = HTTP_PORTS,
        MAIL_PORTS = MAIL_PORTS,
        ORACLE_PORTS = ORACLE_PORTS,
        SIP_PORTS = SIP_PORTS,
        SSH_PORTS = SSH_PORTS,
        FILE_DATA_PORTS = FILE_DATA_PORTS,
    }
}

完成。

先說說爲何原做者是在反覆檢查導入規則前、後的配置文件得出結論的吧,由於剛纔添加和修改的這些,在導入前都是存在且正常的,導入以後才發生了改變,併產生異常。

(除了「variables = default_variables,由於配置文件語法的緣由須要添加逗號)

 

我也這樣檢查過配置文件,但因爲不仔細也看不太懂致使沒及時發現這個問題;其次善用google、多閱讀英文文章(畢竟翻譯軟件有些出入);某些技術文章國內很匱乏。

相關文章
相關標籤/搜索