{"id":1743,"date":"2025-05-21T12:57:16","date_gmt":"2025-05-21T10:57:16","guid":{"rendered":"https:\/\/www.sycope.com\/post\/integrating-sycope-audit-logs-with-siem-for-enhanced-compliance-and-monitoring"},"modified":"2025-08-06T08:33:36","modified_gmt":"2025-08-06T06:33:36","slug":"integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania","status":"publish","type":"post","link":"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania","title":{"rendered":"Integracja log\u00f3w audytu Sycope z SIEM w celu zwi\u0119kszenia zgodno\u015bci i monitorowania"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania\/#Eksportowanie_logow_audytu_do_SIEM_za_pomoca_NQL_i_API\" >Eksportowanie log\u00f3w audytu do SIEM za pomoc\u0105 NQL i API<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania\/#Utworzenie_uzytkownika_do_wykonywania_zapytan_NQL\" >Utworzenie u\u017cytkownika do wykonywania zapyta\u0144 NQL<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania\/#Przygotowanie_funkcji_ktora_uwierzytelni_uzytkownika\" >Przygotowanie funkcji, kt\u00f3ra uwierzytelni u\u017cytkownika<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania\/#Przygotowanie_funkcji_ktora_wykona_zapytanie_NQL_dla_strumienia_danych_audit_log_wzbogaci_i_wysle_wyeksportowane_logi_audytu_do_SIEM\" >Przygotowanie funkcji, kt\u00f3ra wykona zapytanie NQL dla strumienia danych audit log, wzbogaci i wy\u015ble wyeksportowane logi audytu do SIEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sycope.com\/pl\/post\/integracja-logow-audytu-sycope-z-siem-w-celu-zwiekszenia-zgodnosci-i-monitorowania\/#Podsumowanie\" >Podsumowanie<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Eksportowanie_logow_audytu_do_SIEM_za_pomoca_NQL_i_API\"><\/span>Eksportowanie log\u00f3w audytu do SIEM za pomoc\u0105 NQL i API<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"600\" data-end=\"1261\">Wszystkie informacje w Sycope dotycz\u0105ce zar\u00f3wno zebranych danych z NetFlow, jak i alert\u00f3w modu\u0142u Security, powiadomie\u0144 systemowych oraz log\u00f3w audytu s\u0105 przechowywane w zastrze\u017conej bazie danych Sycope, podzielonej na osobne kolekcje zwane strumieniami danych (data streams). Dane w ramach strumienia danych mog\u0105 by\u0107 dost\u0119pne za pomoc\u0105 zastrze\u017conego j\u0119zyka zapyta\u0144 \u2013 NQL. Korzystaj\u0105c z API, na przyk\u0142ad za pomoc\u0105 Postman lub zewn\u0119trznego skryptu wykorzystuj\u0105cego Pythona, mo\u017cemy u\u017cy\u0107 NQL do \u017c\u0105dania danych ze strumienia danych o nazwie \u201eaudit log\u201d, kt\u00f3ry przechowuje informacje o dzia\u0142aniach systemowych i u\u017cytkownika i wys\u0142a\u0107 je na adres IP SIEM jako plik json.<\/p>\n<p data-start=\"1263\" data-end=\"1337\">Aby przygotowa\u0107 tak\u0105 integracj\u0119, nale\u017cy wykona\u0107 3 stosunkowo proste kroki:<\/p>\n<ol data-start=\"1339\" data-end=\"1589\">\n<li data-start=\"1339\" data-end=\"1392\">\n<p data-start=\"1342\" data-end=\"1392\">Utworzenie u\u017cytkownika do wykonywania zapyta\u0144 NQL,<\/p>\n<\/li>\n<li data-start=\"1393\" data-end=\"1450\">\n<p data-start=\"1396\" data-end=\"1450\">Przygotowanie funkcji, kt\u00f3ra uwierzytelni u\u017cytkownika,<\/p>\n<\/li>\n<li data-start=\"1451\" data-end=\"1589\">\n<p data-start=\"1454\" data-end=\"1589\">Przygotowanie funkcji, kt\u00f3ra wykona zapytanie NQL dla strumienia danych audit log, wzbogaci i wy\u015ble wyeksportowane logi audytu do SIEM.<\/p>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Utworzenie_uzytkownika_do_wykonywania_zapytan_NQL\"><\/span>Utworzenie u\u017cytkownika do wykonywania zapyta\u0144 NQL<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Jako pierwszy krok, zgodnie z najlepszymi praktykami bezpiecze\u0144stwa, zdecydowanie zaleca si\u0119 utworzenie u\u017cytkownika dedykowanego wy\u0142\u0105cznie do tego rodzaju integracji. Powinni\u015bmy utworzy\u0107 u\u017cytkownika lokalnego oraz rol\u0119, kt\u00f3ra okre\u015bli jego dost\u0119p do zasob\u00f3w systemowych. Dzi\u0119ki funkcji RBAC w Sycope mo\u017cemy utworzy\u0107 rol\u0119, kt\u00f3ra nie b\u0119dzie mia\u0142a dost\u0119pu do element\u00f3w interfejsu Web UI oraz z dodatkowymi ograniczeniami dla wszystkich strumieni danych opr\u00f3cz niezb\u0119dnego logu audytu. W tym przyk\u0142adzie u\u017cytkownik lokalny utworzony na potrzeby integracji nazywa si\u0119 <em data-start=\"2208\" data-end=\"2217\">auditor<\/em>, a rola, kt\u00f3rej u\u017cywa, to <em data-start=\"2244\" data-end=\"2253\">Auditor<\/em>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1048\" src=\"https:\/\/sycope.com\/wp-content\/uploads\/2025\/05\/656de52f0a40a208b6651d07_artykul-1.png\" alt=\"\" width=\"757\" height=\"798\" srcset=\"https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de52f0a40a208b6651d07_artykul-1.png 624w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de52f0a40a208b6651d07_artykul-1-284x300.png 284w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/p>\n<p>Do uwierzytelniania u\u017cytkownika oraz wykonywania zapytania NQL u\u017cywamy dw\u00f3ch endpoint\u00f3w API:<\/p>\n<p>Pierwszy: <em>https:\/\/&lt;sycope_ip&gt;\/login<\/em>\u00a0for authentication\\ for auth and cookie generation,<\/p>\n<p>Drugi: <em>https:\/\/&lt;sycope_ip&gt;\/pipeline\/run\u00a0<\/em>for query execution.<\/p>\n<p>Korzystaj\u0105c z endpointu login, uzyskujemy cookie sesji u\u017cywane do uwierzytelnienia kolejnych \u017c\u0105da\u0144 do endpointu pipeline\/run. Dane logowania (nazwa u\u017cytkownika i has\u0142o) musz\u0105 by\u0107 podane w tre\u015bci \u017c\u0105dania HTTP POST. Zwr\u00f3cone cookie musi zosta\u0107 zapisane i u\u017cyte w nag\u0142\u00f3wku ka\u017cdego kolejnego \u017c\u0105dania. Poni\u017cej znajduje si\u0119 przyk\u0142ad funkcji stworzonej w Pythonie, kt\u00f3ra wykonuje \u017c\u0105danie logowania.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1049\" src=\"https:\/\/sycope.com\/wp-content\/uploads\/2025\/05\/6571f2ce0b259224574b2c2c_screen_1.png\" alt=\"\" width=\"757\" height=\"444\" srcset=\"https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f2ce0b259224574b2c2c_screen_1.png 822w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f2ce0b259224574b2c2c_screen_1-300x176.png 300w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f2ce0b259224574b2c2c_screen_1-768x450.png 768w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/p>\n<h4><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Przygotowanie_funkcji_ktora_uwierzytelni_uzytkownika\"><\/span>Przygotowanie funkcji, kt\u00f3ra uwierzytelni u\u017cytkownika<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nast\u0119pnie powinni\u015bmy przygotowa\u0107 tre\u015b\u0107 \u017c\u0105dania HTTP, kt\u00f3re b\u0119dzie zawiera\u0142o zapytanie NQL do wykonania, w celu pobrania wpis\u00f3w log\u00f3w audytu. Przyk\u0142ad takiej tre\u015bci znajduje si\u0119 poni\u017cej.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1050\" src=\"https:\/\/sycope.com\/wp-content\/uploads\/2025\/05\/656de588c26b76707e36a22d_network-security.png\" alt=\"\" width=\"757\" height=\"267\" srcset=\"https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de588c26b76707e36a22d_network-security.png 470w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de588c26b76707e36a22d_network-security-300x106.png 300w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/p>\n<p data-start=\"3139\" data-end=\"3433\">Czas rozpocz\u0119cia i zako\u0144czenia musi by\u0107 zmiennymi, kt\u00f3rych warto\u015bci w formacie epoch b\u0119d\u0105 obliczane jako poprzednia minuta przy ka\u017cdym wykonaniu skryptu integracyjnego. Zapewni to, \u017ce uzyskujemy dost\u0119p do najnowszych komunikat\u00f3w i nie powielimy wpis\u00f3w, kt\u00f3re ju\u017c zosta\u0142y wyeksportowane do SIEM.<\/p>\n<p data-start=\"3435\" data-end=\"3573\">Poni\u017cej znajduje si\u0119 propozycja funkcji opartej na bibliotece requests w Pythonie, kt\u00f3ra wykona nasze \u017c\u0105danie z do\u0142\u0105czonym zapytaniem NQL.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1051\" src=\"https:\/\/sycope.com\/wp-content\/uploads\/2025\/05\/6571f26f1c3601b2424f21f4_screen_2.png\" alt=\"\" width=\"757\" height=\"398\" srcset=\"https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f26f1c3601b2424f21f4_screen_2.png 946w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f26f1c3601b2424f21f4_screen_2-300x158.png 300w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/6571f26f1c3601b2424f21f4_screen_2-768x403.png 768w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Przygotowanie_funkcji_ktora_wykona_zapytanie_NQL_dla_strumienia_danych_audit_log_wzbogaci_i_wysle_wyeksportowane_logi_audytu_do_SIEM\"><\/span>Przygotowanie funkcji, kt\u00f3ra wykona zapytanie NQL dla strumienia danych audit log, wzbogaci i wy\u015ble wyeksportowane logi audytu do SIEM<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ostatnim krokiem jest przetworzenie pobranych log\u00f3w, wzbogacenie ich o dodatkowe informacje, kt\u00f3re mog\u0105 by\u0107 wymagane przez administrator\u00f3w SIEM, oraz wys\u0142anie ich na docelowy adres SIEM.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1052\" src=\"https:\/\/sycope.com\/wp-content\/uploads\/2025\/05\/656de6497e5927518da589fd_security-monitoring-picture.png\" alt=\"\" width=\"757\" height=\"494\" srcset=\"https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de6497e5927518da589fd_security-monitoring-picture.png 596w, https:\/\/www.sycope.com\/wp-content\/uploads\/2025\/05\/656de6497e5927518da589fd_security-monitoring-picture-300x196.png 300w\" sizes=\"auto, (max-width: 757px) 100vw, 757px\" \/><\/p>\n<p>Najbardziej odpowiednim sposobem uruchamiania tego typu integracji jest u\u017cycie Crontab lub Harmonogramu zada\u0144, z ustawieniem wykonywania skryptu co minut\u0119. Powinno to zapewni\u0107, \u017ce skrypt b\u0119dzie eksportowa\u0142 komunikaty log\u00f3w z poprzedniej minuty i nie powieli komunikat\u00f3w w systemie docelowym.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Podsumowanie\"><\/span>Podsumowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"4219\" data-end=\"4587\">Podsumowuj\u0105c, znaczenie log\u00f3w audytu w dzisiejszym krajobrazie bezpiecze\u0144stwa organizacyjnego nie mo\u017ce by\u0107 przecenione. Jako podstawowy element praktyk w zakresie bezpiecze\u0144stwa i zgodno\u015bci, przechowywanie i analiza tych krytycznych informacji w scentralizowanym miejscu, takim jak system SIEM (Security Information and Event Management), sta\u0142o si\u0119 najlepsz\u0105 praktyk\u0105.<\/p>\n<p data-start=\"4589\" data-end=\"5144\" data-is-last-node=\"\" data-is-only-node=\"\">W Sycope wszystkie istotne informacje, w tym dane z NetFlow, alerty modu\u0142u Security, powiadomienia systemowe oraz logi audytu, s\u0105 dok\u0142adnie przechowywane w zastrze\u017conej bazie danych Sycope. Dane te s\u0105 zorganizowane w odr\u0119bne kolekcje znane jako strumienie danych (data streams), dost\u0119pne za pomoc\u0105 zastrze\u017conego j\u0119zyka zapyta\u0144 \u2013 NQL. Wykorzystanie NQL za po\u015brednictwem API, narz\u0119dzi takich jak Postman lub zewn\u0119trznych skrypt\u00f3w, takich jak Python, umo\u017cliwia ekstrakcj\u0119 i przesy\u0142anie danych z log\u00f3w audytu na wskazany adres IP systemu SIEM w formacie JSON.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eksportowanie log\u00f3w audytu do SIEM za pomoc\u0105 NQL i API Wszystkie informacje w Sycope dotycz\u0105ce zar\u00f3wno zebranych danych z NetFlow, jak i alert\u00f3w modu\u0142u Security, powiadomie\u0144 systemowych oraz log\u00f3w audytu s\u0105 przechowywane w zastrze\u017conej bazie danych Sycope, podzielonej na osobne kolekcje zwane strumieniami danych (data streams). Dane w ramach strumienia danych mog\u0105 by\u0107 dost\u0119pne za [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1397,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[99],"tags":[143,140,142,141],"product":[165],"topic":[167],"sycope_author":[263],"class_list":["post-1743","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-integracja-siem","tag-logi-audytow","tag-nql-pl","tag-zgodnosc-z-przepisami","product-security-pl","topic-bezpieczenstwo-sieci","sycope_author-jan-rzesny"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/posts\/1743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/comments?post=1743"}],"version-history":[{"count":4,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/posts\/1743\/revisions"}],"predecessor-version":[{"id":2325,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/posts\/1743\/revisions\/2325"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/media\/1397"}],"wp:attachment":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/media?parent=1743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/categories?post=1743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/tags?post=1743"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/product?post=1743"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/topic?post=1743"},{"taxonomy":"sycope_author","embeddable":true,"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/sycope_author?post=1743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}