راهنمای اتصال کنسول مدیریتی پادویش به نرم‌افزار Splunk و مشابه

مساله

اگر قصد ارسال لاگ‌های پادویش به یک نرم‌افزار مشاهده و آنالیز لاگ مانند Splunk را دارید این راهنما به شما کمک می‌کند.

آنچه در این راهنما آمده، دستورات regex یا همان Regular Expression جهت پردازش لاگ‌های پادویش می‌باشد. این دستورات در نرم‌افزار Splunk تست شده‌اند، اما در هر نرم‌افزاری که دستورات با فرمت مشابه دریافت کند نیز کار می‌کنند.

دستورالعمل

قبل از استفاده از این دستورات باید با استفاده از «راهنمای راه‌اندازی Syslog در کنسول مدیریتی پادویش» کنسول پادویش را به Splunk متصل نموده باشید. بهتر است قبل از ادامه مقداری لاگ در نرم‌افزار دریافت شده باشد تا هنگام افزودن قواعد زیر، تاثیر آن را ببینید.

بسته به نسخه Splunk ممکن است روش کار اندکی متفاوت باشد، اما به طور کلی از قاعده زیر پیروی می‌کند:

  1. به صفحه Extract Fields بروید.
  2. گزینه I prefer to write the regular expression myself را انتخاب کنید.
  3. هر یک از قواعد زیر را وارد کرده و آن را ذخیره نمایید. (هنگام ورود دقت کنید که هر بار یک سطر را کپی و استفاده کنید. هیچ کاراکتر اضافی فاصله یا اینتر نباید کپی شود)
  4. مراحل بالا را برای تمامی قواعد تکرار نمایید.

قواعد

(?<logtype>\S+) \[(?<clienttime>.*)\] Malware '(?<malwarename>.*)' found in client (?<clientname>.*) \[(?<clientip>.*)\] on path '(?<filepath>.*)', action=(?<action>.*), result=(?<result>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] (?<protection>.*) turned (?<onoff>on|off) by '(?<username>.*)' on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] File '(?<filepath>.*)' restored from quarantine by '(?<username>.*)' on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] Restore of file '(?<filepath>.*)' from quarantine failed by '(?<username>.*)' on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] Successfuly updated by '(?<username>.*)' on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] Update by '(?<username>.*)' failed on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] A scan was performed on client (?<clientname>.*) \[(?<clientip>.*)\] by '(?<username>.*)'. Result='(?<result>.*)', Scanned files='(?<filecount>\d+)', Threats found='(?<threatcount>\d+)', Start Date='(?<scanstart>.*)', End Date='(?<scanend>.*)'
(?<logtype>\S+) \[(?<clienttime>.*)\] (?<action>.*) connection on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*). \[Direction='(?<direction>.*)', Remote Address='(?<remoteip>.*):(?<remoteport>.*)', Local Address=':(?<localport>.*)', Protocol='(?<ipprotocol>\d+)'\]
(?<logtype>\S+) \[(?<clienttime>.*)\] Device '(?<devicetype>.*)' with ID '(?<deviceserial>.*)' connected and was '(?<action>.*)' on client (?<clientname>.*) \[(?<clientip>.*)\], user (?<consoleusername>.*)
(?<logtype>\S+) \[(?<clienttime>.*)\] IDS detected '(?<attackname>.*)' on (?<direction>.*) connection (from|to) (?<remoteip>.*) on client (?<clientname>.*) \[(?<clientip>.*)\] user (?<consoleusername>.*) and (?<action>.*) it