Problema:
Am decis să rulez Linux pe hardware, iar asta implică aducerea unor jocuri.De asemenea, încerc să folosesc iptables, în special, deoarece mi-a fost recomandat pentru utilizare ca firewall și pentru a înțelege mai bine conceptele de rețea. Folosesc Ubuntu 18.04.5 Bionic Beaver LTS cu o sesiune desktop personalizată XFCE4 gestionată de lightdm și openbox.
Îmi examinam sistemul pentru porturi deschise folosind sudo netstat -tulpn | grep ASCULTĂ
metodă.
Ieșire:
tcp 0 0 127.0.0.53:53 0.0.0.0:* ASCULTA 6741/systemd-resolv .
tcp 0 0 0.0.0.0:27036 0.0.0.0:* ASCULTĂ 28122/steam
tcp 0 0 127.0.0.1:57343 0.0.0.0:* ASCULTĂ 28122/steam
tcp 0 0 127.0.0.1:27060 0.0.0.0:* ASCULTĂ 28122/steam
Aceasta ar fi utilizarea standard a portului pentru a juca Star Wars: Knights of the Old Republic 2 pe steam. Problema este în punctul în care jocul nu rula / și nici nu i s-a cerut lansarea de către vreun sistem pe care l-am configurat manual (din câte știu eu.)
Ancheta:
Intrarea 1 este, după înțelegerea mea, rezolutorul DNS de sistem-d, care ascultă cererile legate de DNS pe portul 53 și, desigur, integrarea corectă pentru aceasta într-o configurație standard iptables pare a fi destul de simplă. Aș dori să adaug că, în general, atunci când comanda este rulată, intrarea 1 pentru PID 6741/systemd-resolv
este singura intrare afișată în această listă.
Cu toate acestea, celelalte 3 porturi deschise enumerate sunt pentru PID 28122/abur
.
Și la o ocazie, mi-am prins dispozitivul în configurația prezentată mai sus. Apoi am încercat să evaluez de ce a fost cazul, să evaluez dacă IPtablele mele ar trebui schimbate pentru a permite această operațiune să se întâmple dacă necesită o conexiune la rețea activă, așa cum presupun că ar putea face, folosind TCP, în funcție de ceea ce se întâmplă.
Am folosit programul meu LxTask pentru a urmări comenzile exacte executate de acest PID.
Pentru fiecare port listat, comanda executată a fost steam steam://rungameid/208580
. Aceasta ar fi comanda folosită pentru a lansa singurul joc de pe sistem, o copie nemodificată și curată a „Star Wars: Knights of the Old Republic II”
De ce orice proces ar lansa acest joc, dar nu ar lansa acest joc, mă depășește. Nu am încercat niciodată să lansez jocul în vreun fel și a fost închis de peste o oră sau mai mult.
Ultimul pas pe care l-am făcut a fost să lansez rapid o scanare nmap la portul 27036, 27060, 57343, pentru a confirma de la localhost că rula pe localhost. Am folosit -sV -sC
flags pentru a încerca să extragă informații de serviciu din stiva TCP/IP de pe porturi.
Comanda pe care am folosit-o pentru asta a fost: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
Ieșire:
27036/tcp open ssl/steam Valve Steam Serviciu de streaming în acasă
27060/tcp deschis necunoscut
57343/tcp deschis necunoscut
După aceasta, aș fi repetat aceeași scanare dintr-o rețea externă pentru a vedea dacă porturile erau disponibile în afara localhost, dar nu am reușit să găsesc o conexiune deschisă pe porturile specificate. Când m-am întors la subiectul Ubuntu PC, am verificat de două ori pentru a vedea dacă porturile erau încă deschise folosind același lucru sudo netstat -tulpn | grep ASCULTĂ
metodă.
tcp 0 0 127.0.0.53:53 0.0.0.0:* ASCULTA 6741/systemd-resolv .
Se pare că soluția DNS a fost singurul port deschis din această listă.
Am repetat scanarea nmap localhost de pe mașina mea pe porturile identificate anterior. Comanda folosita: nmap -p 27036,27060,57343 -sV -sC 127.0.0.1
din nou. Ieșire:
VERSIUNEA SERVICIULUI STATUL PORTULUI
27036/tcp închis necunoscut
27060/tcp închis necunoscut
57343/tcp închis necunoscut
Se pare ca porturile sunt inchise si PID 28122/abur
nu mai rulează pe mașina mea.
Întrebare:
Poate cineva să explice la ce a fost acest proces la care tocmai am asistat cu informațiile prezente?
Important, puteți să-mi oferiți contextul (dacă este relevant), despre modul în care procesele steam/generale care se comportă ciudat, cum ar fi acesta, ar trebui să fie gestionate corect în contextul regulilor iptables, deoarece acesta este scopul meu final să stabilesc.
Dacă este posibil, aș dori un exemplu relevant pentru acest caz de utilizare despre cum să refuz aceste porturi dreptul de a se deschide, cu excepția cazului în care lansez jocul personal.
Note posibile relevante:
Pachetul meu cu aburi este: steam/bionic, acum 1:1.0.0.54+repack-5ubuntu1 i386 [instalat]
Construit: 8 iunie 2021 la 22:23:41
API Steam: v020
Versiunea pachetului Steam: 1623193086
Am un client steam instalat cu 1 joc, Star Wars Knights of the Old Republic 2.
Jocul nu este modificat și este o instalare nouă.
Nu necesită conectivitate la rețea.
Mulțumesc pentru timpul acordat.