gemini picture generated
HTTP/3 integracija kroz Nginx/Ubuntu
Preuzeto sa https://github.com/quicwg
HTTP/3 Intro
HTTP/3 protokol je nastavak HTTP/2 a za razliku od njega koristi QUIC koji je baziran na UDP. Razlog koriscenja UDP jeste nisko kasnjenje, brzina isporuke dok kompletan HTTP protokol sa svim porukama, kodovima, standardom ostaje isti. Vazno je napomenuti da je QUIC "nastavak" na TLS 1.3 gdje ima lista prosirenja (npr ALPN i slicno) TLS protokola. Tako da je moguce koristiti na drugacije nacine TLS.
Brzina, benchmark i kasnjenje HTTP/3
Prema stranici , performanse su:
Connection Setup Time: HTTP/1 (50–120ms), HTTP/2 (40-100ms), HTTP/3 (20–50ms in low-latency networks)
File Download (1MB with 2% packet loss): HTTP/1 (1.8s), HTTP/3 (1.2s)
Page Load Latency (mobile 3G): HTTP/1 (600ms), HTTP/3 (300ms)
HTTP/2 unaprijedio web performanse sa omogucavanjem visestrukih zahtjeva i odgovora na jednoj konekciji, redukujuci kasnjenje. HTTP/3, baziran na QUIC, unapredjuje brzinu i smanjuje kasnjenje kroz zamjenu TCP sa UDP-baziranim-transportom, cineci ih eksponencijalno brzim, posebno za real-time aplikacije i mobilne uredjaje.
Prema testu sa stranice imamo performanse za poredjenje:
Ucitavanje tipicno E-commerce stranice (100 resursa):
HTTP/1.1: • Otvara 6–8 paralelnih konekcija • Sekvencijalno procesuiranje svake konekcije• Totalno vrijeme ucitavanja: ~8 sekundi
HTTP/2: • Jedna konekcija sa multipleksiranje • Kompresija headera i push sa servera • Totalno vrijeme ucitavanja: ~4 seconds
HTTP/3: • QUIC eliminise ostala uska grla • Bolje handlovanje izgubljenih paketa • Totalno vrijeme ucitavanja: ~3.2 seconds
Provjera browsera/web servera i instalacija HTTP/3 na Ubuntu 24.04/Nginx
Provjera Browsera
Jedan od prvih uslova jeste da nas browser podrzava HTTP/3 tako sto odemo na stranicu: https://quic.nginx.org/ ( lista browsera i verzija koji podrzavaju HTTP/3 )
Instalacija zadnje verzije nginx (1.29.0) na Ubuntu 24.04
U ovom dijelu cu zaobici podesavanja nginx konfiguracije, firewalla - vec cu direktno ici na podesavanja i instalaciju nginx.
Koraci za instalaciju zadnje verzije nginx na Ubuntu (preuzeto sa stranice):
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
Poslije zadnje komande se ocekuje output:
pub rsa4096 2024-05-29 [SC] 8540A6F18833A80E9C1653A42FD21310B49F6B46 uid nginx signing keypub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key pub rsa4096 2024-05-29 [SC] 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3 uid nginx signing key
Dalji koraci (koristimo mainline repo, tj zadnju verziju nginx-a):
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
U slucaju da zelimo stabilnu verziju, komanda umjesto gornje:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Sljedeci korak:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
sudo apt update
sudo apt install nginx
Da provjerimo instalaciju:
nginx -v output: nginx version: nginx/1.29.0 nginx -V output: nginx version: nginx/1.29.0 built by gcc 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) built with OpenSSL 3.0.13 30 Jan 2024 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module ***--with-http_v3_module*** --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/home/builder/debuild/nginx-1.29.0/debian/debuild-base/nginx-1.29.0=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/home/builder/debuild/nginx-1.29.0/debian/debuild-base/nginx-1.29.0=/usr/src/nginx-1.29.0-1~noble -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
Gdje se nalazi u zadnjem dijelu dio "--with-http_v3_module" koji nam omogucava HTTP/3.

Podesavanje nginx
Sljedeca podesavanja mozete naci na stranici: https://nginx.org/en/docs/quic.html
Da bi smo podesili nginx da radi, imamo dva dijela podesavanja. Prvi je nginx.conf a drugi je nas server/domena koji trebaju podesavanja.
Brisemo liniju(nove verzije ne koriste vise ovo): ssl on;
Dodajemo:
quic_retry on;
ssl_early_data on;
quic_gso on;
U dijelu:
server {
listen 443 quic reuseport;
listen 443 ssl;
index index.php; #u slucaju da imamo ovo podeseno, podesiti PHP
location / {
add_header Alt-Svc 'h3=":443"; ma=86400';
}
location ~ \.php$ {
add_header Alt-Svc 'h3=":443"; ma=86400';
}
}
Poslije ovoga mozemo izvrsiti komandu nginx -t gdje bi trebalo da izadje:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Onda mozemo i systemctl restart nginx.
Gdje mozemo vidjeti na UDP portu:

Testiranje web servera
Testiranje web servera mozemo uraditi na (mozete izabrati neku drugu domenu, ova je podesena kao test):
https://http3check.net/?host=https%3A%2F%2Fwww.vladimircicovic.com%2F

Sa Inspect(Chrome) mozemo na Networking vidjeti ucitavanje H3 tj HTTP/3:

Testiranje sa cuRl:
curl --http3-only -vvvv https://www.vladimircicovic.com/ ili u slucaju da nema http3 prebaci na http2 il http 1.1 curl --http3 -vvvv https://www.vladimircicovic.com/ starija verzija cuRl-a bi mogla raditi sa: curl --alt-svc altcache -vvvv https://www.vladimircicovic.com/
Dodatne analize naseg TLS podesavanja, mozemo na: https://www.ssllabs.com/ssltest/analyze.html?d=www.vladimircicovic.com
Cyber prostor - Rusija vs Srbija (moguci razvoj situacije)
Ru Vs Srb (chatGPT)
NAPOMENA: Ovo nije navijacki tekst niti podrska bilo kojoj zemlji, politici ili nasilju u sajber prostoru. Ovo je sagledavanje trenutne situacije i moguce situacije u buducnosti a bazirano na ranijim paternima obje zemlje (Rusija, Srbija)
Trenutno je doslo do zaostravanja izmedju Srbije i Rusije po pitanju geopoliticke uloge Srbije. Prema navodu i izjavi "desne" ruke Putina, Dugin je izjavio da Srbija tj njen predsednik vise nije miljenik Moskve i da trenutni protesti u Srbiji su legitimni a ne "obojena" revolucija kako su tvrdili ranije. Takodje se navodi smjena Vulina, koji je bio "ruski" covjek. Moja predpostavka je da je pomagao tajne sluzbe Rusije sa hapsenjima opozicionara, dostavljanjem informacijama o ruskim izbjeglicama/imigrantima i mnogo toga ostalog (ovo uzmite sa rezervom jer nemamo tacne informacije)
Uvod u razvoj situacije
Posto je Rusija "otjerana" iz politike Srbije (na vise nacina, jedna od tih je smjena Vulina, isporuka oruzja Ukrajini, podrska Ukrajini, ostalo) zbog interesa vrha Srbije koja se sastoji od podrske EU prema Ukrajini i sjedenje na obje stolice (ili cak vise njih). Logicni odgovor Moskve jeste ukazivanje na zaostravanje odnosa, prvo je krenulo sa objavom na jednom od lokalnih news portala (sputnjik ili slicno) a nekoliko dana poslije izjava Dugina ( https://www.danas.rs/vesti/politika/eu-rusija-i-srbija-zasto-je-dugin-ostriji-prema-beogradu-od-brisela/ ) Ovakve situacije uvode u nove geopoliticke razvoje situacije gdje imamo primarno sajber prostor i moguce operacije u stvarnom zivotu od strane tajnih sluzbi Rusije prema Srbiji (ali ocekivano i obrnuto, od strane Srbije prema Rusiji). Ovdje cemo napraviti osvrt u sajber prostoru i identifikovati potencijalne mete. Ideja je mapirati mali dio meta u sajber prostoru Srbije. Obrnuto je moguce, cak sta vise Rusija ima veci prostor za napad od strane Srbije (problem su kapaciteti Srbije vs Rusija koja vec 25 god jaca svoj kapacitet za napade putem interneta)
Moguci razvoj situacije u sajber prostoru
Da bi imali razlog da pricamo o uopste targetiranju Srbije od bilo koje druge strane moramo pregledati zadnjih nekoliko godina i incidente u sajber prostoru i operativnost Srbije na te incidente.
Krenucemo od https://birn.rs/hakeri-imali-pristup-mejlovima-zaposlenih-u-katastru-srbije-strucnjaci-kazu-da-opasnost-jos-nije-prosla/ koji je i manji incident. Radilo se o ne tako sistematskom pristupu napadaca ali opet ignorisanjem sajber sigurnosti i time sto nisu objavili dokumentaciju i nalaze firme koje je radila ovaj incident ( strana firma, jako bitno za ovaj detalj ).
Iako imaju jedan dio uvedenih zastitnih mjera, katastar nije bio u stanju da primjeti kretanje napadaca kroz mrezu. Ovo nas navodi da veci kolektivi drzavnih firmi i nemaju bas tako regularan odnos prema sajber sigurnosti. Sama objava da je "incident zaustavljen" je takodje jedan vid medijskih manipulacija. Ljudi kojima je dolazio phishing email, ciji su podaci procurili najbolje govori o velicini incidenta.
Odavno drzavne institucije Srbije saradjuju sa firmama koje su bliske vlastima kako bi zataskali svaki veci ili manji incident. Nazalost, bez dalje analize i tacnih podataka ne mozemo reci koliko su otporni na APT grupe koje ciljano upadaju u drzavne kompanije. Medjutim moze nas navesti da je izuzetno nisko ili neodgovorno ponasanje ljudi na poziciji sto nas uvodi na dalje razmisljanje da je moguce da postanu lak plijen grupama organizovanog kriminala, APT grupa i slicno.
Bankarski sektor - radi podsjecanja vecina politicara u Srbiji iz vrha vlasti ima tajne racune sa ogromnim iznosima (inostranstvo, domace banke) sto takodje moze biti uvod u incidente zbog kojih ce doci do curenja takvih informacija. Postoji i opcija kombinacije rada agenata (spijuna) na terenu i sajber kriminalaca kako bi se ovi podaci objavili i pri tome napravila steta i izazvao haos. (ovo je kao sto rekoh nagadjanje, preduzimanje mjera zastite je pozeljno).
Sajber spijunaza kao oblik diskreditacije politickog vrha u Srbiji - jedan od mogucih dogadjaja jer vecina ISP, mobilnih operatera (bliske vlastima) imaju uglavnom osoblje koje je doslo po politickoj liniji. Takodje i mnoge druge dijelove tajnih sluzbi Srbije ili u vecini slucajeva doslo prema preporuci politicara (ovo nije nagadjanje, ovo je stvarnost) pa samim tim nisu u stanju da pojme razvoj situacije koja bi se mogla dogoditi.
Energetski sektor ili sektori od vaznosti (transport, telekomunikacije, servisi i drugo) - unosenjem haosa u dodatni haos je takodje ciljano i sa namjerom. Sjetimo se prijetnji bombama koji su radili djeca izmedju 15 i 19 god a prema skolama u Srbiji, BiH. Izmedju ostalog jedan dio sektora energetike posjeduje IoT i upravljacke kontrole putem interneta (al nisu svi online, neki su i offline ali opet air-gap napadi su moguci). Gasenjem dijela interneta, obaranjem dijelova interneta u Srbiji kako bi se stvorila dodatna konfuzija, panika i pojacao pritisak su moguci.
Obaranje medijskih portala - napadi ove vrste imaju pritisak na javnost u Srbiji, gdje se ostavlja utisak bespomocnosti i vlast se prikazuje kao nesposobna (jesu nesposobni, vecina ljudi i nema sumnje u to). Objavljivanjem laznih informacija, izazivanjem panike.
Dezinformacije i sirenjem laznih vijesti - Rusija ima dugi niz godina ubacivanjem informacija u javni prostor EU i sirenjem odredjenih politika i straha. Jedan dio te botovske mreze se nalazi na Balkanu i uspjesno parira zapadnim botovskim mrezama (vjerovali ili ne, svakodnevno dolazi do laziranja i obracuna izmedju njih) po pitanju Ukrajine, Rusije i EU. Ove mreze su jace od postojecih SNS (koje su devastirane ranije gasenjem naloga a sada se pokusava vratiti "stari sjaj" iste te sns bot mreze) botovskih propagadnih profila.
Sto se tice Srbije, ona je u stanju uraditi isto ali pricamo o drzavi koja je ulagala u represivne alate, medijski sektor i low level akcijama (prebijanje, ucjene i slicno) kako bi postigla kontrolu nad bitnim tackama u Srbiji. Ljudi koji su dovedeni na rukovodeca mjesta, bar vecina, su osobe koje su odane rezimu AV i sa smanjenim kapacitetom shvatanja stvari. Takodje, drzavni sektor nije primamljiv za ozbiljne strucnjake sigurnosti a pogotovo sto se od njih trazi ponasanje koje nije u skladu sa etickim, moralnim i drugim. Samim tim su stvorili armiju insajdera koji bi mogli svakog trenutka pomoci nekoj od strana koje ne zele dobro Srbiji.
Duzi niz godina se potenciraju firme i ljudi bliski vlastima - samim tim je doslo do urusavanja prirodnih izbora a vjestackim putem tj nametnutim dovedeno do losih izbora. Pa samim tim ocekujem razne digitalne tragedije jer ova vlast i ljudi politickih partija nisu naucili nista. Ovdje nisam stavio da Rusija posjeduje mogucnost presjecanja telekomunikacija, satelitsko pracenje, jaku mrezu spijuna tj sve ono sto Srbija ima djelimicno il nikako. Neke stvari je moguce nadoknaditi (u slucaju Srbije) ali sami kapaciteti Rusije su ogromni. To ne znaci nista u sajber prostoru posto je u pitanju asimetricno "ratovanje" gdje i jaci moze dobiti po nosu. Gledano iz broja operacija, to je ipak na strani Rusije + tehnicki kapaciteti.
NAPOMENA: Krajnji proizvod operacija Rusije , recimo u teoriji, prema Srbiji moze biti ulazak Srbije u NATO. Radi podsjecanja Svedska je usla u kriznom momentu po stabilnost. Ne znaci isti pristup ali je moguce. Politicki vrh Srbije ima svu moc u parlamentu da donese takvu odluku. Tako da cyber ops protiv Srbije i slicne stvari mogu gurnuti SRB u NATO. Znam da se i vecina ljudi iz Srbije ne slaze - al ovo je jedna od opcija i moguce desavanje.
Nadam se da se nista od ovog nece dogoditi i da ce sve ostati na izjavama politickih zvanicnika Rusije.