HTTP/3 integracija kroz Nginx/Ubuntu

QUIC 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 key 

pub   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.

http/3 modul

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:

netstat udp

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 test web servera

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

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 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.

Kopacemo je pokopan

domena kopacemo.com pobrisana kopacemo.com pobrisana domena

tviter profil kopacemo pobrisan tviter profil kopacemo nepostoji

Borba je trajala od 28.8.2024 pa do 27.4.2025. S tim sto je od 11.2 profil Kopacemo na X/tviteru neaktivan.

Domena kopacemo . com i "duh njihov kopachki" je unisten.

Dosao sam do imena, prezimena svih faktora a sa celavim Danilom Danicicem na celu.

Citav istorijat tragedije Celavog Danila Danicica mozete ispratiti na https://www.linkedin.com/feed/update/urn:li:activity:7234668473644122113/ sa skrinshotovima, dokazima, linkovima, IP adresama (i izmjenama jer smo im gasili servere a on mukica celava jurio da postavi novi server)

Osoba koja je pokusala lose da objasni da nije on iza servera, domene i profila. Odao se na vise stotina nacina da vise niko nije imao sumnje.

Djuka Bizon kao patron te ekipe i olosh koja je stojala iza citavog projekta se odala vise puta. Prvo od trenutka kada je poceo da hvali pokret pa do njegovog tagovanja od strane profila Kopacemo.

Tako bilo ocito da su ljudi i sa 4 razreda osnovne mogli da shvate sustinu.

Pobrisani su. Pobjedjeni su. Unisteni su. Bahati olos je izgubio ovu bitku a izgubice i svaku sljedecu.

Hvala svima koji su pomogli a vas je daleko vise nego njih.