



<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Z IT Wzięte</title>
	<atom:link href="https://zitwziete.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://zitwziete.org/</link>
	<description></description>
	<lastBuildDate>Sun, 29 Mar 2026 12:48:18 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://zitwziete.org/wp-content/uploads/2021/10/cropped-logo1-bez-tla-biale-32x32.png</url>
	<title>Z IT Wzięte</title>
	<link>https://zitwziete.org/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</title>
		<link>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/</link>
					<comments>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 12:39:47 +0000</pubDate>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[zabbix]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1481</guid>

					<description><![CDATA[<p>Jak stawiać Zabbbixa u siebie w LAN, a jak np zainstalować go u klienta ? </p>
<p>Artykuł <a href="https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/">Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Zabbix jest elastyczny. Możesz go postawić na jednym serwerze i monitorować wszystko w jednej sieci. Możesz też rozciągnąć monitoring na dziesiątki lokalizacji, gdzie serwer Zabbix nigdy nie widzi sieci klienta bezpośrednio. W tym artykule porównuję dwa konkretne scenariusze wdrożenia: Zabbix działający lokalnie na LAN-ie oraz Zabbix z active proxy postawionym u klienta, gdzie to proxy inicjuje połączenie do serwera — a nie odwrotnie.</p>



<h2 class="wp-block-heading">Scenariusz 1: Zabbix na LAN — wszystko w jednej sieci</h2>



<p>To najprostszy i najczęstszy model. Serwer Zabbix stoi w tej samej sieci co monitorowane hosty. Agenty na serwerach raportują bezpośrednio do serwera Zabbix, który zbiera dane, przetwarza triggery, wysyła alerty i wyświetla dashboardy.</p>



<h3 class="wp-block-heading">Jak to wygląda w praktyce</h3>



<pre class="wp-block-code"><code>&#91;Host 1] ──┐
&#91;Host 2] ──┤── LAN ──── &#91;Zabbix Server + Frontend + DB]
&#91;Host 3] ──┘</code></pre>



<p>Serwer Zabbix odpytuje agentów (passive checks) lub agenty same wysyłają dane (active checks). Wszystko dzieje się w jednym segmencie sieci. Nie ma firewalli po drodze, nie ma NAT-u, nie ma opóźnień WAN.</p>



<h3 class="wp-block-heading">Konfiguracja</h3>



<p>Minimalna. Instalujesz serwer Zabbix, stawiasz bazę (PostgreSQL lub MySQL), wdrażasz agentów na hostach. W&nbsp;<code>zabbix_agentd.conf</code>&nbsp;ustawiasz:</p>



<p>ini</p>



<pre class="wp-block-code"><code>Server=192.168.1.10          # IP serwera Zabbix (passive checks)
ServerActive=192.168.1.10    # IP serwera Zabbix (active checks)
Hostname=web-server-01       # unikalna nazwa hosta</code></pre>



<p>I gotowe. Agent raportuje, serwer zbiera. Żadnego proxy, żadnych tuneli, żadnych komplikacji.</p>



<h3 class="wp-block-heading">Zalety</h3>



<ul class="wp-block-list">
<li><strong>Prostota</strong>&nbsp;— jeden serwer, jedna baza, jedna instancja do zarządzania.</li>



<li><strong>Niskie opóźnienia</strong>&nbsp;— dane z agentów trafiają do serwera natychmiast, bo wszystko jest na LAN-ie.</li>



<li><strong>Passive i active checks bez ograniczeń</strong>&nbsp;— serwer ma bezpośredni dostęp do agentów, więc działają oba tryby. Możesz korzystać z remote commands do automatycznego restartowania usług.</li>



<li><strong>SNMP, IPMI, HTTP bez problemów</strong>&nbsp;— serwer odpytuje urządzenia sieciowe bezpośrednio, bez pośredników.</li>



<li><strong>Łatwy troubleshooting</strong>&nbsp;— jedna maszyna, jeden log, jedno miejsce do sprawdzenia.</li>
</ul>



<h3 class="wp-block-heading">Wady</h3>



<ul class="wp-block-list">
<li><strong>Skala ograniczona do jednej lokalizacji</strong>&nbsp;— jeśli masz drugi oddział albo sieć klienta, ten model nie wystarczy.</li>



<li><strong>Brak redundancji</strong>&nbsp;— padnie serwer Zabbix, padnie monitoring. W małych środowiskach to akceptowalne, w większych — nie.</li>



<li><strong>Brak separacji</strong>&nbsp;— serwer Zabbix widzi wszystko i ma dostęp do wszystkiego. W kontekście bezpieczeństwa i segmentacji sieci to niekoniecznie pożądane.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować</h3>



<p>Jedna firma, jedna serwerownia, jeden LAN. Monitorujesz swoje serwery, switche, NAS-y, UPS-y. Masz pełną kontrolę nad siecią. Nie musisz monitorować niczego zdalnie. To scenariusz dla 80% małych i średnich wdrożeń.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Scenariusz 2: Zabbix z active proxy u klienta</h2>



<p>Tu zaczyna się ciekawiej. Masz centralny serwer Zabbix — np. w swoim DC albo na VPS-ie. Klient ma swoją sieć, za NAT-em, za firewallem, do której nie masz (i nie chcesz mieć) bezpośredniego dostępu. U klienta stawiasz Zabbix proxy w trybie&nbsp;<strong>active</strong>. To proxy inicjuje wszystkie połączenia do serwera — serwer nigdy nie łączy się do proxy. Serwer nawet nie musi znać IP proxy.</p>



<p>W tym modelu Serwer zabixa sam nigdy nie komunikuje się z Proxy u klienta. To Proxy wysyła dane na ip serwera w świat (czśto na wysokim porcie), a jeśli np firewall na serwerze przyjmuje dane tylko z podanych ip  to <strong>to jest najbezpieczeniejsze co można wymyślić</strong> poza VPN . </p>



<h3 class="wp-block-heading">Jak to wygląda w praktyce</h3>



<pre class="wp-block-code"><code>Sieć klienta (za NAT/firewall):                    Twój DC:
┌──────────────────────────┐                ┌──────────────────┐
│ &#91;Host 1] ──┐             │                │                  │
│ &#91;Host 2] ──┤── LAN ── &#91;Zabbix Proxy] ──────────► &#91;Zabbix Server]  │
│ &#91;Host 3] ──┘   (active)  │   port 10051   │  + Frontend + DB │
│ &#91;Switch] ──┘             │                │                  │
└──────────────────────────┘                └──────────────────┘
         ← proxy inicjuje połączenie →
         ← serwer NIE łączy się do proxy →</code></pre>



<p>Kluczowa sprawa:&nbsp;<strong>active proxy sam puka do serwera</strong>. Pobiera konfigurację (jakie hosty monitorować, jakie itemy zbierać) i odsyła zebrane dane. Serwer nie musi mieć routingu do sieci klienta. Firewall u klienta musi przepuścić tylko jeden port wychodzący (domyślnie 10051 TCP) do serwera Zabbix.</p>



<h3 class="wp-block-heading">Konfiguracja proxy</h3>



<p>Na maszynie u klienta instalujesz Zabbix proxy. W&nbsp;<code>zabbix_proxy.conf</code>:</p>



<p>ini</p>



<pre class="wp-block-code"><code>ProxyMode=0                          # 0 = active (domyślne)
Hostname=klient-abc-proxy            # musi się zgadzać z nazwą w frontendzie
Server=zabbix.twojafirma.pl:10051   # adres Twojego serwera Zabbix
DBName=/tmp/zabbix_proxy.db          # SQLite wystarczy dla małych wdrożeń
ConfigFrequency=120                  # co ile sekund pobierać konfigurację
DataSenderFrequency=5                # co ile sekund wysyłać dane
ProxyOfflineBuffer=72                # ile godzin trzymać dane przy braku łączności</code></pre>



<p>Na frontendzie serwera Zabbix:&nbsp;<strong>Administration → Proxies → Create proxy</strong>&nbsp;— wpisujesz nazwę&nbsp;<code>klient-abc-proxy</code>, tryb Active. Nie musisz podawać żadnego IP proxy.</p>



<h3 class="wp-block-heading">Konfiguracja agentów u klienta</h3>



<p>Agenty wskazują na lokalne IP proxy, nie na serwer Zabbix:</p>



<p>ini</p>



<pre class="wp-block-code"><code>Server=192.168.10.50           # IP proxy w sieci klienta
ServerActive=192.168.10.50     # IP proxy w sieci klienta
Hostname=klient-abc-dc01       # unikalna nazwa hosta</code></pre>



<p>Agent nie wie, że rozmawia z proxy a nie z serwerem — protokół jest identyczny.</p>



<h3 class="wp-block-heading">Przepływ danych</h3>



<ol class="wp-block-list">
<li><strong>Proxy → Serwer</strong>: Proxy łączy się z serwerem co&nbsp;<code>ConfigFrequency</code>&nbsp;sekund i pobiera konfigurację (lista hostów, itemów, triggerów do monitorowania).</li>



<li><strong>Agenty → Proxy</strong>: Agenty w sieci klienta raportują dane do proxy (LAN, bez wychodzenia na zewnątrz).</li>



<li><strong>Proxy → Serwer</strong>: Proxy buforuje dane lokalnie i wysyła je do serwera co&nbsp;<code>DataSenderFrequency</code>&nbsp;sekund.</li>



<li><strong>Serwer przetwarza</strong>: Triggery, eventy, alerty — to wszystko dzieje się na serwerze. Proxy jest tylko kolektorem danych.</li>
</ol>



<p>Serwer&nbsp;<strong>nigdy nie inicjuje połączenia</strong>&nbsp;do proxy. Proxy puka do serwera. To fundamentalna różnica, która rozwiązuje problem NAT-u, firewalli i braku bezpośredniego dostępu do sieci klienta.</p>



<h3 class="wp-block-heading">Co się dzieje, gdy padnie łącze?</h3>



<p>Proxy buforuje dane lokalnie. Parametr&nbsp;<code>ProxyOfflineBuffer</code>&nbsp;(domyślnie 1 godzina) określa, jak długo proxy trzyma dane, gdy nie może połączyć się z serwerem. Ustawiasz np. 72 godziny — i proxy przeżyje weekend bez łączności. Gdy połączenie wróci, proxy wyśle zaległe dane i serwer je przetworzy.</p>



<p>W trybie&nbsp;<code>ProxyBufferMode=hybrid</code>&nbsp;(od Zabbix 7.0) proxy trzyma dane w pamięci dla szybkości, a gdy pamięć się zapełni — zrzuca na dysk. Najlepsze z obu światów.</p>



<h3 class="wp-block-heading">Zalety</h3>



<ul class="wp-block-list">
<li><strong>Firewall-friendly</strong>&nbsp;— jedyne wymaganie: port wychodzący z proxy do serwera. Żadnych portów przychodzących u klienta, żadnego VPN-a, żadnego otwierania dziur.</li>



<li><strong>Serwer nie ma dostępu do sieci klienta</strong>&nbsp;— i to jest feature, nie bug. Separacja jest pełna. Serwer nie może skanować sieci klienta, nie może łączyć się z hostami. Dane płyną tylko w jedną stronę: od proxy do serwera.</li>



<li><strong>Buforowanie offline</strong>&nbsp;— awaria łącza nie oznacza utraty danych. Proxy trzyma metryki lokalnie i dosyła je po przywróceniu połączenia.</li>



<li><strong>Skalowalność</strong>&nbsp;— jeden serwer Zabbix, dziesiątki proxy u różnych klientów. Każde proxy zbiera dane ze swojego segmentu, serwer centralizuje wszystko.</li>



<li><strong>Odciążenie serwera</strong>&nbsp;— proxy wykonuje preprocessing danych i skanowanie sieci (discovery) lokalnie. Serwer dostaje gotowe dane.</li>



<li><strong>Prosta konfiguracja sieciowa</strong>&nbsp;— nie musisz znać publicznego IP proxy, nie musisz konfigurować port forwarding u klienta. Proxy samo się łączy.</li>
</ul>



<h3 class="wp-block-heading">Wady</h3>



<ul class="wp-block-list">
<li><strong>Brak remote commands</strong>&nbsp;— serwer nie może wysłać komendy do hosta przez active proxy, bo nie ma do niego bezpośredniego połączenia. Od Zabbix 7.0 active agent potrafi odbierać remote commands, ale wymaga to dodatkowej konfiguracji.</li>



<li><strong>Opóźnienie w danych</strong>&nbsp;— dane nie trafiają na serwer natychmiastowo. Jest bufor, jest&nbsp;<code>DataSenderFrequency</code>. W praktyce opóźnienie to kilka sekund, ale nie jest zerowe.</li>



<li><strong>Opóźnienie w konfiguracji</strong>&nbsp;— po zmianie itemów na serwerze proxy musi pobrać nową konfigurację. Domyślnie&nbsp;<code>ConfigFrequency=3600</code>&nbsp;(1 godzina!). Warto zmniejszyć do 120-300 sekund. Można też wymusić ręcznie:&nbsp;<code>zabbix_proxy -R config_cache_reload</code>.</li>



<li><strong>Dodatkowy komponent</strong>&nbsp;— proxy to kolejna maszyna do utrzymania, kolejna baza danych, kolejny serwis do monitorowania (tak — monitoruj swoje proxy).</li>



<li><strong>Brak passive checks z serwera</strong>&nbsp;— serwer nie może odpytać agenta przez proxy w trybie active. Agenty muszą pracować w trybie active checks.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować</h3>



<p>Monitorujesz infrastrukturę klientów jako usługę (MSP/MSSP). Masz wiele oddziałów za NAT-em. Klient nie chce (słusznie) otwierać VPN-a do Twojego serwera. Potrzebujesz centralnego dashboardu dla wielu lokalizacji. Chcesz separacji — serwer nie powinien mieć dostępu do sieci klienta.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Porównanie: LAN vs Active Proxy</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Cecha</th><th>Zabbix na LAN</th><th>Zabbix + Active Proxy</th></tr></thead><tbody><tr><td>Złożoność wdrożenia</td><td>Niska</td><td>Średnia</td></tr><tr><td>Firewall/NAT</td><td>Nie przeszkadza</td><td>Rozwiązany — proxy łączy się na zewnątrz</td></tr><tr><td>Serwer ma dostęp do sieci klienta</td><td>Tak (pełny)</td><td>Nie (zero)</td></tr><tr><td>Kierunek połączenia</td><td>Serwer <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Agent</td><td>Proxy → Serwer (jednokierunkowy)</td></tr><tr><td>Passive checks</td><td>Tak</td><td>Nie (tylko active)</td></tr><tr><td>Remote commands</td><td>Tak</td><td>Ograniczone</td></tr><tr><td>Buforowanie offline</td><td>Nie</td><td>Tak (do 72h+)</td></tr><tr><td>Skalowalność lokalizacji</td><td>Jedna</td><td>Wiele</td></tr><tr><td>Opóźnienie danych</td><td>Brak</td><td>Kilka sekund</td></tr><tr><td>Koszt</td><td>1 serwer</td><td>1 serwer + N proxy</td></tr><tr><td>Monitoring SNMP/IPMI</td><td>Bezpośredni z serwera</td><td>Przez proxy (lokalnie)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Który model wybrać?</h2>



<p>To nie jest kwestia „lepszy/gorszy&#8221;. To kwestia kontekstu.</p>



<p>Jeśli monitorujesz&nbsp;<strong>swoją</strong>&nbsp;infrastrukturę, w&nbsp;<strong>jednej</strong>&nbsp;lokalizacji, na&nbsp;<strong>jednym</strong>&nbsp;LAN-ie — stawiasz serwer Zabbix i nie komplikujesz sobie życia. Proxy jest zbędne.</p>



<p>Jeśli monitorujesz infrastrukturę&nbsp;<strong>klientów</strong>, zarządzasz&nbsp;<strong>wieloma lokalizacjami</strong>, albo potrzebujesz monitoringu&nbsp;<strong>bez VPN-a i bez otwierania portów u klienta</strong>&nbsp;— active proxy to jedyna sensowna droga. Proxy puka do Twojego serwera, wysyła dane, a serwer nigdy nie widzi sieci klienta. Bezpiecznie, skalowalne, firewall-friendly.</p>



<p>W praktyce oba modele mogą współistnieć. Serwer Zabbix monitoruje lokalny LAN bezpośrednio, a jednocześnie odbiera dane z proxy rozsianych po lokalizacjach klientów. To nie jest albo-albo — to kwestia dopasowania architektury do potrzeb.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/">Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>QNAP – uprawnienia folderów zmieniają się same?</title>
		<link>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/</link>
					<comments>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Tue, 24 Mar 2026 21:50:45 +0000</pubDate>
				<category><![CDATA[Sprzęt]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[uprawnienia]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1452</guid>

					<description><![CDATA[<p>Ustawiasz uprawnienia na folderach QNAP, wszystko działa, a na drugi dzień znowu masz problem z dostępem? Użytkownicy nie mogą zapisywać plików do folderów, w których wczoraj jeszcze mogli? Klasyczny scenariusz – ustawiasz RW na Folder, wychodzisz, wracasz rano i uprawnienia wróciły do stanu wyjściowego.</p>
<p>Artykuł <a href="https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/">QNAP – uprawnienia folderów zmieniają się same?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<p>Ustawiasz uprawnienia na folderach QNAP, wszystko działa, a na drugi dzień znowu masz problem z dostępem? Użytkownicy nie mogą zapisywać plików do folderów, w których wczoraj jeszcze mogli? Klasyczny scenariusz – ustawiasz RW na Folder, wychodzisz, wracasz rano i uprawnienia wróciły do stanu wyjściowego.</p>



<p>Zanim zaczniesz resetować NAS-a, przeinstalowywać firmware albo grzebać w ACL-ach – sprawdź crontab. Bardzo prawdopodobne, że winowajcą jest systemowe zadanie&nbsp;<code>ImR_all</code>, które co noc nadpisuje Twoje uprawnienia.</p>



<h2 class="wp-block-heading">Co to jest ImR_all i dlaczego psuje uprawnienia</h2>



<p>W domyślnej konfiguracji QNAP w crontabie znajdziesz wpis:</p>



<pre class="wp-block-code"><code><strong>0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</strong></code></pre>



<p>To zadanie uruchamia się&nbsp;<strong>codziennie o 3:00 w nocy</strong>&nbsp;i wykonuje &#8222;miękki&#8221; reset indeksowania oraz uprawnień na folderze&nbsp;<code>/Qmultimedia</code>&nbsp;(alias do&nbsp;<code>/share/MD0_DATA/Multimedia</code>). Jest to element systemu Multimedia Console, który odpowiada za indeksowanie plików multimedialnych – zdjęć, filmów, muzyki.</p>



<p>Problem polega na tym, że&nbsp;<code>ImR_all</code>&nbsp;potrafi&nbsp;<strong>nadpisać uprawnienia</strong>, które ręcznie ustawiłeś na folderach i podfolderach w obrębie Multimedia. Efekt – Twoje niestandardowe ACL-e i ustawienia dostępu wracają do stanu &#8222;domyślnego&#8221; każdej nocy.</p>



<h2 class="wp-block-heading">Objawy problemu</h2>



<p>Jeśli widzisz którykolwiek z tych objawów, prawdopodobnie&nbsp;<code>ImR_all</code>&nbsp;jest winowajcą:</p>



<ul class="wp-block-list">
<li>Uprawnienia na folderze Multimedia resetują się po nocy</li>



<li>Użytkownicy tracą dostęp do podfolderów, który dzień wcześniej działał</li>



<li>Zmiana uprawnień w panelu QTS nie &#8222;trzyma się&#8221; dłużej niż kilka godzin</li>



<li>W File Station lub przez SMB nagle pojawia się &#8222;Access Denied&#8221; na folderach, które wcześniej były dostępne</li>



<li>Po ręcznym ustawieniu uprawnień przez SSH (<code>chmod</code>, <code>setfacl</code>) zmiany znikają następnego dnia</li>
</ul>



<h2 class="wp-block-heading">Rozwiązanie – wyłączenie ImR_all w crontabie</h2>



<p>Rozwiązanie jest proste – trzeba zakomentować lub usunąć wpis&nbsp;<code>ImR_all</code>&nbsp;z crontaba. Wymaga to dostępu SSH do NAS-a.</p>



<h3 class="wp-block-heading">Krok 1: Włącz SSH na QNAP</h3>



<ol class="wp-block-list">
<li>Zaloguj się do panelu QTS jako administrator</li>



<li>Przejdź do <strong>Panel sterowania → Usługi sieciowe i plików → Telnet/SSH</strong></li>



<li>Zaznacz <strong>Zezwalaj na połączenie SSH</strong></li>



<li>Ustaw port (domyślnie 22, ale rozważ zmianę na niestandardowy, np. 2222, jeśli NAS jest dostępny z internetu)</li>



<li>Kliknij <strong>Zastosuj</strong></li>
</ol>



<h3 class="wp-block-heading">Krok 2: Połącz się z NAS przez SSH</h3>



<p>Z komputera z Windows użyj PuTTY lub wbudowanego terminala:</p>



<p>bash</p>



<pre class="wp-block-code"><code>ssh admin@ADRES_IP_QNAP</code></pre>



<p>Na macOS / Linux po prostu otwórz terminal i wpisz powyższe polecenie. Zaloguj się danymi administratora QNAP.</p>



<h3 class="wp-block-heading">Krok 3: Zrób backup crontaba</h3>



<p>Zanim cokolwiek zmienisz – kopia zapasowa:</p>



<p>bash</p>



<pre class="wp-block-code"><code>cp /etc/config/crontab /etc/config/crontab.backup</code></pre>



<h3 class="wp-block-heading">Krok 4: Edytuj crontab</h3>



<p>Otwórz plik crontaba w edytorze:</p>



<p>bash</p>



<pre class="wp-block-code"><code>vi /etc/config/crontab</code></pre>



<p>Znajdź linię:</p>



<pre class="wp-block-code"><code>0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</code></pre>



<p>Zakomentuj ją, dodając&nbsp;<code>#</code>&nbsp;na początku linii:</p>



<pre class="wp-block-code"><code>#0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</code></pre>



<p><strong>Szybka ściągawka vi:</strong></p>



<ul class="wp-block-list">
<li>Naciśnij <code>i</code> żeby wejść w tryb edycji</li>



<li>Dodaj <code>#</code> na początku linii</li>



<li>Naciśnij <code>Esc</code></li>



<li>Wpisz <code>:wq</code> i naciśnij <code>Enter</code> żeby zapisać i wyjść</li>
</ul>



<h3 class="wp-block-heading">Krok 5: Załaduj nowy crontab i zrestartuj cron</h3>



<p>To kluczowy krok – samo zapisanie pliku nie wystarczy. QNAP wymaga jawnego załadowania crontaba:</p>



<p>bash</p>



<pre class="wp-block-code"><code>crontab /etc/config/crontab &amp;&amp; /etc/init.d/crond.sh restart</code></pre>



<h3 class="wp-block-heading">Krok 6: Zweryfikuj zmianę</h3>



<p>Sprawdź, czy Twoja zmiana została zastosowana:</p>



<p>bash</p>



<pre class="wp-block-code"><code>crontab -l | grep ImR_all</code></pre>



<p>Jeśli wszystko poszło dobrze, powinieneś zobaczyć zakomentowaną linię z&nbsp;<code>#</code>&nbsp;na początku lub brak wyniku (jeśli usunąłeś linię zamiast komentować).</p>



<h2 class="wp-block-heading">Dlaczego zmiana w crontabie wymaga dodatkowego kroku</h2>



<p>Na standardowym Linuxie edytujesz crontab poleceniem&nbsp;<code>crontab -e</code>&nbsp;i zmiany od razu działają. Na QNAP jest inaczej – system trzyma &#8222;źródło prawdy&#8221; w pliku&nbsp;<code>/etc/config/crontab</code>&nbsp;i trzeba je jawnie załadować poleceniem&nbsp;<code>crontab /etc/config/crontab</code>.</p>



<p>Co więcej –&nbsp;<strong>nie używaj&nbsp;<code>crontab -e</code>&nbsp;na QNAP</strong>. Zmiany wprowadzone tą komendą są tymczasowe i znikną przy następnym restarcie lub aktualizacji systemu, bo QTS nadpisze je zawartością z&nbsp;<code>/etc/config/crontab</code>.</p>



<p>Poprawna procedura to zawsze:</p>



<ol class="wp-block-list">
<li>Edytuj <code>/etc/config/crontab</code></li>



<li>Załaduj: <code>crontab /etc/config/crontab</code></li>



<li>Restart crona: <code>/etc/init.d/crond.sh restart</code></li>
</ol>



<h2 class="wp-block-heading">Czy wyłączenie ImR_all jest bezpieczne?</h2>



<p>Tak, z jednym zastrzeżeniem.&nbsp;<code>ImR_all</code>&nbsp;odpowiada za odświeżanie indeksu multimediów. Jeśli korzystasz z wbudowanych aplikacji QNAP do przeglądania multimediów (Multimedia Station, Photo Station, Video Station), wyłączenie tego zadania sprawi, że nowo dodane pliki nie będą automatycznie indeksowane w nocy.</p>



<p><strong>Praktycznie nie ma to żadnego znaczenia</strong>, jeśli:</p>



<ul class="wp-block-list">
<li>Używasz Multimedia Console z włączonym automatycznym indeksowaniem (to osobny mechanizm)</li>



<li>Korzystasz z Plex, Jellyfin lub innego zewnętrznego serwera mediów (mają własne indeksowanie)</li>



<li>Nie korzystasz z wbudowanych aplikacji multimedialnych QNAP</li>



<li>Multimedia Console jest wyłączona</li>
</ul>



<p>Nawet jeśli korzystasz z natywnych aplikacji QNAP – ręczne indeksowanie jest dostępne z poziomu Multimedia Console (przycisk &#8222;Reindex&#8221;).</p>



<h2 class="wp-block-heading">Dodatkowe porady – naprawianie uprawnień po szkodach</h2>



<p>Jeśli&nbsp;<code>ImR_all</code>&nbsp;zdążył już namieszać w Twoich uprawnieniach, oto jak je naprawić.</p>



<h3 class="wp-block-heading">Sprawdzenie aktualnych uprawnień z SSH</h3>



<p>bash</p>



<pre class="wp-block-code"><code>getfacl /share/MD0_DATA/Multimedia
ls -la /share/MD0_DATA/Multimedia/</code></pre>



<h3 class="wp-block-heading">Reset uprawnień na folderze Multimedia</h3>



<p>Jeśli uprawnienia są kompletnie rozwalone, możesz je zresetować:</p>



<p>bash</p>



<pre class="wp-block-code"><code># Usuń wszystkie ACL
setfacl -R --remove-all /share/MD0_DATA/Multimedia/*

# Ustaw właściciela i grupę
chown -R admin:administrators /share/MD0_DATA/Multimedia

# Ustaw uprawnienia
chmod -R 770 /share/MD0_DATA/Multimedia</code></pre>



<p>Następnie w panelu QTS przejdź do&nbsp;<strong>Prawa dostępu → Foldery współdzielone → Multimedia → Edytuj uprawnienia</strong>&nbsp;i ponownie ustaw dostęp dla użytkowników/grup. Zaznacz opcję&nbsp;<strong>&#8222;Zastosuj i zastąp wszystkie istniejące uprawnienia&#8221;</strong>.</p>



<h3 class="wp-block-heading">Użycie set_volume_mode</h3>



<p>QNAP ma też wbudowane narzędzie do resetowania trybu uprawnień na wolumenie:</p>



<p>bash</p>



<pre class="wp-block-code"><code>/sbin/set_volume_mode</code></pre>



<p>Uruchom je bez parametrów, żeby zobaczyć dostępne opcje. Pozwala to przełączyć wolumin między trybem uprawnień Linuxowych a Windows ACL.</p>



<h2 class="wp-block-heading">Co jeszcze warto sprawdzić w crontabie</h2>



<p>Skoro już jesteś w crontabie, rzuć okiem na inne wpisy, które mogą wpływać na działanie NAS-a. Domyślny crontab QNAP zawiera kilka ciekawych pozycji:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Wpis</th><th>Co robi</th></tr></thead><tbody><tr><td><code>/sbin/vs_refresh</code></td><td>Odświeża konfigurację Video Station</td></tr><tr><td><code>/sbin/clean_reset_pwd</code></td><td>Czyści tymczasowe hasła po resecie</td></tr><tr><td><code>/etc/init.d/nss2_dusg.sh</code></td><td>Przelicza użycie dysku (co 15 min)</td></tr><tr><td><code>/sbin/qfstrim</code></td><td>TRIM na SSD (ważne, nie wyłączaj)</td></tr><tr><td><code>/etc/init.d/idmap.sh dump</code></td><td>Dump mapowania ID (raz w tygodniu)</td></tr><tr><td><code>/sbin/notice_log_tool</code></td><td>Rotacja logów</td></tr><tr><td><code>/etc/init.d/storage_usage.sh</code></td><td>Statystyki użycia pamięci (co 10 min)</td></tr></tbody></table></figure>



<p><strong>Nie wyłączaj tych zadań</strong>&nbsp;bez dobrego powodu – są potrzebne do prawidłowego działania systemu.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Problem z samoczynnie zmieniającymi się uprawnieniami na QNAP to klasyczny przypadek &#8222;nic nie ruszałem, a samo się zepsuło&#8221;. W rzeczywistości QNAP co noc uruchamia zadanie&nbsp;<code>ImR_all</code>, które resetuje uprawnienia na folderze Multimedia.</p>



<p>Rozwiązanie:</p>



<ol class="wp-block-list">
<li>Włącz SSH</li>



<li>Edytuj <code>/etc/config/crontab</code></li>



<li>Zakomentuj linię z <code>ImR_all</code></li>



<li>Załaduj crontab: <code>crontab /etc/config/crontab &amp;&amp; /etc/init.d/crond.sh restart</code></li>



<li>Gotowe – uprawnienia zostaną takie, jakie ustawisz</li>
</ol>
<p>Artykuł <a href="https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/">QNAP – uprawnienia folderów zmieniają się same?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</title>
		<link>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/</link>
					<comments>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 21:45:42 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1387</guid>

					<description><![CDATA[<p>Ransomware szyfruje dane, lekarze wracają do długopisu, a przywracanie systemów trwa tygodniami. Ale problem nie leży tam, gdzie myślisz. Problem to backup podłączony do sieci i antywirus z 2015 roku.</p>
<p>Artykuł <a href="https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/">Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Anno domini 2026. Polskie szpitale padają jak domino. Ransomware szyfruje dane, lekarze wracają do długopisu, a przywracanie systemów trwa tygodniami. Ale problem nie leży tam, gdzie myślisz. Problem to backup podłączony do sieci &#8230;</strong></p>



<h2 class="wp-block-heading">Ransomware nie szyfruje tego, czego nie widzi</h2>



<p>Zacznijmy od podstaw. Ransomware to program, który szyfruje pliki na dyskach, do których ma dostęp. Klucz do zrozumienia tego zdania: <strong>do których ma dostęp</strong>.</p>



<p>Jeśli Twój backup leży na udziale sieciowym, na NAS-ie zamontowanym przez SMB, na dysku podpiętym 24/7 do serwera — ransomware zaszyfruje go razem z resztą. Nie dlatego, że jest „sprytny&#8221;. Dlatego, że ma do niego ścieżkę sieciową. Dokładnie tak samo, jak Ty otwierasz ten udział w Eksploratorze plików.</p>



<p>I to jest dokładnie to, co dzieje się w większości ataków. Według danych branżowych, 94% ataków ransomware obejmuje próbę zniszczenia kopii zapasowych. Atakujący wiedzą, że backup to jedyna rzecz, która stoi między nimi a okupem. Więc celują w niego jako pierwszy krok.</p>



<p>W przypadku ataków  w  2026 — najprawdopodobniej przywracanie systemów trwało tygodniami. Tysiące komputerów do postawienia od zera. Gdyby istniała kopia odłączona od sieci, czas odtworzenia liczyłby się w godzinach, nie tygodniach.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Czym jest backup air-gapped i dlaczego działa</h2>



<p>Air-gapped backup to kopia zapasowa, która jest <strong>fizycznie odłączona od infrastruktury</strong> — nie ma do niej ścieżki sieciowej, nie jest zamontowana jako dysk, nie jest widoczna dla żadnego systemu w sieci. Ransomware nie może zaszyfrować czegoś, do czego nie ma połączenia. Proste.</p>



<p>Jak to wygląda w praktyce? Kilka wariantów od najprostszego do najbardziej zaawansowanego:</p>



<h3 class="wp-block-heading">Dysk zewnętrzny USB z rotacją</h3>



<p>Najprostsza forma air-gap. Dwa lub trzy dyski zewnętrzne USB, podłączane na czas backupu i fizycznie odłączane po zakończeniu. Rotacja codzienna lub tygodniowa — jeden dysk podłączony, reszta w szafie (najlepiej w innym pomieszczeniu lub budynku).</p>



<p>Koszt: 200–500 zł za dysk. Skuteczność: 100% ochrony przed ransomware sieciowym.</p>



<h3 class="wp-block-heading">Taśmy LTO</h3>



<p>Klasyka w większych środowiskach. Taśma po zapisaniu trafia na półkę — fizycznie nie ma połączenia z niczym. LTO-9 to 18 TB na taśmę (45 TB po kompresji). Droższa inwestycja początkowa (napęd LTO-9 to kilkanaście tysięcy złotych), ale koszt nośnika niski i niezawodność ogromna.</p>



<h3 class="wp-block-heading">Dedykowany serwer backupowy z izolacją sieciową</h3>



<p>Serwer backupowy, który łączy się z infrastrukturą produkcyjną tylko w oknie backupowym — przez ściśle kontrolowane reguły firewalla. Poza oknem backupowym: zero połączeń. Bardziej zaawansowane rozwiązanie, wymaga kompetencji sieciowych, ale daje wygodę automatyzacji przy zachowaniu izolacji.</p>



<h3 class="wp-block-heading">Backup w chmurze z immutability</h3>



<p>Usługi takie jak Backblaze B2, Wasabi czy AWS S3 z Object Lock pozwalają ustawić niezmienność (immutability) — zapisane dane nie mogą być nadpisane ani usunięte przez określony czas, nawet jeśli atakujący przejmie klucze dostępowe. To nie jest klasyczny air-gap, ale daje podobny efekt: ransomware nie jest w stanie zniszczyć tych kopii.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Reguła 3-2-1-1-0 — minimum, nie ideał</h2>



<p>Branżowy standard to reguła <strong>3-2-1-1-0</strong>:</p>



<ul class="wp-block-list">
<li><strong>3</strong> kopie danych (produkcja + dwie kopie zapasowe)</li>



<li><strong>2</strong> różne typy nośników (np. dysk + taśma, dysk + chmura)</li>



<li><strong>1</strong> kopia off-site (poza lokalizacją główną)</li>



<li><strong>1</strong> kopia air-gapped lub immutable</li>



<li><strong>0</strong> błędów przy weryfikacji odtwarzalności</li>
</ul>



<p>Ten ostatni punkt jest krytyczny i najczęściej pomijany. Backup, którego nigdy nie testowałeś, nie jest backupem. Jest obietnicą, która może się nie spełnić. Testuj odtwarzanie regularnie — minimum raz na kwartał.</p>



<p>Kopia na NAS-ie podłączonym do tej samej sieci co reszta infrastruktury <strong>nie spełnia żadnego z tych punktów</strong>, poza byciem „drugą kopią&#8221;. To nie jest backup — to złudzenie bezpieczeństwa.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Antywirus: dlaczego „jakiś darmowy&#8221; nie wystarczy</h2>



<p>Druga warstwa, która regularnie zawodzi w atakowanych organizacjach, to ochrona endpointów. Statystyki za 2025 rok mówią jasno:</p>



<ul class="wp-block-list">
<li>41% udanych ataków na placówki medyczne wynikało ze znanych, ale niezałatanych luk bezpieczeństwa</li>



<li>33% ataków wykorzystywało exploity na znane podatności</li>



<li>42% placówek nie miało odpowiedniej liczby specjalistów monitorujących systemy</li>
</ul>



<p>To nie jest historia o superzaawansowanych hakerach. To historia o Windows Server bez aktualizacji od pół roku, o koncie admina z hasłem „admin123&#8243;, o antywirusie, którego nikt nie otworzył od dnia instalacji.</p>



<h3 class="wp-block-heading">Co powinien robić porządny system ochrony endpointów</h3>



<p>Profesjonalny antywirus klasy endpoint protection (np. ESET PROTECT, Bitdefender GravityZone, Microsoft Defender for Endpoint) to nie jest „skanowanie plików jak w 2005 roku&#8221;. To wielowarstwowy system, który:</p>



<ul class="wp-block-list">
<li><strong>Analiza behawioralna</strong> — wykrywa ransomware po zachowaniu (masowe szyfrowanie plików, zmiana rozszerzeń), nawet jeśli sam plik jest zupełnie nowy i nieznany</li>



<li><strong>Ochrona przed exploitami</strong> — blokuje techniki wykorzystywane do przejmowania kontroli nad systemem przez luki w oprogramowaniu</li>



<li><strong>Sandboxing</strong> — podejrzane pliki uruchamiane są w izolowanym środowisku zanim dotrą do użytkownika</li>



<li><strong>Centralna konsola zarządzania</strong> — widoczność na całą infrastrukturę z jednego miejsca, alertowanie, wymuszanie polityk</li>



<li><strong>EDR (Endpoint Detection &amp; Response)</strong> — ciągłe monitorowanie aktywności na endpointach, możliwość retrospektywnego przeszukiwania zdarzeń, izolowanie zainfekowanych maszyn</li>
</ul>



<h3 class="wp-block-heading">Ale nawet najlepszy antywirus nie pomoże, jeśli…</h3>



<ul class="wp-block-list">
<li>…nikt nie patrzy na alerty. Średni czas wykrycia incydentu w ochronie zdrowia to ponad 200 dni. Dwieście dni, w trakcie których atakujący swobodnie eksplorują sieć.</li>



<li>…nie ma segmentacji sieci. Jeśli jeden zainfekowany komputer w rejestracji ma dostęp do serwera z bazą pacjentów, to atak na stację roboczą = atak na krytyczne dane.</li>



<li>…systemy nie są aktualizowane. Exploit na podatność sprzed 6 miesięcy to nie jest „zaawansowany atak&#8221;. To odpalenie gotowego narzędzia.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Segmentacja sieci — trzecia warstwa, o której nikt nie mówi</h2>



<p>Segmentacja to podział sieci na odizolowane strefy, tak żeby kompromitacja jednego segmentu nie oznaczała kompromitacji całej infrastruktury.</p>



<p>W praktyce: komputer w rejestracji nie powinien mieć dostępu do serwera z backupami. Drukarka sieciowa nie powinna widzieć kontrolera domeny. Sieć Wi-Fi dla gości nie powinna mieć żadnej ścieżki do sieci wewnętrznej.</p>



<p>Jak to zrobić tanio? VLAN-y na zarządzalnym switchu i reguły firewalla. Zarządzalny switch to koszt od kilkuset złotych. Konfiguracja VLAN-ów to kwestia kilku godzin dla kompetentnego informatyka.</p>



<p>Segmentacja sprawia, że nawet jeśli ransomware dostanie się do jednej stacji roboczej, jego rozprzestrzenienie się na resztę sieci jest zablokowane lub znacząco utrudnione.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Plan odtwarzania — bo kiedy, nie czy</h2>



<p>Disaster Recovery Plan (DRP) to dokument, który odpowiada na jedno pytanie: <strong>co robimy, kiedy wszystko padnie?</strong></p>



<p>Nie musi to być 50-stronicowy elaborat. Minimum, które ma sens:</p>



<ol class="wp-block-list">
<li><strong>Lista systemów krytycznych</strong> z kolejnością przywracania (co najpierw? Serwer DHCP/DNS? Kontroler domeny? System ERP? Poczta?)</li>



<li><strong>Lokalizacja backupów</strong> — gdzie fizycznie leżą nośniki, kto ma do nich dostęp, jakie są dane logowania</li>



<li><strong>Procedura odtwarzania</strong> krok po kroku dla każdego krytycznego systemu</li>



<li><strong>Lista kontaktowa</strong> — kto dzwoni do kogo, kto ma uprawnienia do podjęcia decyzji</li>



<li><strong>Regularne testy</strong> — minimum raz na kwartał odtwórz coś z backupu. Najlepiej cały system na maszynie testowej</li>
</ol>



<p>Szpital z DRP przywraca krytyczne usługi w godzinach. Szpital bez DRP wzywa Wojska Obrony Terytorialnej i spędza tygodnie na stawianiu tysiąca komputerów od zera. To nie hipoteza — to dokładnie to, co się wydarzyło w Szczecinie w marcu 2026.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Double extortion — dlaczego prewencja ma znaczenie</h2>



<p>Od 2024 roku standardem w atakach ransomware jest podwójne wymuszenie (double extortion): atakujący najpierw kradną dane, potem je szyfrują. Nawet jeśli masz backup i odtworzysz systemy w godzinach, grożą wyciekiem wykradzionych danych.</p>



<p>To jest argument <strong>za</strong> inwestowaniem w ochronę, nie przeciw. Air-gapped backup chroni przed utratą danych i długim przestojem. Ale przed kradzieżą danych chroni tylko prewencja: porządny antywirus z EDR, segmentacja sieci, szybka detekcja anomalii, monitoring.</p>



<p>Wielowarstwowe podejście (defense in depth):</p>



<ul class="wp-block-list">
<li><strong>Warstwa 1: Prewencja</strong> — antywirus, aktualizacje, segmentacja, szkolenia użytkowników</li>



<li><strong>Warstwa 2: Detekcja</strong> — EDR, monitoring, alerty, SIEM</li>



<li><strong>Warstwa 3: Odtwarzanie</strong> — backup air-gapped, DRP, testowane procedury</li>
</ul>



<p>Żadna warstwa nie jest niezawodna sama w sobie. Ale ich kombinacja sprawia, że atak ransomware staje się incydentem do obsłużenia, a nie katastrofą na tygodnie.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Checklist: co sprawdzić u siebie</h2>



<p>Trzy pytania, na które Twój informatyk (lub Ty sam) powinien umieć odpowiedzieć natychmiast:</p>



<ol class="wp-block-list">
<li><strong>Gdzie jest kopia zapasowa odłączona od sieci?</strong> Jeśli odpowiedź brzmi „na NAS-ie&#8221; albo „na dysku podłączonym do serwera&#8221; — nie masz backupu air-gapped. Masz drugą kopię danych, która padnie razem z resztą.</li>



<li><strong>Jaki system ochrony endpointów jest wdrożony i kto monitoruje alerty?</strong> Jeśli odpowiedź brzmi „Windows Defender z domyślnymi ustawieniami&#8221; albo „nie wiem&#8221; — masz problem. Nie chodzi o markę, chodzi o to, czy ktoś aktywnie zarządza ochroną i reaguje na incydenty.</li>



<li><strong>Kiedy ostatnio testowaliśmy odtwarzanie z backupu?</strong> Jeśli odpowiedź brzmi „nigdy&#8221; albo „nie pamiętam&#8221; — Twój backup to Schrödingerowska kopia: jednocześnie działa i nie działa, dopóki nie sprawdzisz.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Ransomware nie musi oznaczać tygodni przestoju. Trzy rzeczy decydują o tym, czy atak będzie incydentem czy katastrofą:</p>



<ol class="wp-block-list">
<li><strong>Backup odłączony od sieci</strong> — bo ransomware nie zaszyfruje tego, czego nie widzi</li>



<li><strong>Porządny antywirus z aktywnym zarządzaniem</strong> — bo większość ataków wykorzystuje znane podatności i banalne wektory</li>



<li><strong>Przetestowany plan odtwarzania</strong> — bo w trakcie kryzysu nie ma czasu na improwizację</li>
</ol>



<p></p>



<p>Dobrą wiadomością jest to, że zabezpieczenie się nie wymaga milionowego budżetu. Dysk USB z rotacją, profesjonalny antywirus, segmentacja na VLAN-ach, przetestowany plan odtwarzania. To są rzeczy, które kompetentny informatyk wdroży w każdej firmie — od gabinetu lekarskiego po średnie przedsiębiorstwo.</p>



<p>Zrób to zanim będzie za późno.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/">Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Claude Code – 1 milion tokenów kontekstu i tryb głosowy</title>
		<link>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/</link>
					<comments>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 15 Mar 2026 19:15:40 +0000</pubDate>
				<category><![CDATA[AI Howto]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[claude]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1001</guid>

					<description><![CDATA[<p>Claude Code właśnie dostał dwie funkcje, na które czekali chyba wszyscy użytkownicy: okno kontekstowe rozszerzone do&#160;1 miliona tokenów&#160;oraz natywny&#160;voice mode&#160;– tryb głosowy, w którym mówisz do terminala zamiast pisać. Brzmi jak rewolucja? Sprawdźmy. Problem: amnezja w połowie zadania Jeśli używałeś Claude Code na większym projekcie, znasz ten scenariusz. Ładujesz codebase, odpalasz łańcuch tool calli – [&#8230;]</p>
<p>Artykuł <a href="https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/">Claude Code – 1 milion tokenów kontekstu i tryb głosowy</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Claude Code właśnie dostał dwie funkcje, na które czekali chyba wszyscy użytkownicy: okno kontekstowe rozszerzone do&nbsp;<strong>1 miliona tokenów</strong>&nbsp;oraz natywny&nbsp;<strong>voice mode</strong>&nbsp;– tryb głosowy, w którym mówisz do terminala zamiast pisać. Brzmi jak rewolucja? Sprawdźmy.</p>



<h2 class="wp-block-heading">Problem:  amnezja w połowie zadania</h2>



<p>Jeśli używałeś Claude Code na większym projekcie, znasz ten scenariusz. Ładujesz codebase, odpalasz łańcuch tool calli – czytanie plików, analiza, edycja, testy. Claude radzi sobie świetnie. Aż nagle w terminalu pojawia się komunikat:</p>



<pre class="wp-block-code"><code>Claude is compacting the conversation...</code></pre>



<p>I od tego momentu zaczyna się jazda. Claude &#8222;zapomina&#8221; decyzje architektoniczne podjęte 20 minut temu. Czyta te same pliki ponownie. Czasami wręcz sprzecza się sam ze sobą – implementacja z kroku 5 nie pasuje do tego, co zrobił w kroku 2, bo krok 2 wyleciał z kontekstu.</p>



<p>To był prawdziwy ból dupy przy dłuższych sesjach. Przy oknie 200K tokenów użyteczna przestrzeń to jakieś 150K po odjęciu bufora na kompakcję. Dla małego projektu – ok. Dla repo z backendem, frontendem i testami? Za mało.</p>



<h2 class="wp-block-heading">Rozwiązanie: 1M tokenów kontekstu – bez dopłat</h2>



<p>13 marca 2026 Anthropic ogłosił, że okno kontekstowe o wielkości <strong>1 miliona tokenów</strong> jest teraz ogólnie dostępne dla modeli <strong>Opus 4.6</strong> i <strong>Sonnet 4.6</strong>. Bez beta headerów, bez specjalnych flag, bez dopłat za długi kontekst.</p>



<p>Najważniejsze fakty:</p>



<ul class="wp-block-list">
<li><strong>Standardowa cena</strong> – za 900K tokenów płacisz dokładnie tyle samo za token co za 9K. Opus 4.6: $5/$25 za milion tokenów (input/output). Sonnet 4.6: $3/$15.</li>



<li><strong>Pełne rate limity</strong> – długie requesty mają taki sam throughput jak krótkie. W becie było inaczej.</li>



<li><strong>600 plików multimedialnych per request</strong> – wcześniej limit wynosił 100 obrazów lub stron PDF. Teraz 6x więcej.</li>



<li><strong>Bez beta headera</strong> – jeśli wcześniej go używałeś, API go po prostu ignoruje. Nie musisz nic zmieniać w kodzie.</li>



<li><strong>Dostępne na Claude Platform, Azure Foundry i Google Cloud Vertex AI.</strong></li>



<li><strong>Claude Code na planach Max, Team i Enterprise</strong> – Opus 4.6 automatycznie dostaje 1M kontekstu. Bez konfiguracji.</li>
</ul>



<h2 class="wp-block-heading">Co to oznacza w praktyce?</h2>



<p>Przy 200K tokenów użyteczna przestrzeń to ~150K. Przy 1M masz ~830K tokenów na faktyczną pracę. To wystarczy na tysiące plików źródłowych, pełne trace&#8217;y tool calli i długie sesje debugowania –&nbsp;<strong>bez kompakcji</strong>.</p>



<p>Anthropic podaje konkretną liczbę: od wdrożenia 1M kontekstu zanotowano&nbsp;<strong>15% spadek zdarzeń kompakcji</strong>&nbsp;wśród użytkowników Claude Code. To nie benchmark – to pomiar z realnego użycia.</p>



<p>Co się zmienia w codziennej pracy:</p>



<ul class="wp-block-list">
<li><strong>Cały codebase w jednej sesji</strong> – nie musisz już wybierać, które pliki załadować. Ładujesz wszystko.</li>



<li><strong>Łańcuchy tool calli bez utraty kontekstu</strong> – Claude przeszukuje logi, bazy danych, kod źródłowy, proponuje fix – i nie zapomina, co znalazł na początku.</li>



<li><strong>Dłuższe sesje bez restartu</strong> – wielogodzinne sesje agentowe, które wcześniej wymagały ręcznego <code>/compact</code>, teraz trzymają się kupy.</li>
</ul>



<p>Ciekawy jest też benchmark. Na teście MRCR v2 (Multi-Round Coreference Resolution) w wariancie 1M tokenów Opus 4.6 osiąga&nbsp;<strong>76%</strong>, podczas gdy Sonnet 4.5 – tylko 18,5%. To jakościowa różnica w tym, ile kontekstu model faktycznie potrafi wykorzystać bez &#8222;context rot&#8221; – degradacji jakości przy dużych ilościach danych.</p>



<h2 class="wp-block-heading">Context awareness – Claude wie, ile mu zostało</h2>



<p>Modele Opus 4.6 i Sonnet 4.6 mają wbudowaną&nbsp;<strong>świadomość kontekstu</strong>&nbsp;(context awareness). Po każdym tool callu Claude dostaje informację w stylu:</p>



<pre class="wp-block-code"><code>Token usage: 35000/1000000; 965000 remaining</code></pre>



<p>Dzięki temu model sam wie, ile miejsca mu zostało i może planować pracę odpowiednio. Nie zgaduje – wie. To jak zegarek na egzaminie zamiast strzelania, ile czasu minęło.</p>



<h2 class="wp-block-heading">Jak włączyć 1M w Claude Code?</h2>



<p>Jeśli jesteś na planie&nbsp;<strong>Max, Team lub Enterprise</strong>&nbsp;– nie musisz nic robić. Opus 4.6 automatycznie używa 1M kontekstu.</p>



<p>Sprawdzenie aktualnego modelu:</p>



<pre class="wp-block-code"><code>/model</code></pre>



<p>Jeśli chcesz wymusić 1M na konkretnym modelu (np. przez alias):</p>



<pre class="wp-block-code"><code>opus&#91;1m]
sonnet&#91;1m]</code></pre>



<p>Jeśli z jakiegoś powodu&nbsp;<strong>nie chcesz</strong>&nbsp;1M kontekstu:</p>



<p>bash</p>



<pre class="wp-block-code"><code>export CLAUDE_CODE_DISABLE_1M_CONTEXT=1</code></pre>



<p>To usuwa warianty 1M z model pickera.</p>



<h2 class="wp-block-heading">Voice mode – koduj głosem (ale po angielsku)</h2>



<p>3 marca 2026 Anthropic zaczął roll-out natywnego trybu głosowego w Claude Code. Na razie dostępny dla ~5% użytkowników, ale roll-out rozszerza się z każdym tygodniem.</p>



<h3 class="wp-block-heading">Jak to działa?</h3>



<pre class="wp-block-code"><code>/voice</code></pre>



<p>Wpisujesz tę komendę w terminalu. Od teraz:</p>



<ol class="wp-block-list">
<li><strong>Przytrzymaj spację</strong> – mów</li>



<li><strong>Puść spację</strong> – transkrypcja leci do promptu</li>



<li>Claude wykonuje polecenie jak zwykle</li>
</ol>



<p>Tryb push-to-talk. Proste. Możesz też miksować – napisać pół prompta na klawiaturze, a resztę powiedzieć głosem. Transkrypcja wchodzi w miejsce kursora.</p>



<h3 class="wp-block-heading">Kiedy to ma sens?</h3>



<ul class="wp-block-list">
<li><strong>Opisywanie bugów</strong> – mówienie &#8222;sprawdź dlaczego ten API call zwraca 500 w produkcji, podejrzewam że middleware autentykacji łapie wyjątek i zwraca pusty obiekt&#8221; jest 3x szybsze niż pisanie tego samego.</li>



<li><strong>Sesje refaktoringu</strong> – mówisz co chcesz, Claude pisze kod. Dwie z czterech faz pracy (myślenie → wyrażenie intencji → pisanie kodu → review) nie wymagają klawiatury.</li>



<li><strong>Przerwy od klawiatury</strong> – po 6 godzinach kodowania ręce potrzebują odpoczynku. Głos pozwala kontynuować bez przerwy w pracy.</li>
</ul>



<h3 class="wp-block-heading">Ograniczenie: tylko angielski</h3>



<p>I tu jest haczyk.&nbsp;<strong>Voice mode działa na razie tylko po angielsku.</strong>&nbsp;Silnik STT (speech-to-text) domyślnie transkrybuje na angielski. Jeśli mówisz po polsku, transkrypcja albo się sypie, albo produkuje bezsensowny tekst angielski.</p>



<p>Na GitHubie Claude Code jest już otwarty issue (#33170) z prośbą o dodanie konfiguracji języka – ustawienie&nbsp;<code>voiceLanguage</code>&nbsp;w settings.json. Na razie nie istnieje. Społeczność wnioskuje o coś w stylu:</p>



<p>json</p>



<pre class="wp-block-code"><code>{
  "voiceEnabled": true,
  "voiceLanguage": &#91;"en", "pl"]
}</code></pre>



<p>Ale oficjalnie – silnik pod spodem (prawdopodobnie Whisper) wspiera wiele języków. Problem w tym, że Claude Code po prostu nie daje opcji wyboru języka. Na razie jedyne obejście to zewnętrzne narzędzia do dyktowania (Wispr Flow, Superwhisper, AquaVoice), które transkrybują w dowolnym języku i wklejają tekst do terminala.</p>



<p><strong>Protip:</strong>&nbsp;Nawet po angielsku – precyzyjne nazwy plików, ścieżki i zmienne lepiej wpisywać ręcznie. Voice sprawdza się świetnie do wyrażania intencji (&#8222;refactor the auth middleware to use RBAC&#8221;), kiepsko do precyzyjnych identyfikatorów.</p>



<h2 class="wp-block-heading">Dla kogo to jest?</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Funkcja</th><th>Plan</th><th>Automatycznie?</th></tr></thead><tbody><tr><td>1M kontekst (Claude Code)</td><td>Max, Team, Enterprise</td><td>Tak</td></tr><tr><td>1M kontekst (API)</td><td>Tier 4+ lub custom rate limits</td><td>Tak (GA, bez headera)</td></tr><tr><td>Voice mode</td><td>Wszyscy z Claude Code</td><td>Roll-out (~5% → 100%)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Dwie zmiany, które realnie wpływają na codzienną pracę z Claude Code:</p>



<p><strong>1M tokenów kontekstu</strong>&nbsp;– koniec z kompakcją w połowie zadania, koniec z &#8222;Claude zapomniał co robiliśmy&#8221;. Cały codebase, pełne trace&#8217;y, wielogodzinne sesje – w jednym oknie.</p>



<p><strong>Voice mode</strong>&nbsp;– szybsze wyrażanie intencji, mniej pisania, ale na razie tylko po angielsku. Jeśli pracujesz w angielskim środowisku – game changer. Jeśli chcesz mówić po polsku – poczekaj lub użyj zewnętrznego narzędzia do dyktowania.</p>



<p>Czy Claude Code przestanie się gubić? Z 5x większym oknem kontekstowym – znacząco rzadziej. Nie jest to gwarancja (context rot istnieje nawet przy 1M tokenów), ale różnica między 200K a 1M jest jak różnica między kartką A4 a flipchartem. Więcej miejsca = mniej zgubionego kontekstu = lepsza praca.</p>



<p></p>



<p>Źródła</p>



<ul class="wp-block-list">
<li>Ogłoszenie 1M GA: <a href="https://claude.com/blog/1m-context-ga">claude.com/blog/1m-context-ga</a></li>



<li>Dokumentacja context windows: <a href="https://platform.claude.com/docs/en/build-with-claude/context-windows">platform.claude.com/docs/en/build-with-claude/context-windows</a></li>



<li>Claude Code docs – model config: <a href="https://code.claude.com/docs/en/model-config">code.claude.com/docs/en/model-config</a></li>



<li>Issue: voice language config: <a href="https://github.com/anthropics/claude-code/issues/33170">github.com/anthropics/claude-code/issues/33170</a></li>
</ul>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/">Claude Code – 1 milion tokenów kontekstu i tryb głosowy</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Skaner Bezpieczeństwa dla Firm</title>
		<link>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/</link>
					<comments>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Fri, 13 Feb 2026 09:38:45 +0000</pubDate>
				<category><![CDATA[Komputery]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[cert]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wartoznac]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=993</guid>

					<description><![CDATA[<p>Większość firm nie ma pojęcia o "zapomnianych" subdomenach, nieaktualnych certyfikatach czy otwartych portach... nie bądź jak te firmy </p>
<p>Artykuł <a href="https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/">Skaner Bezpieczeństwa dla Firm</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">moje.cert.pl – darmowy skaner bezpieczeństwa Twojej domeny od CERT Polska</h2>



<p>Prowadzisz stronę internetową, mały sklep online albo firmowy serwis? Zastanawiałeś się kiedyś, czy ktoś właśnie nie testuje Twoich zabezpieczeń? CERT Polska uruchomił serwis&nbsp;<strong>moje.cert.pl</strong>&nbsp;– bezpłatną platformę, która pozwala każdemu przeskanować swoje domeny pod kątem podatności, wycieków danych i zagrożeń sieciowych. Oto co powinieneś o niej wiedzieć.</p>



<h2 class="wp-block-heading">Czym jest moje.cert.pl?</h2>



<p>Serwis moje.cert.pl to projekt zespołu CERT Polska działającego w ramach NASK (Państwowy Instytut Badawczy). Platforma wystartowała testowo pod koniec 2024 roku, a w lutym 2025 została oficjalnie udostępniona publicznie. Od tamtej pory zyskała już prawie 16 tysięcy zarejestrowanych użytkowników i przeskanowała ponad 3,3 miliona domen, subdomen i adresów IP, wykrywając ponad pół miliona podatności i błędnych konfiguracji.</p>



<p>Jak ujął to Marcin Dudek, kierownik CERT Polska – jest to rozwiązanie unikalne na skalę światową, ponieważ tak kompleksowe narzędzie diagnostyczne nie było dotychczas udostępniane bezpłatnie i publicznie w żadnym innym kraju.</p>



<h2 class="wp-block-heading">Co dokładnie oferuje serwis?</h2>



<h3 class="wp-block-heading">Skanowanie bezpieczeństwa domen</h3>



<p>Sercem platformy jest narzędzie&nbsp;<strong>Artemis</strong>&nbsp;– autorski skaner bezpieczeństwa rozwijany przez CERT Polska. Artemis wykorzystuje znane narzędzia open source (m.in. nuclei, sqlmap) i zawiera kilkadziesiąt modułów sprawdzających różne aspekty bezpieczeństwa strony. System wykrywa między innymi:</p>



<ul class="wp-block-list">
<li>podatności SQL Injection umożliwiające kradzież całej bazy danych,</li>



<li>błędne konfiguracje serwerów,</li>



<li>brak mechanizmów SPF i DMARC (ochrona przed fałszywymi e-mailami),</li>



<li>podatności na zdalne wykonanie kodu,</li>



<li>inne luki wiążące się z wysokim ryzykiem.</li>
</ul>



<p>Skanowanie jest cykliczne — domyślnie co dwa miesiące, ale interwał można zmienić w ustawieniach. Wyniki trafiają wyłącznie do administratora danej domeny i nie są nigdzie upubliczniane.</p>



<h3 class="wp-block-heading">Monitoring wycieków haseł</h3>



<p>Serwis monitoruje wycieki danych z wielu źródeł — komercyjnych (m.in. Recorded Future), publicznych baz wycieków oraz materiałów pozyskanych przez CERT Polska w ramach pracy operacyjnej (np. hasła wykradzione przez złośliwe oprogramowanie). Jeśli w Twojej domenie pojawi się wyciek, otrzymasz natychmiastowy alert.</p>



<h3 class="wp-block-heading">Powiadomienia o zagrożeniach sieciowych</h3>



<p>System n6, zintegrowany z platformą, codziennie przetwarza miliony zdarzeń, identyfikując infekcje złośliwym oprogramowaniem, hostowanie szkodliwych treści oraz podatności aplikacji dostępnych publicznie z internetu. Administratorzy sieci otrzymują powiadomienia o problemach w swoich zasobach.</p>



<h3 class="wp-block-heading">Komunikaty o zagrożeniach</h3>



<p>Od maja 2025 w serwisie dostępna jest zakładka z ostrzeżeniami dotyczącymi polskiej cyberprzestrzeni i alertami o podatnościach. Komunikaty są widoczne bezpośrednio w panelu, przez kanał RSS, a po wyrażeniu zgody — także wysyłane e-mailem.</p>



<h3 class="wp-block-heading">Infrastruktura organizacji (nowość 2026)</h3>



<p>Najnowsza funkcja pozwala spojrzeć na swoją infrastrukturę oczami potencjalnego atakującego. System identyfikuje publicznie widoczne zasoby organizacji: subdomeny, użyte technologie, panele administracyjne, otwarte porty — w tym te zapomniane lub niezgłoszone. Dzięki temu administrator może ograniczyć powierzchnię ataku, ukrywając lub dodatkowo zabezpieczając niepotrzebnie eksponowane elementy.</p>



<h2 class="wp-block-heading">Dla kogo jest moje.cert.pl?</h2>



<p>Platforma jest zaprojektowana z myślą o szerokim gronie odbiorców:</p>



<ul class="wp-block-list">
<li><strong>Osoby prywatne</strong> posiadające własne strony internetowe mogą szybko sprawdzić, czy ich witryna jest bezpieczna.</li>



<li><strong>Małe i średnie firmy</strong> zyskują dostęp do narzędzi diagnostycznych, które do niedawna były zarezerwowane dla dużych organizacji z własnymi działami IT security.</li>



<li><strong>Instytucje publiczne</strong> mogą monitorować bezpieczeństwo nawet bardzo złożonych środowisk — bez ponoszenia dodatkowych kosztów.</li>



<li><strong>Organizacje sektorowe</strong> (np. z sektora finansowego) mogą dodatkowo skorzystać z szybszej identyfikacji i reagowania na zagrożenia specyficzne dla ich branży.</li>
</ul>



<h2 class="wp-block-heading">Jak zacząć?</h2>



<ol class="wp-block-list">
<li>Wejdź na <a href="https://moje.cert.pl/">moje.cert.pl</a> i zarejestruj konto.</li>



<li>Dodaj swoje domeny — system wymaga weryfikacji, że jesteś ich właścicielem lub administratorem (np. przez rekord DNS lub plik na serwerze).</li>



<li>Zamów skanowanie i poczekaj na wyniki.</li>



<li>Jeśli korzystasz z zapory sieciowej, warto dodać do białej listy adresy IP skanerów CERT Polska (lista jest dostępna w FAQ serwisu), aby wyniki były kompletne.</li>
</ol>



<h2 class="wp-block-heading">Dlaczego warto?</h2>



<p>Statystyki mówią same za siebie — wśród pierwszych 1800 przeskanowanych domen system wykrył ponad 30 tysięcy podatności, z czego ponad tysiąc stanowiło wysokie ryzyko. Do tego ponad 34 tysiące przypadków wycieków haseł. Wiele z tych problemów było nieznanych administratorom do momentu otrzymania raportu.</p>



<p>Każda wykryta i usunięta podatność to potencjalny incydent bezpieczeństwa, którego udało się uniknąć. A biorąc pod uwagę, że narzędzie jest całkowicie bezpłatne — naprawdę nie ma powodu, żeby z niego nie skorzystać.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Serwis moje.cert.pl to jedno z najciekawszych polskich narzędzi cyberbezpieczeństwa ostatnich lat. Łączy w sobie zaawansowane skanowanie podatności, monitoring wycieków danych, alerty o zagrożeniach sieciowych i mapowanie infrastruktury — wszystko w jednym miejscu i za darmo. Jeśli masz jakąkolwiek stronę internetową lub administrujesz siecią firmową, zarejestruj się i sprawdź, jak Twoja infrastruktura wygląda z perspektywy atakującego. Może się okazać, że nie jest tak bezpieczna, jak myślisz.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><em>Źródła: CERT Polska, NASK, Ministerstwo Cyfryzacji</em></p>
<p>Artykuł <a href="https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/">Skaner Bezpieczeństwa dla Firm</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ntfy – Darmowe powiadomienia push z serwera na telefon</title>
		<link>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/</link>
					<comments>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 21:18:54 +0000</pubDate>
				<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[powiadomienia]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=988</guid>

					<description><![CDATA[<p>Alerty ze serwera lub ze skryptów na smartfon bez żadnych kosztów i konfiguracji. Genialny patent.</p>
<p>Artykuł <a href="https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/">ntfy – Darmowe powiadomienia push z serwera na telefon</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Chcesz dostawać alerty z Zabbix prosto na telefon? Masz dość sprawdzania maili z monitoringu?</strong> ntfy.sh to darmowy serwis powiadomień push, który wysyła alerty z serwera Linux bezpośrednio na smartfon – bez rejestracji, bez konfiguracji SMTP, bez opłat za SMS.</p>



<p><strong>Powiadomienia push z serwera na telefon </strong>– zarówno przez integrację z Zabbix, jak i w własnych skryptach bash.</p>



<h2 class="wp-block-heading">Czym jest ntfy i jak działa?</h2>



<p>ntfy (czytaj: &#8222;notify&#8221;) to <strong>darmowy serwis powiadomień push</strong> oparty o prosty protokół HTTP. Zamiast konfigurować serwer SMTP czy płacić za bramkę SMS, wysyłasz jedno żądanie curl:</p>



<pre class="wp-block-code"><code>curl -d "Backup zakończony" ntfy.sh/moj-serwer-xyz123</code></pre>



<p><strong>Jedna komenda = powiadomienie push na telefonie.</strong> Bez konta, bez tokena, bez konfiguracji serwera.</p>



<p>Bajecznie proste do zastosowania praktycznie we wszytkim. </p>



<h3 class="wp-block-heading">Dlaczego ntfy zamiast powiadomień email czy SMS?</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Metoda</th><th>Opóźnienie</th><th>Koszt</th><th>Konfiguracja</th></tr></thead><tbody><tr><td>Email</td><td>1-15 minut</td><td>Darmowy</td><td>Wymaga SMTP</td></tr><tr><td>SMS (smsapi, twilio)</td><td>Sekundy</td><td>~0.07 PLN/sms</td><td>API + konto</td></tr><tr><td><strong>ntfy</strong></td><td><strong>Sekundy</strong></td><td><strong>Darmowy</strong></td><td><strong>Tylko curl</strong></td></tr></tbody></table></figure>



<p>Dla administratora serwera Linux czy VPS to game changer – <strong>alerty ze serwera na smartfon</strong> bez żadnych kosztów i konfiguracji.</p>



<h3 class="wp-block-heading"></h3>



<h2 class="wp-block-heading">Konfiguracja aplikacji mobilnej</h2>



<ol class="wp-block-list">
<li>Pobierz aplikację <strong>ntfy</strong>:</li>
</ol>



<ul class="wp-block-list">
<li>Android: <a href="https://play.google.com/store/apps/details?id=io.heckel.ntfy">Google Play</a> lub F-Droid</li>



<li>iOS: <a href="https://apps.apple.com/app/ntfy/id1625396347">App Store</a></li>
</ul>



<ol class="wp-block-list">
<li>Kliknij <strong>+</strong> i wpisz nazwę tematu (np. <code>serwer-prod-x7k9m2</code>)</li>



<li>Gotowe – każdy POST na <code>ntfy.sh/serwer-prod-x7k9m2</code> ląduje na telefonie</li>
</ol>



<p><strong>Ważne:</strong> Używaj losowych nazw tematów! Tematy są publiczne – kto zna nazwę, może subskrybować.</p>



<h2 class="wp-block-heading">Integracja ntfy z Zabbix – powiadomienia push zamiast email</h2>



<p>Standardowe <strong>powiadomienia Zabbix przez email</strong> są wolne i często ignorowane. SMS-y kosztują. ntfy daje <strong>natychmiastowe alerty na telefon za darmo</strong>.</p>



<h3 class="wp-block-heading">Krok 1: Skrypt alertów dla Zabbix</h3>



<p>Sprawdź katalog alertscripts:</p>



<pre class="wp-block-code"><code>grep AlertScriptsPath /etc/zabbix/zabbix_server.conf
# Domyślnie: /usr/lib/zabbix/alertscripts</code></pre>



<p>Utwórz plik <code>/usr/lib/zabbix/alertscripts/ntfy.sh</code>:</p>



<pre class="wp-block-code"><code>#!/bin/bash

# ========== KONFIGURACJA ==========
# Wpisz własną, unikalną nazwę tematu!
NTFY_TOPIC="zabbix-TWOJ-UNIKALNY-STRING"
# ==================================

TO="$1"
SUBJECT="$2"
MESSAGE="$3"

# Mapowanie severity Zabbix na priorytety ntfy
case "$SUBJECT" in
    *Disaster*|*DISASTER*)
        PRIORITY="urgent"
        TAGS="rotating_light,disaster"
        ;;
    *High*|*HIGH*)
        PRIORITY="high"
        TAGS="warning,high"
        ;;
    *Average*|*AVERAGE*)
        PRIORITY="default"
        TAGS="orange_circle,average"
        ;;
    *Warning*|*WARNING*)
        PRIORITY="low"
        TAGS="yellow_circle,warning"
        ;;
    *OK*|*Resolved*)
        PRIORITY="low"
        TAGS="white_check_mark,resolved"
        ;;
    *)
        PRIORITY="default"
        TAGS="bell"
        ;;
esac

# Wysłanie powiadomienia push
curl -s \
    -H "Title: ${SUBJECT}" \
    -H "Priority: ${PRIORITY}" \
    -H "Tags: ${TAGS}" \
    -d "${MESSAGE}" \
    "https://ntfy.sh/${NTFY_TOPIC}"

exit 0</code></pre>



<p>Nadaj uprawnienia:</p>



<pre class="wp-block-code"><code>chmod +x /usr/lib/zabbix/alertscripts/ntfy.sh
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/ntfy.sh</code></pre>



<p>Test (jako user zabbix):</p>



<pre class="wp-block-code"><code>sudo -u zabbix /usr/lib/zabbix/alertscripts/ntfy.sh "" "&#91;HIGH] Test alert" "Testowe powiadomienie z Zabbix"</code></pre>



<h3 class="wp-block-heading">Krok 2: Media Type w Zabbix</h3>



<p><strong>Alerts → Media types → Create media type</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Wartość</th></tr></thead><tbody><tr><td>Name</td><td><code>ntfy</code></td></tr><tr><td>Type</td><td><code>Script</code></td></tr><tr><td>Script name</td><td><code>ntfy.sh</code></td></tr><tr><td>Script parameters</td><td><code>{ALERT.SENDTO}</code></td></tr><tr><td></td><td><code>{ALERT.SUBJECT}</code></td></tr><tr><td></td><td><code>{ALERT.MESSAGE}</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Krok 3: Trigger Action</h3>



<p><strong>Alerts → Actions → Trigger actions → Create action</strong></p>



<p><strong>Zakładka Action:</strong></p>



<ul class="wp-block-list">
<li>Name: <code>Powiadomienia push ntfy</code></li>



<li>Conditions: <code>Trigger severity >= Warning</code></li>
</ul>



<p><strong>Zakładka Operations:</strong></p>



<p>Default subject:</p>



<pre class="wp-block-code"><code>&#91;{TRIGGER.SEVERITY}] {HOST.NAME}: {TRIGGER.NAME}</code></pre>



<p>Default message:</p>



<pre class="wp-block-code"><code>Host: {HOST.NAME}
Problem: {TRIGGER.NAME}
Severity: {TRIGGER.SEVERITY}
Czas: {EVENT.DATE} {EVENT.TIME}</code></pre>



<p>W sekcji Operations → Add:</p>



<ul class="wp-block-list">
<li>Send to users: wybierz użytkowników</li>



<li>Send only to: <code>ntfy</code></li>
</ul>



<p><strong>Zakładka Recovery operations</strong> – analogicznie dla powiadomień o rozwiązaniu problemu.</p>



<h3 class="wp-block-heading">Krok 4: Media dla użytkownika</h3>



<p><strong>Users → [Twój user] → Media → Add</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>Type</td><td><code>ntfy</code></td></tr><tr><td>Send to</td><td><code>default</code></td></tr><tr><td>Enabled</td><td>✓</td></tr></tbody></table></figure>



<p><strong>Gotowe!</strong> Zabbix wykrywa problem → <strong>push notification leci na telefon</strong>.</p>



<h2 class="wp-block-heading">Powiadomienia push w skryptach Bash</h2>



<p>ntfy idealnie nadaje się do <strong>alertów ze skryptów</strong> – backup, monitoring dysku, cronjob, deployment.</p>



<h3 class="wp-block-heading">Alert po zakończeniu backupu</h3>



<pre class="wp-block-code"><code>#!/bin/bash

NTFY_TOPIC="backup-serwer-abc123"

notify() {
    curl -s \
        -H "Title: $1" \
        -H "Priority: $2" \
        -H "Tags: $3" \
        -d "$4" \
        "https://ntfy.sh/${NTFY_TOPIC}"
}

notify "Backup started" "low" "arrow_forward" "Rozpoczynam backup na $(hostname)"

if tar -czf /backup/data-$(date +%Y%m%d).tar.gz /data 2&gt;/tmp/backup.err; then
    SIZE=$(ls -lh /backup/data-$(date +%Y%m%d).tar.gz | awk '{print $5}')
    notify "&#x2705; Backup OK" "default" "white_check_mark" "Rozmiar: ${SIZE}"
else
    notify "&#x274c; Backup FAILED" "urgent" "x" "Błąd: $(cat /tmp/backup.err)"
    exit 1
fi</code></pre>



<h3 class="wp-block-heading">Monitoring miejsca na dysku</h3>



<p><strong>Alert gdy dysk się zapełnia</strong> – klasyczny przypadek użycia dla administratora VPS:</p>



<pre class="wp-block-code"><code>#!/bin/bash
# Cron: */30 * * * * /usr/local/bin/disk-check.sh

NTFY_TOPIC="monitoring-xyz789"
THRESHOLD=85

df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{print $5 " " $6}' | while read output; do
    usage=$(echo $output | awk '{print $1}' | sed 's/%//')
    partition=$(echo $output | awk '{print $2}')

    if &#91; $usage -ge $THRESHOLD ]; then
        curl -s \
            -H "Title: &#x26a0; Brak miejsca na dysku" \
            -H "Priority: high" \
            -H "Tags: warning,disk" \
            -d "Partycja $partition zapełniona w ${usage}% na $(hostname)" \
            "https://ntfy.sh/${NTFY_TOPIC}"
    fi
done</code></pre>



<h3 class="wp-block-heading">Alert o logowaniu SSH</h3>



<p><strong>Powiadomienie push gdy ktoś loguje się na serwer</strong> – przydatne do monitorowania bezpieczeństwa:</p>



<p>Utwórz <code>/usr/local/bin/ssh-notify.sh</code>:</p>



<pre class="wp-block-code"><code>#!/bin/bash

&#91; "$PAM_TYPE" != "open_session" ] &amp;&amp; exit 0

curl -s \
    -H "Title: &#x1f510; SSH: ${PAM_USER}@$(hostname)" \
    -H "Priority: high" \
    -H "Tags: lock,ssh" \
    -d "User: ${PAM_USER}
Z adresu: ${PAM_RHOST}
Czas: $(date '+%Y-%m-%d %H:%M:%S')" \
    "https://ntfy.sh/ssh-TWOJ-TOPIC"

exit 0</code></pre>



<pre class="wp-block-code"><code>chmod +x /usr/local/bin/ssh-notify.sh</code></pre>



<p>Dodaj na końcu <code>/etc/pam.d/sshd</code>:</p>



<pre class="wp-block-code"><code>session optional pam_exec.so /usr/local/bin/ssh-notify.sh</code></pre>



<h3 class="wp-block-heading">Uniwersalna funkcja do skryptów</h3>



<p>Dodaj do <code>~/.bashrc</code> lub <code>/etc/profile.d/ntfy.sh</code>:</p>



<pre class="wp-block-code"><code>export NTFY_TOPIC="moj-serwer-default"

ntfy() {
    local msg="$1"
    local title="${2:-Alert}"
    local priority="${3:-default}"

    curl -s \
        -H "Title: ${title}" \
        -H "Priority: ${priority}" \
        -d "${msg}" \
        "https://ntfy.sh/${NTFY_TOPIC}"
}

ntfy-ok()    { ntfy "$1" "&#x2705; ${2:-OK}" "default"; }
ntfy-warn()  { ntfy "$1" "&#x26a0; ${2:-Warning}" "high"; }
ntfy-error() { ntfy "$1" "&#x274c; ${2:-Error}" "urgent"; }</code></pre>



<p>Użycie:</p>



<pre class="wp-block-code"><code>ntfy "Zadanie zakończone" "Mój skrypt"
ntfy-ok "Deployment finished"
ntfy-error "Baza danych nie odpowiada" "DB Alert"</code></pre>



<h2 class="wp-block-heading">Priorytety powiadomień</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Priorytet</th><th>Header</th><th>Efekt na telefonie</th></tr></thead><tbody><tr><td>Minimalny</td><td><code>min</code></td><td>Ciche, bez wibracji</td></tr><tr><td>Niski</td><td><code>low</code></td><td>Bez dźwięku</td></tr><tr><td>Normalny</td><td><code>default</code></td><td>Standardowe powiadomienie</td></tr><tr><td>Wysoki</td><td><code>high</code></td><td>Dźwięk + wysoki priorytet</td></tr><tr><td>Pilny</td><td><code>urgent</code></td><td><strong>Przebija tryb &#8222;nie przeszkadzać&#8221;</strong></td></tr></tbody></table></figure>



<p>Dla alertów Zabbix z severity Disaster używaj <code>urgent</code> – telefon zadzwoni nawet w nocy.</p>



<h2 class="wp-block-heading">Tagi i emoji</h2>



<p>Tagi zamieniają się na emoji w powiadomieniu:</p>



<pre class="wp-block-code"><code>curl -H "Tags: warning,server,fire" -d "CPU 98%!" ntfy.sh/moj-topic</code></pre>



<p>Przydatne tagi: <code>warning</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>white_check_mark</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>x</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>rotating_light</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>fire</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>computer</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>lock</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Akcja po kliknięciu</h2>



<p>Link otwierany po tapnięciu w powiadomienie:</p>



<pre class="wp-block-code"><code>curl \
    -H "Click: https://zabbix.firma.pl/tr_events.php?eventid=${EVENT_ID}" \
    -H "Title: Problem na serwerze" \
    -d "Kliknij aby otworzyć w Zabbix" \
    ntfy.sh/zabbix-alerts</code></pre>



<h2 class="wp-block-heading">Limity publicznego serwera ntfy.sh</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Limit</th></tr></thead><tbody><tr><td>Wiadomości dziennie</td><td>250 per IP</td></tr><tr><td>Rozmiar załącznika</td><td>15 MB</td></tr><tr><td>Retencja</td><td>12 godzin</td></tr></tbody></table></figure>



<p>Dla typowego <strong>monitoringu serwera VPS</strong> to więcej niż wystarczy.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>ntfy.sh to najprostszy sposób na <strong>powiadomienia push z serwera Linux na telefon</strong>:</p>



<ul class="wp-block-list">
<li><strong>Zero konfiguracji</strong> – tylko curl</li>



<li><strong>Natychmiastowe alerty</strong> – push w sekundę</li>



<li><strong>Integracja z Zabbix</strong> – 10 minut i działa</li>



<li><strong>Działa w skryptach bash</strong> – jedna linijka kodu</li>



<li><strong>Darmowy</strong> – bez rejestracji, bez limitu który boli</li>



<li>W dokumentacji znajdziecie wszysto. jak tego użyć <strong>od Basha aż do Powershell</strong></li>
</ul>



<p>Koniec sprawdzania maili. Ustaw ntfy, telefon Cię powiadomi.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Linki:</strong></p>



<ul class="wp-block-list">
<li>Strona: <a href="https://ntfy.sh">ntfy.sh</a></li>



<li>Dokumentacja: <a href="https://docs.ntfy.sh">docs.ntfy.sh</a></li>



<li>GitHub: <a href="https://github.com/binwiederhier/ntfy">github.com/binwiederhier/ntfy</a></li>
</ul>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/">ntfy – Darmowe powiadomienia push z serwera na telefon</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</title>
		<link>https://zitwziete.org/tmux/</link>
					<comments>https://zitwziete.org/tmux/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 18 Jan 2026 17:13:39 +0000</pubDate>
				<category><![CDATA[AI Howto]]></category>
		<category><![CDATA[ai]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=984</guid>

					<description><![CDATA[<p>Kodujesz, czując flow i wspierając się modelami jak Claude czy Gemini – pewnie znasz ten ból. Odpalasz trzeciego agenta AI,   a Twój VS Code zaczyna działać jak pokaz slajdów. Wentylatory w laptopie chcą odlecieć, a Ty tracisz rytm.... czas na TMUX</p>
<p>Artykuł <a href="https://zitwziete.org/tmux/">Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Jeśli siedzisz w <strong>Vibe Coding</strong> – czyli kodujesz, czując flow i wspierając się modelami jak <strong>Claude</strong> czy <strong>Gemini</strong> – pewnie znasz ten ból. Odpalasz trzeciego agenta AI,   a Twój <strong>VS Code</strong> zaczyna działać jak pokaz slajdów. Wentylatory w laptopie chcą odlecieć, a Ty tracisz rytm.</p>



<p>Dziś wytłumaczę Ci, dlaczego graficzne edytory zabijają wydajność przy pracy z AI i dlaczego&nbsp;<strong>tmux</strong>&nbsp;w czystym terminalu to absolutny &#8222;must-have&#8221;. Poznasz też najważniejsze&nbsp;<strong>skróty tmux</strong>, które zmienią Twoją pracę.</p>



<h2 class="wp-block-heading">Dlaczego Twój VS Code &#8222;zamula&#8221;? (Proste wyjaśnienie techniczne)</h2>



<p>Zacznijmy od fundamentów. Dlaczego Twój komputer dławi się przy VS Code, a w terminalu &#8222;lata&#8221;?</p>



<p>Sekret tkwi w budowie programu.&nbsp;<strong>VS Code</strong>&nbsp;jest zbudowany na technologii&nbsp;<strong>Electron</strong>. Mówiąc najprościej: każde okno edytora to w praktyce&#8230;&nbsp;<strong>osobna, ukryta przeglądarka internetowa (Chrome)</strong>.</p>



<p>Gdy uruchamiasz w nim agenty AI:</p>



<ol start="1" class="wp-block-list">
<li><strong>Marnujesz zasoby:</strong> Komputer musi &#8222;rysować&#8221; każdą literkę logów jako element graficzny strony www. To pożera gigantyczne ilości RAM-u.</li>



<li><strong>Ryzykujesz awarię:</strong> Procesy są zależne od interfejsu graficznego. Jeśli okno się &#8222;zlaguje&#8221;, Twoje połączenie z API OpenAI czy Anthropic może zostać zerwane.</li>
</ol>



<p><strong>Czysty terminal + tmux</strong>&nbsp;działa inaczej. Tu nie ma renderowania grafiki. Jest czysty tekst wysyłany bezpośrednio do jądra systemu.</p>



<ul class="wp-block-list">
<li><strong>Efekt?</strong> Zużycie pamięci spada drastycznie.</li>



<li><strong>Procesor?</strong> Odpoczywa, zajmując się tylko logiką AI, a nie rysowaniem ładnych ramek.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Tmux – Co to jest i dlaczego ratuje życie?</h2>



<p><strong>Tmux</strong>&nbsp;(Terminal Multiplexer) to narzędzie, które zmienia jedno okno konsoli w wielozadaniowe centrum dowodzenia. Pozwala podzielić ekran na wiele paneli, zupełnie jakbyś miał kilka monitorów w jednym oknie.</p>



<p>Ale tmux ma jedną supermoc, której nie ma żaden VS Code:&nbsp;<strong>Nieśmiertelność Sesji</strong>.</p>



<h3 class="wp-block-heading">Magia &#8222;Detach&#8221; i &#8222;Attach&#8221; – Efekt Terminatora</h3>



<p>To najważniejszy powód, dla którego warto porzucić terminal w edytorze. W VS Code, gdy zamkniesz okno – zabijasz wszystkie procesy.</p>



<p>W tmuxie wygląda to tak:</p>



<ol start="1" class="wp-block-list">
<li>Uruchamiasz 3 agenty AI, które &#8222;mielą&#8221; dane.</li>



<li>Wciskasz skrót <strong>Detach</strong> (odłączenie).</li>



<li><strong>Zamykasz całkowicie okno terminala.</strong> Możesz nawet wylogować się z systemu.</li>



<li>Idziesz na kawę, wracasz za 4 godziny.</li>



<li>Otwierasz terminal, wpisujesz jedno z <strong>tmux polecenia</strong> i&#8230; <strong>wszystko tam jest</strong>.</li>
</ol>



<p>Procesy nigdy nie przestały działać. Kursor mruga dokładnie w tym miejscu, gdzie go zostawiłeś. To idealne rozwiązanie, by zostawić agenty pracujące w tle, nie obciążając pulpitu otwartymi oknami.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Niezbędnik: Skróty tmux dla Vibe Codingu</h2>



<p>Nie musisz być hakerem z filmu, żeby tego używać. Wystarczy Ci dosłownie kilka kombinacji. W tmuxie kluczem jest tzw.&nbsp;<strong>Prefix</strong>. Domyślnie to&nbsp;<code>Ctrl</code>&nbsp;+&nbsp;<code>b</code>. Najpierw wciskasz to, puszczasz, a potem odpowiednią literę.</p>



<p>Oto najważniejsze&nbsp;<strong>skróty tmux</strong>, które musisz znać:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Akcja</td><td>Skrót (po Ctrl+b)</td><td>Zastosowanie przy AI</td></tr></thead><tbody><tr><td><strong>Podział Pionowy</strong></td><td><code>%</code>&nbsp;(Shift + 5)</td><td>Kod po lewej, logi agenta po prawej.</td></tr><tr><td><strong>Podział Poziomy</strong></td><td><code>"</code>&nbsp;(cudzysłów)</td><td>Świetne, by na dole ekranu mieć podgląd błędów.</td></tr><tr><td><strong>Zmiana Panela</strong></td><td><code>Strzałki</code></td><td>Szybki skok między procesami bez myszki.</td></tr><tr><td><strong>Nowe Okno</strong></td><td><code>c</code></td><td>Czysta karta na nowy eksperyment.</td></tr><tr><td><strong>Odłączenie (Detach)</strong></td><td><code>d</code></td><td>Zostawiasz agenty w tle i bezpiecznie wychodzisz.</td></tr></tbody></table></figure>



<p>Dla osoby nietechnicznej kluczowe jest zrozumienie hierarchii w tmuxie, bo to ona miesza w głowie na początku. Musimy to wytłumaczyć obrazowo:</p>



<ol start="1" class="wp-block-list">
<li><strong>Sesja (Session):</strong> To Twój cały wirtualny komputer.</li>



<li><strong>Okno (Window):</strong> To jak <strong>karta w przeglądarce</strong>. Masz jedną na ekranie, reszta jest ukryta.</li>



<li><strong>Panel (Pane):</strong> To <strong>podział ekranu</strong>. W jednym oknie (karcie) możesz mieć np. 4 panele.</li>
</ol>



<p>Oto rozszerzona sekcja do artykułu, nasycona słowami kluczowymi pod SEO (<code>skróty tmux</code>,&nbsp;<code>okna tmux</code>,&nbsp;<code>panele tmux</code>).</p>



<h1 class="wp-block-heading">Panele, Okna i Zarządzanie Chaosem</h1>



<p>ZIT radzi: Nie ucz się tego na pamięć. Wydrukuj to sobie albo wrzuć do zakładek. W&nbsp;<code>tmux</code>&nbsp;wszystko zaczyna się od&nbsp;<strong>Prefixu</strong>&nbsp;(domyślnie&nbsp;<code>Ctrl</code>&nbsp;+&nbsp;<code>b</code>).&nbsp;<strong>Najpierw wciskasz Prefix, puszczasz go, a potem wciskasz skrót.</strong></p>



<h2 class="wp-block-heading">1. Panele (Panes) – Twoja przestrzeń robocza</h2>



<p>To tutaj dzieje się magia Vibe Codingu. Dzielisz ekran, żeby widzieć kod i logi agenta AI jednocześnie.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Przykład użycia przy AI</td></tr></thead><tbody><tr><td><strong><code>%</code></strong>&nbsp;(Shift + 5)</td><td><strong>Podział pionowy</strong>(lewo/prawo)</td><td>Po lewej kodujesz, po prawej leci agent.</td></tr><tr><td><strong><code>"</code></strong>&nbsp;(cudzysłów)</td><td><strong>Podział poziomy</strong>(góra/dół)</td><td>Idealne, żeby na dole puścić mały podgląd zużycia RAM-u.</td></tr><tr><td><strong><code>z</code></strong>&nbsp;(Zoom)</td><td><strong>Powiększ panel na cały ekran</strong></td><td>Masz błąd na 100 linijek? Wciskasz&nbsp;<code>z</code>, czytasz, wciskasz znowu&nbsp;<code>z</code>&nbsp;i wracasz do układu.</td></tr><tr><td><strong><code>x</code></strong></td><td><strong>Zamknij panel</strong></td><td>Zabija panel (bezpieczniejsze niż wpisywanie&nbsp;<code>exit</code>).</td></tr><tr><td><strong><code>Strzałki</code></strong></td><td><strong>Nawigacja</strong></td><td>Przeskakujesz między panelami góra/dół/lewo/prawo.</td></tr><tr><td><strong><code>Space</code></strong>&nbsp;(Spacja)</td><td><strong>Zmiana układu</strong></td><td>Automatycznie zmienia układ paneli (np. z pionowego na kafelki).</td></tr><tr><td><strong><code>{</code></strong>&nbsp;lub&nbsp;<strong><code>}</code></strong></td><td><strong>Przesuń panel</strong></td><td>Zamienia panele miejscami (gdy wolisz mieć logi jednak po lewej).</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">2. Okna (Windows) – Jak karty w przeglądarce</h2>



<p>Gdy na jednym ekranie masz już za dużo paneli (np. backend, frontend, baza danych), czas otworzyć nowe &#8222;czyste&#8221; okno.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Przykład użycia przy AI</td></tr></thead><tbody><tr><td><strong><code>c</code></strong></td><td><strong>Create (Utwórz nowe okno)</strong></td><td>Otwiera czystą kartę pod nowy projekt lub proces.</td></tr><tr><td><strong><code>,</code></strong>&nbsp;(przecinek)</td><td><strong>Zmień nazwę okna</strong></td><td><strong>Kluczowe!</strong>&nbsp;Zmień &#8222;bash&#8221; na &#8222;Backend&#8221; albo &#8222;Claude&#8221;. Utrzymasz porządek.</td></tr><tr><td><strong><code>w</code></strong></td><td><strong>Lista okien (Podgląd)</strong></td><td>Wyświetla interaktywną listę wszystkich okien i sesji. Wybierasz strzałkami.</td></tr><tr><td><strong><code>n</code></strong></td><td><strong>Next (Następne)</strong></td><td>Przełącza na kolejne okno.</td></tr><tr><td><strong><code>p</code></strong></td><td><strong>Previous (Poprzednie)</strong></td><td>Wraca do poprzedniego okna.</td></tr><tr><td><strong><code>&amp;</code></strong></td><td><strong>Zamknij okno</strong></td><td>Zabija całe okno ze wszystkimi panelami w środku.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">3. Sesje i Tryb &#8222;Boga&#8221; (Zarządzanie)</h2>



<p>To są polecenia, które decydują o życiu i śmierci Twoich procesów.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Dlaczego to ważne?</td></tr></thead><tbody><tr><td><strong><code>d</code></strong></td><td><strong>Detach (Odłącz)</strong></td><td>Wychodzisz z Matrixa, ale Matrix działa dalej. Zostawiasz agenty w tle.</td></tr><tr><td><strong><code>:</code></strong>&nbsp;(dwukropek)</td><td><strong>Wiersz poleceń</strong></td><td>Otwiera pasek na dole, gdzie możesz wpisywać komendy tmuxa.</td></tr><tr><td><strong><code>?</code></strong></td><td><strong>Pomoc</strong></td><td>Wyświetla listę wszystkich dostępnych skrótów (gdy zapomnisz).</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Podstawowe tmux polecenia</h2>



<p>Skróty działają wewnątrz, ale czasem musisz zarządzać sesjami &#8222;z zewnątrz&#8221;. Oto lista komend, które wpisujesz w zwykłym terminalu:</p>



<ul class="wp-block-list">
<li><strong><code>tmux</code></strong> – Uruchamia nową sesję. Twój start.</li>



<li><strong><code>tmux ls</code></strong> – Wyświetla listę wszystkich sesji działających w tle. Sprawdzasz, czy Twoje agenty nadal żyją.</li>



<li><strong><code>tmux attach</code></strong> – <strong>Absolutnie najważniejsze polecenie.</strong> Pozwala wrócić do ostatniej sesji (np. po tym, jak zamknąłeś terminal). To Twój powrót do pracy.</li>



<li><strong><code>tmux kill-server</code></strong> – Ostateczne rozwiązanie. Zamyka wszystko i czyści pamięć.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Jeśli poważnie myślisz o pracy z AI i chcesz utrzymać wysokie tempo (Vibe Coding), przestań polegać na ciężkich edytorach do uruchamiania procesów.</p>



<p><strong>VS Code służy do pisania kodu. Tmux służy do jego życia.</strong></p>



<p>To rozdzielenie sprawi, że Twój sprzęt odetchnie, a Ty zyskasz kontrolę nad chaosem, jaki generują autonomiczne agenty. Mniej lagów, więcej &#8222;vibe&#8217;u&#8221;.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/tmux/">Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/tmux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</title>
		<link>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/</link>
					<comments>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 21:25:17 +0000</pubDate>
				<category><![CDATA[Fixit]]></category>
		<category><![CDATA[Komputery]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[windows11]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=978</guid>

					<description><![CDATA[<p>Rok 2026,  chmury, AI, Azure ... i Microsoft który nie potrafi zrobić porządku z outlookiem. Problem który thunderbirdy rozwiązały lata teamu dalej trawi outlooka ... problem rozmiaru pliku z danymi ... </p>
<p>Artykuł <a href="https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/">Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Rok 2026,  chmury, AI, Azure &#8230; i Microsoft który nie potrafi zrobić porządku z outlookiem. Problem który thunderbirdy rozwiązały lata teamu dalej trawi outlooka &#8230; problem rozmiaru pliku z danymi &#8230; </p>



<p>Dostajemy komunikat iż &#8222;Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365&#8221;. i nie można nic zrobić, nic nie da sie usunąć ani nic, czyli kolejny odcinek serialu pod nazwą outlook problem . </p>



<p>Teraz tak : </p>



<p><strong>Plik PST (Personal Storage Table)</strong>&nbsp;to lokalny plik przechowujacy kopie wiadomosci e-mail, kalendarza, kontaktow i innych elementow Outlooka. Uzywany jest glownie w konfiguracjach POP3 oraz do archiwizacji.</p>



<p><strong>Plik OST (Offline Storage Table)</strong>&nbsp;to lokalny plik cache dla kont Exchange i Microsoft 365. Pozwala na prace offline z pelnym dostepem do poczty, ktora synchronizuje sie z serwerem po polaczeniu z siecia.</p>



<p>No i w nowym outlooku mają one ograniczenie do 50 GB . Tak &#8230;50GB nie 500 tylko 50 . Co nie jest mega limitem dla aktywnie działającego użytkownika&#8230; </p>



<p>Mozna różne rzeczy tutaj robić ( usuną plik pobrać, pobrać na nowo rzeczy z imap, można zkompaktować folder) ale problem wróci&#8230;</p>



<p>Najlepszym rozwiązaniem na szybko jest zmiana w rejestrze która zmienia ten limit .</p>



<p>Uruchamiamy regedit </p>



<p>Wchodzimy na <strong>HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\PST</strong></p>



<p>I dodajemy 2 wartości DWORD : </p>



<ul class="wp-block-list">
<li>MaxLargeFileSize o wartosci 4294967295</li>



<li>WarnLargeFileSize o wartosci 4090445042</li>
</ul>



<p></p>



<p></p>



<p></p>



<p>&#8230;i w teorii mamy brz ograniczen (coś pod 4 PB) .</p>



<p>Należy pamiętać o tym że im większy plik tym większa szansa na przypadkową awarie pliku . </p>



<p>Zatem <strong>koniecznie po uruchomieniu</strong>, wyczyśmy śmieci , spamy  i skonfigurujmy konecznie archiwizacje. </p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/">Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>QNAP WIN11 i Brak Dostępu</title>
		<link>https://zitwziete.org/qnap-win11-i-brak-dostepu/</link>
					<comments>https://zitwziete.org/qnap-win11-i-brak-dostepu/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Tue, 09 Dec 2025 13:46:46 +0000</pubDate>
				<category><![CDATA[Fixit]]></category>
		<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Sieci]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[win11]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=968</guid>

					<description><![CDATA[<p>Kupiłeś sobie NAS-a. Podłączasz , konfigurujesz sobie folder udostępniony, taki "na szybko", żeby wrzucać tam filmy czy zdjęcia z wakacji. Ustawiasz dostęp dla gościa i .... nie gada...</p>
<p>Artykuł <a href="https://zitwziete.org/qnap-win11-i-brak-dostepu/">QNAP WIN11 i Brak Dostępu</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<p><strong>Windows 11 strzelił focha na Twojego QNAP-a? Naprawiamy &#8222;Brak dostępu&#8221; do folderów bez hasła</strong></p>



<p>Kupiłeś sobie NAS-a. Może to QNAP, może Synology, a może coś, co sam poskładałeś w piwnicy. Podłączasz kable, diody migają wesoło, czujesz się jak haker w &#8222;Matrixie&#8221;. Konfigurujesz sobie folder udostępniony, taki &#8222;na szybko&#8221;, żeby wrzucać tam filmy czy zdjęcia z wakacji. Ustawiasz dostęp dla gościa (Guest), bo po co Ci hasło w domu? Przecież pies Ci danych nie wykradnie.</p>



<p>Siadasz do komputera z Windows 11, wchodzisz w otoczenie sieciowe, klikasz w ikonkę serwera i&#8230; ściana.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong><em>&#8222;System Windows nie może uzyskać dostępu do ..&#8221;</em></strong></p>



<p>albo </p>



<p><strong><em>&#8222;Nie masz dostępu do tego folderu udostępnionego, ponieważ zasady zabezpieczeń organizacji uniemożliwiają  dostęp nieuwierzytelnionym gościom&#8230;. &#8221; </em></strong></p>
</blockquote>



<p>Albo inny, równie pomocny komunikat o braku uprawnień, kontakcie z administratorem (czyli z Tobą, co jest podwójnie irytujące) i ogólnym smutku.</p>



<p>Zanim zaczniesz restartować router, sprawdzać kable albo dzwonić na infolinię dostawcy internetu – stop. To nie awaria. To &#8222;troska&#8221; Microsoftu.</p>



<h2 class="wp-block-heading">Dlaczego Windows 11 nie lubi Twojego QNAP-a?</h2>



<p>Microsoft w nowszych wersjach Windowsa (10 i 11) stwierdził, że wie lepiej, co jest dla nas bezpieczne. Uznali, że logowanie się do zasobów sieciowych bez hasła (czyli tzw.&nbsp;<strong>Insecure Guest Logons</strong>) to zło wcielone.</p>



<p> </p>



<h2 class="wp-block-heading">Co z tym zrobić ? </h2>



<p>Można by grzebać w <em>Edytorze Lokalnych Zasad Grupy</em> (gpedit.msc), przeklikiwać się przez trzysta okienek i szukać odpowiedniej opcji ukrytej gdzieś między ustawieniami drukarki a tapetą pulpitu. Ale my szanujemy swój czas.</p>



<p>Zrobimy to metodą &#8222;na hakera&#8221;, ale spokojnie – to tylko dwa polecenia.</p>



<p>Będziemy potrzebować&nbsp;<strong>PowerShella</strong>. To to niebieskie okienko z literkami, którego zwykle się boisz. Nie bój się.</p>



<h3 class="wp-block-heading">Krok po kroku:</h3>



<ol start="1" class="wp-block-list">
<li>Kliknij prawym przyciskiem myszy na <strong>Menu Start</strong> (to logo Windowsa na pasku).</li>



<li>Wybierz <strong>Terminal (Administrator)</strong> lub <strong>PowerShell (Administrator)</strong>. Ważne, żeby było to &#8222;Administrator&#8221;, inaczej system Cię wyśmieje.</li>



<li>Pojawi się niebieskie (lub czarne) okno. Teraz zaczyna się magia.</li>
</ol>



<h3 class="wp-block-heading">Rozwiązanie problemu</h3>



<p>Wpisz (lub skopiuj i wklej, bo po co się męczyć) poniższą komendę. </p>



<pre class="wp-block-code"><code><strong>Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force</strong></code></pre>



<pre class="wp-block-code"><code>Kliknij <strong>Enter</strong>. Jeśli nic nie wybuchło i nie pojawił się czerwony tekst, to znaczy, że zadziałało.</code></pre>



<h3 class="wp-block-heading">Sprawdzamy, czy weszło</h3>



<p>Dla pewności, że system zrozumiał aluzję, możesz wpisać drugą komendę, która pokaże aktualny stan tej blokady:</p>



<pre class="wp-block-code"><code><strong>Get-SmbClientConfiguration | Select-Object EnableInsecureGuestLogons</strong></code></pre>



<pre class="wp-block-code"><code>Jeśli w odpowiedzi zobaczysz: <code>EnableInsecureGuestLogons : True</code></code></pre>



<p>&#8230;to jesteś w domu!</p>



<p>Pamiętaj tylko, że Microsoft trochę racji ma – włączasz to na własną odpowiedzialność. W sieci domowej to luz, ale z laptopem w kawiarni na publicznym Wi-Fi? Cóż, tam raczej i tak nie łączysz się z QNAP-em sąsiada.</p>



<p></p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/qnap-win11-i-brak-dostepu/">QNAP WIN11 i Brak Dostępu</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/qnap-win11-i-brak-dostepu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Synchronizacja czasu w Active Directory &#8211; cichy zabójca, który kładzie całą domenę</title>
		<link>https://zitwziete.org/synchronizacja-czasu-w-ad-cos-co-kladzie-cala-firme/</link>
					<comments>https://zitwziete.org/synchronizacja-czasu-w-ad-cos-co-kladzie-cala-firme/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 02 Nov 2025 14:23:24 +0000</pubDate>
				<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[Wirtualizacja]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[czas]]></category>
		<category><![CDATA[domena]]></category>
		<category><![CDATA[problem]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=949</guid>

					<description><![CDATA[<p>"Nie mogę się zalogować!" - krzyczy użytkownik. Potem drugi, trzeci... Sprawdzasz hasła - wszystko OK. Kontrolery domeny działają. Połączenia sieciowe są. A jednak połowa firmy nie może pracować.</p>
<p>Artykuł <a href="https://zitwziete.org/synchronizacja-czasu-w-ad-cos-co-kladzie-cala-firme/">Synchronizacja czasu w Active Directory &#8211; cichy zabójca, który kładzie całą domenę</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Poniedziałkowy poranek.</h2>



<p>Przychodzisz do pracy, a telefon już dzwoni. &#8222;N<strong>ie mogę się zalogować!</strong>&#8221; &#8211; krzyczy użytkownik. Potem drugi, trzeci&#8230; Sprawdzasz hasła &#8211; wszystko OK. Kontrolery domeny działają. Połączenia sieciowe są. A jednak połowa firmy nie może pracować.</p>



<p><strong>Witaj w świecie problemów z synchronizacją czasu</strong> &#8211; najbardziej podstępnego wroga każdego administratora Active Directory.Dlaczego czas jest tak krytyczny w Active Directory?<br>Active Directory to nie tylko baza użytkowników i komputerów. To skomplikowany mechanizm, który opiera swoje bezpieczeństwo na protokole Kerberos. A Kerberos ma obsesję na punkcie czasu &#8211; i to nie bez powodu.</p>



<h2 class="wp-block-heading"><br>Kerberos i jego tiki czasowe</h2>



<p>Kerberos używa znaczników czasowych (timestamps) do zabezpieczenia przed atakami typu replay. Każdy bilet Kerberos zawiera informację o czasie jego utworzenia. Gdy klient przedstawia bilet serwerowi, serwer sprawdza czy znacznik czasowy mieści się w akceptowalnym oknie czasowym &#8211; domyślnie 5 minut.<br>Przekroczenie tego progu to automatyczne odrzucenie uwierzytelnienia. Użytkownik dostaje tajemniczy błąd, często coś w stylu &#8222;<strong>Nie można skontaktować się z kontrolerem domeny</strong>&#8221; lub &#8222;<strong>Podane poświadczenia są nieprawidłowe</strong>&#8222;. A Ty szukasz problemu wszędzie, tylko nie tam gdzie trzeba.</p>



<p>&nbsp;</p>



<h3 class="wp-block-heading">Replikacja też cierpi</h3>



<p>To nie koniec problemów. Rozsynchronizowany czas wpływa również na:<br>&#8211; **Replikację między DC** &#8211; konflikty przy ustalaniu, która zmiana jest nowsza<br>&#8211; **Certyfikaty SSL/TLS** &#8211; mogą być uznane za niewałne lub wygasłe<br>&#8211; **Logi i audyt** &#8211; próba ustalenia sekwencji zdarzeń staje się koszmarem<br>&#8211; **Zasady grupowe** &#8211; mogą nie aplikować się poprawnie<br>&#8211; **Backupy** &#8211; znaczniki czasowe VSS mogą być nieprawidłowe</p>



<h2 class="wp-block-heading has-medium-font-size">Problemy z oprogramowaniem</h2>



<p>Najczęściej to chyba widać jako problem z czasem na nMedica. Tak nMedica z Asseco jak zostanie zainstlowana na kompie ktory pobiera czas jak chce zacznie wrzeszczeć przy uruchamianiu o problemi z czasem. A w pewnym momencie przestanie działac. </p>



<h3 class="wp-block-heading">Hierarchia czasu w domenie Windows</h3>



<p>Windows ma elegancki, hierarchiczny system synchronizacji czasu. Zrozumienie tej hierarchii to klucz do rozwiązywania problemów.</p>



<p>Standardem który czesto widzimy jest to iż główny kontroler doemny pobiera czas z internetu, a inne kontrolery z niego .  A stacje robocze powinny z kontrolerów. </p>



<p></p>



<h2 class="wp-block-heading">Rozwiązanie problemu </h2>



<p>U siebie wspomagamy sie skryptem PS, który pozwala to skonfigurować </p>



<p>Skrypt jest dostępny pod adresem : <a href="https://github.com/zITwziete/PS/blob/main/timesync.ps1">https://github.com/zITwziete/PS/blob/main/timesync.ps1</a></p>



<h4 class="wp-block-heading"> <br> </h4>



<p><code>SKRYPT SYNCHRONIZACJI CZASU ACTIVE DIRECTORY </code></p>



<p> <strong>OPCJA 1</strong>: <strong>Sprawdź status synchronizacji czasu</strong> &#8211; Ta opcja sprawdza wszystkie kontrolery domeny i pokazuje ich aktualny czas, różnice względem komputera lokalnego oraz źródło synchronizacji. Każdy DC otrzymuje status OK (różnica mniejsza niż 30 sekund), OSTRZEŻENIE (30-60 sekund) lub KRYTYCZNY (ponad 60 sekund). To pierwsza opcja której używasz przy diagnozowaniu problemów &#8211; uruchamiaj ja regularnie, np. raz w tygodniu, zeby upewnic sie ze wszystko dziala prawidlowo. Jeśli zobaczysz status KRYTYCZNY lub OSTRZEŻENIE, to znak że trzeba podjąć działania naprawcze. </p>



<p><strong>OPCJA 2</strong>: <strong>Skonfiguruj źródło czasu PDC &#8211; </strong>Konfiguruje kontroler PDC Emulator jako główne źródło czasu dla całej domeny. PDC synchronizuje się z zewnętrznymi serwerami NTP (domyślnie polskie serwery pool.ntp.org oraz time.windows.com), a wszystkie pozostałe kontrolery domeny synchronizują się z PDC. Użyj tej opcji podczas początkowej konfiguracji nowej domeny, po reinstalacji PDC, lub gdy chcesz zmienić źródła czasu NTP. Pamiętaj że PDC musi mieć dostęp do Internetu, aby połączyć się z serwerami NTP.&nbsp;</p>



<p><strong>OPCJA 3</strong>: <strong>Zresetuj konfiguracje czasu DC</strong>&#8211; Resetuje i rekonfiguruje usługę W32Time na wybranym kontrolerze domeny. Skrypt wyrejestruje i ponownie zarejestruje usługę, a następnie skonfiguruj ja zgodnie z rola serwera &#8211; PDC będzie synchronizował się z zewnętrznymi NTP, a pozostale DC z hierarchia domeny. Użyj tej opcji gdy konkretny kontroler domeny ma problemy z synchronizacja czasu, po awarii serwera, lub gdy zmieniłem konfigurację ręcznie i chcesz wrocic do ustawien domyslnych. To pierwsza opcja naprawcza do wypróbowania przy problemach z pojedynczym DC.&nbsp;</p>



<p><strong>OPCJA 4:</strong> <strong>Wymuś synchronizacje całej domeny</strong> &#8211; Łączy się ze wszystkimi kontrolerami domeny jednocześnie i wymusza na każdym natychmiastowa synchronizacje czasu. Użyj tej opcji po wykonaniu zmian w konfiguracji czasu (np. po zmianie źródeł NTP na PDC), gdy widzisz różnicę czasu między kontrolerami, lub gdy chcesz szybko zsynchronizować cala domenę bez czekania na automatyczna synchronizacja. Ta opcja nie zmienia konfiguracji &#8211; tylko wymusza synchronizacje na bazie aktualnych ustawień.&nbsp;</p>



<p><strong>OPCJA 5</strong>: <strong>Uruchom tryb monitorowania</strong> &#8211; Uruchamia ciągły monitoring synchronizacji czasu z automatycznym odświeżaniem co 30 sekund (lub inny ustawiony czas). Ekran wyświetla aktualny status wszystkich kontrolerów domeny z kolorowym oznaczeniem problemów. Użyj tej opcji podczas wykonywania krytycznych zmian w infrastrukturze, gdy chcesz obserwować jak zachowuje się synchronizacja w czasie rzeczywistym, lub gdy podejrzewasz przerywane problemy z czasem. Monitoring mozesz zatrzymac w każdej chwili przez CTRL+C. Doskonale nadaje się też do prezentacji na ekranie w serwerowni.&nbsp;</p>



<p><strong>OPCJA 6</strong>: <strong>Testuj łączność NTP</strong> &#8211; Sprawdza czy kontrolery domeny maja dostep do zewnetrznych serwerow czasu NTP. Testuje kazdy serwer z listy (pool.ntp.org, time.windows.com, time.nist.gov) i pokazuje czy połączenie działa. Użyj tej opcji gdy PDC ma status KRYTYCZNY i podejrzewasz problemy z dostępem do Internetu, po zmianach w konfiguracji zapory, lub gdy chcesz sprawdzić czy zewnętrzne serwery NTP sa dostępne. Jeśli test pokazuje bledy, to znaczy że PDC nie może synchronizować czasu z Internetem i cala domena będzie mieć problemy.&nbsp;</p>



<p><strong>OPCJA 7</strong>: <strong>Napraw usługę W32Time</strong> &#8211; To zaawansowana opcja naprawy uszkodzonej usługi synchronizacji czasu. Możesz naprawić usługę lokalnie, na wybranym kontrolerze, lub na wszystkich DC jednocześnie. Proces naprawy zatrzymuje usługę, wyrejestrowuje ja, rejestruje ponownie, konfiguruje zgodnie z rola serwera i wymusza synchronizacje. Użyj tej opcji gdy usługa W32Time jest zatrzymana i nie da się jej uruchomić, gdy resetowanie przez opcje 3 nie pomoglo, gdy widzisz błędy krytyczne w dzienniku zdarzeń związane z W32Time, lub po poważniejszej awarii serwera. To opcja ostatniej szansy przed reinstalacja systemu.&nbsp;</p>



<p><strong>OPCJA 8</strong>: <strong>Skonfiguruj członka domeny</strong> &#8211; Konfiguruje synchronizacje czasu na stacjach roboczych i serwerach członkowskich domeny (nie-kontrolerach). Możesz skonfigurować komputer lokalny, zdalny komputer, lub wiele komputerów z listy. Dodatkowo możesz przetestować łączność czasowa z kontrolerami domeny. Użyj tej opcji gdy nowe komputery w domenie mają zły czas, gdy stacje robocze pokazują inne godziny niż serwery, po podłączeniu komputera do domeny, lub gdy komputer był długo włączony i jego zegar sie rozjechal. Konfiguracja ustawia synchronizacje z hierarchia domeny, więc komputery będą automatycznie synchronizować się z najbliższym kontrolerem.&nbsp;</p>



<p>KIEDY UŻYWAĆ KTÓREJ OPCJI &#8211; SCENARIUSZE:&nbsp;</p>



<p><strong>Regularna konserwacja:</strong> Raz w tygodniu uruchom opcje 1 by sprawdzić czy wszystko działa. Jeśli wszystko OK, nie rób nic więcej.&nbsp;</p>



<p><strong>Nowa domena lub migracja</strong>: Uruchom kolejno opcje 2, 4, 1 &#8211; skonfigurujesz PDC, wymuszasz synchronizacje i sprawdzisz wyniki.&nbsp;</p>



<p><strong>Problem z jednym kontrolerem</strong>: Uruchom opcje 1 aby zidentyfikować problematyczny DC, potem opcje 3 na tym DC, a jesli nie pomoze to opcje 7-2.&nbsp;</p>



<p><strong>Masowe problemy z całą domeną</strong>: Uruchom opcje 6 zeby sprawdzic dostep do NTP, potem opcje 7-3 aby naprawić wszystkie DC, następnie opcje 2 i 4 aby skonfigurować i zsynchronizować.&nbsp;</p>



<p><strong>Problemy ze stacjami roboczymi</strong>: Uruchom opcje 8-4 by sprawdzić łączność, potem opcje 8-1 lub 8-2 aby skonfigurować komputery. Po zmianach w infrastrukturze: Użyj opcji 5 aby monitorować synchronizację w czasie rzeczywistym podczas wprowadzania zmian.</p>



<h3 class="wp-block-heading">Podsumowanie</h3>



<p><br>Synchronizacja czasu to fundament bezpieczeństwa i stabilności Active Directory. <strong>Rozbieżność zaledwie 5 minut może sparaliżować całą domenę</strong>, ale z odpowiednimi narzędziami i procedurami możesz temu zapobiec.</p>



<p><br>Synchronizacja czasu to nie jest coś, co konfigurujesz raz i zapominasz. To proces, który wymaga stałego nadzoru. Ale dzięki skryptom i narzędziom,  możesz spać spokojnie wiedząc, że Twoja domena tyka jak szwajcarski zegarek.<br>Masz swoje historie z wojny z czasem w AD? Podziel się w komentarzach </p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/synchronizacja-czasu-w-ad-cos-co-kladzie-cala-firme/">Synchronizacja czasu w Active Directory &#8211; cichy zabójca, który kładzie całą domenę</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/synchronizacja-czasu-w-ad-cos-co-kladzie-cala-firme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
