Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
S rostoucí zátěží serveru (nejen poštovního) se stává aktuální otázka, jak se s touto zátěží vypořádat. Nabízejí se v zásadě tři možná řešení:
Nejjednodušší řešení zátěže je posílení hardwaru, lidově řečeno „silnější železo“. Může to zahrnovat výměnu či přidání procesoru, rozšíření operační paměti, nasazení rychlejších disků či změnu konfigurace pole RAID, zvýšení rychlosti síťového připojení atd. Výhoda je, že jednoduše posílí ten prostředek, kterého se nedostává. Stojí to však určité peníze a mnohdy to nelze provést bez výměny celého serveru (například proto, že základní deska toho současného více procesorů či větší paměť neumožňuje přidat). Navíc pokud je velká zátěž jen přechodný jev (typicky při útoku), bylo by navyšování hrubé síly zbytečné.
Další možnost je změna architektury – a to jak ve smyslu serveru jako celku, tak i poštovního řešení. Server jako celek lze virtualizovat a nastavovat mu prostředky podle potřeby (takže stačí mít velmi výkonný fyzický stroj a provozovat na něm více serverů virtuálních; lze tím ušetřit za hardware). Změna architektury poštovního řešení může znamenat například oddělení rolí serveru (např. doručování a relaying), přenesení některých služeb na samostatné stroje (např. greylisting, databáze, antivirová kontrola), použití samostatného úložiště atd. Změny architektury jsou dobrá volba pro dlouhodobý horizont, ovšem pokud je potřeba najít řešení nadměrné zátěže ihned, může to být velmi nákladné a něco se může zbytečně uspěchat.
Poslední možnost je optimalizace stávajícího serveru, jeho konfigurace. Na přímých nákladech to nebude stát ani korunu, veškeré změny se odehrají jen v rámci konfigurace. Vždy je to samozřejmě něco za něco. Vylepšení některých vlastností může mít za následek zhoršení jiných.
Kdo očekává, že budou následující odstavce prošpikované kouzelnými hodnotami, které stačí někam zadat, a vše bude najednou skvělé, bude asi zklamán. Takhle jednoduché to není, ostatně kdyby bylo, vyřešili by to tvůrci programu sami a nebylo by potřeba nic konfigurovat. Další text bude tedy hodně v obecné rovině, konkrétní řešení je třeba vždy tvořit pro danou reálnou situaci.
Verze 2.5 programu Postfix přináší jedno zásadní vylepšení, týkající se funkce při extrémní zátěži. Zavádí totiž stress-adaptive behavior čili „stresově adaptivní chování“. Funguje to tak, že pokud se server dostane do stavu přetížení (nelze obsloužit dalšího klienta), řídící proces master
restartuje službu (typicky smtpd
) v režimu pro vysokou zátěž. Aktuálně otevřené relace jsou obslouženy ještě v původním režimu.
Smyslem existence režimu je řešit krátkodobé stavy extrémní zátěže (masivní připojování ze spammerských botnetů, různé DoS a DDoS útoky atd.), nikoli trvalý nadměrný provoz.
Režim pro vysokou zátěž využívá samostatnou konfiguraci důležitých parametrů, které mají vliv na to, jak proběhne obsloužení připojeného klienta. Využívají se k tomu podmínkové konstrukty v konfiguračním souboru. Bude proto nejlepší podívat se nejprve na ně, protože je lze využít obecněji, nikoli jen v tomto případě.
main.cf
Veškeré dosud uváděné příklady konfigurace (v souboru main.cf
) ukazovaly jen obyčejné přiřazování hodnot, ať již přímo, nebo přes nějaký datový zdroj. Nicméně již od verze 2.2 umožňuje Postfix vázat na to, zda je určitý parametr neprázdný nebo naopak prázdný. Obecný formát vypadá takto:
${name?value} ${name:value}
Připomíná to ternární operátor známý například z jazyka C, nicméně v tomto případě je rozdělen na dvě části. V prvním případě se uvedená hodnota použije, je-li obsah parametru neprázdný, ve druhém případě pro opačnou situaci, tedy prázdný parametr. Tady je konkrétní příklad:
relay_clientcerts = ${relayhost?hash:/etc/postfix/relay_clientcerts}
Tento zápis říká, že pokud je parametr relayhost
neprázdný, nastaví se relay_clientcerts
na uvedenou hodnotu (jinak bude prázdný). Oba konstrukty lze kombinovat a dosáhnout situace, jako kdyby se jednalo o ternární operátor:
smtpd_delay_reject = ${smtpd_client_restrictions?no}${smtpd_client_restrictions:yes}
V případě neprázdného parametru smtpd_client_restrictions
se pro smtpd_delay_reject
použije hodnota no
, v opačném případě hodnota yes
. Velmi se to bude hodit pro režim vysoké zátěže, jak se vzápětí ukáže.
Při extrémní zátěži lze serveru odlehčit tím, že se některé parametry změní tak, aby se server se zátěží lépe vyrovnal. Týká se to hlavně následujících skupin parametrů:
Veškeré změny se však týkají jen služeb, které jsou veřejně přístupné (typicky tedy smtpd
, případně včetně submission
, pokud se používá). U ostatních služeb se režim vysoké zátěže nepoužívá.
Následující fragment souboru main.cf
ukazuje možnou úpravu parametrů pro účely režimu vysoké zátěže:
smtpd_timeout = ${stress?10}${stress:300}s smtpd_soft_error_limit = ${stress?1}${stress:10} smtpd_hard_error_limit = ${stress?1}${stress:20} smtpd_junk_command_limit = ${stress?1}${stress:100} smtpd_client_connection_rate_limit = ${stress?10}${stress:0} smtpd_client_message_rate_limit = ${stress?30}${stress:0} smtpd_client_recipient_rate_limit = ${stress?300}${stress:0} smtpd_recipient_limit = ${stress?100}${stress:0} smtpd_recipient_overshoot_limit = ${stress?10}${stress:1000}
Takováto konfigurace znamená, že za běžných podmínek (server není příliš zatížen) se nebudou uplatňovat přísná omezení – ta nastoupí až v situaci, kdy dojde k přetížení serveru a služba smtpd
bude nastartována v režimu vysoké zátěže (stress
). Pak se například timeout zkrátí na 10 sekund, limit chyb a „prázdných“ příkazů klesne na 1 atd.
U Postfixu od verze 2.6 není potřeba některé z těchto parametrů nastavovat (viz manuál), protože výchozí hodnoty již s režimem vysoké zátěže počítají. Verze 2.5 však tato nastavení potřebuje.
Nastavování přísných omezení může být porušením RFC 2821 a hlavně může působit problémy některým legitimním klientům. Je proto potřeba vždy hledat rovnováhu mezi nutností aplikovat omezení a potřebou chránit před těmito omezeními legitimní provoz. Často je lepší postupovat raději konzervativně a přetěžování serveru (například ze strany botnetů) řešit i jinými prostředky.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: