International Forums > German - Deutsch

Naxsi Rules erstellen - wie richtig whitelisten?

(1/2) > >>

W0nderW0lf:
Moin moin alle,

Ich habe gestern versucht eigene Rules fürs whitelisting zu basteln. Leider finde ich keinen Guide der einen einfachen Weg aufzeigt. Viele verwenden zusätzliche Tools wie "rule generator nxtools"um das Log verständlicher zu machen.
Ich habe versucht anhand der Doku eine Rule zu erstellen. Siehe:
https://github.com/nbs-system/naxsi/wiki/naxsilogs
https://github.com/nbs-system/naxsi/blob/master/naxsi_config/naxsi_core.rules

Mein error log:

--- Code: ---2021/10/28 09:36:51 error 8192#100150 *1 NAXSI_EXLOG: ip=111.22.33.44&server=mucke.example.com&uri=%2Frest%2Fstream&id=17&zone=HEADERS&var_name=accept&content=audio%2Fwebm%2Caudio%2Fogg%2Caudio%2Fwav%2Caudio%2F%2A%3Bq%3D0.9%2Capplication%2Fogg%3Bq%3D0.7%2Cvideo%2F%2A%3Bq%3D0.6%2C%2A%2F%2A%3Bq%3D0.5, client: 111.22.33.44, server: mucke.example.com, request: "GET /rest/stream?u=odin&t=1fd5989b84d42d7d017cdb5e69a6d1f2&s=be1ab3&f=json&v=1.8.0&c=NavidromeUI&id=1429d0d6a01880afaecb6705c19d7de3&_=1635406610710 HTTP/2.0", host: "mucke.example.com", referrer: "https://mucke.example.com/app/"
2021/10/28 09:36:51 error 8192#100150 *1 NAXSI_FMT: ip=111.22.33.44&server=mucke.example.com&uri=/rest/stream&vers=1.3&total_processed=11&total_blocked=3&config=learning&cscore0=$LIBINJECTION_SQL&score0=8&zone0=HEADERS&id0=17&var_name0=accept, client: 111.22.33.44, server: mucke.example.com, request: "GET /rest/stream?u=odin&t=1fd5989b84d42d7d017cdb5e69a6d1f2&s=be1ab3&f=json&v=1.8.0&c=NavidromeUI&id=1429d0d6a01880afaecb6705c19d7de3&_=1635406610710 HTTP/2.0", host: "mucke.example.com", referrer: "https://mucke.example.com/app/"
2021/10/28 09:51:06 error 13575#100974 *1 js exception: TypeError: cannot get property "split" of undefined
--- End code ---
Was mache ich wenn es kein NAXSI_FMT Log gibt?

--- Code: ---2021/10/29 09:52:06 error 61853#101734 *52 NAXSI_EXLOG: ip=111.22.33.442&server=mucke.example.com&uri=%2Frest%2FgetCoverArt.view&id=1000&zone=ARGS&var_name=c&content=substreamer, client: 111.22.33.442, server: mucke.example.com, request: "GET /rest/getCoverArt.view?u=odin&t=b9f082fda448ce38bed40f30dd0abbb0&s=2ImvkNK&v=1.13.0&c=substreamer&f=json&size=500&id=567c7510b719964b11e26c518b2c5f28 HTTP/2.0", host: "mucke.example.com", referrer: "https://localhost/"
2021/10/29 09:52:06 error 61853#101734 *52 no live upstreams while connecting to upstream, client: 111.22.33.442, server: mucke.example.com, request: "GET /rest/getCoverArt.view?u=odin&t=b9f082fda448ce38bed40f30dd0abbb0&s=2ImvkNK&v=1.13.0&c=substreamer&f=json&size=500&id=567c7510b719964b11e26c518b2c5f28 HTTP/2.0", upstream: "http://upstream67c0fb4aebe44d9884a90b4cf7d49264/rest/getCoverArt.view?u=odin&t=b9f082fda448ce38bed40f30dd0abbb0&s=2ImvkNK&v=1.13.0&c=substreamer&f=json&size=500&id=567c7510b719964b11e26c518b2c5f28", host: "mucke.example.com", referrer: "https://localhost/"
--- End code ---
Meine Rule: (Siehe Bild)

In der Beschreibung der Rule Types steht auch: Basic rules need to be added to a policy to allow assosciation with a location.
Soll ich auch eine benutzerdefinierte policy erstellen und an meine location anbinden, oder soll ich eine bestehende nutzen?

Wichtigste Frage IMO, gibt's nen trick um herauszufinden welche value man eintragen müsste? $HEADERS_VAR:accept habe ich in einem anderen Forum gefunden, ohne die Syntax dahinter wirklich zu verstehen. siehe: https://issueexplorer.com/issue/nbs-system/naxsi/554

Danke vorab für jede Hilfe!

fabian:
Ist schon ne Weile her, dass ich das geschrieben habe. Aber soweit ich das noch in Erinnerung habe, kannst du den Header Wert, also nicht den Namen dort whitelisten.

W0nderW0lf:
Hey Fabian,
auch wenn das nur eine kurze knappe antwort war, war das doch sehr Aussagekräftig.
das mit dem Header hat auch geklappt!
Habe einfach accept in match_value eingetragen.

Hab noch 0 Ahnung von Rule Erstellung für naxsi.
Allerdings frage ich mich auch, warum ich im Learning mode trotzdem fehler auftreten.

Ich weiß auch gar nicht wie ich das whitelisten soll?


--- Code: ---4 NAXSI_EXLOG: ip=111.22.33.44&server=mucke.example.com&uri=%2Frest%2Fstream.view&id=1000&zone=ARGS&var_name=c&content=substreamer, client: 111.22.33.44, server: mucke.example.com, request: "GET /rest/stream.view?u=odin&t=2892b6b6e13f6f190d26ed5b90459b7e&s=l0lbM6m&v=1.13.0&c=substreamer&f=json&id=01dd97d35996602c5f9467263b81b581&maxBitRate=320&format=mp3&estimateContentLength=false HTTP/1.1", host: "mucke.example.com"
--- End code ---

kann ich mithilfe regulärer ausdrücke (worin ich auch noch ein noob bin) eine rule erstellen mit der ich sagen kann "match_value=content=substreamer"?

fabian:
Ein paar Regeln sind trotz learning mode aktiv. Das sind built in rules von naxsi, die man explizit abschalten müsste. Die erkennt man an den kleinen IDs (<100).

W0nderW0lf:
Wo finde ich raus welche Regeln hier noch blocken? Ich habe bisher nur ID 17 gesehen und das habe ich bereits gewhitelisted. Im Learning mode tut sich leider nix mehr im error log.

Navigation

[0] Message Index

[#] Next page

Go to full version