{"id":29880,"date":"2019-10-31T21:32:27","date_gmt":"2019-10-31T18:32:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\/"},"modified":"2019-10-31T21:32:27","modified_gmt":"2019-10-31T18:32:27","slug":"milliony-binarnikov-spustya-kak-ukreplyalsya-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","title":{"rendered":"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/bf51e5698530d4a6a44ff97f542a2a87.png\" style=\"display:block;margin: 0 auto;\" \/><b>TL;DR<\/b>. I denna artikel utforskar vi h\u00e5rdningsscheman (hardening schemes) som fungerar fr\u00e5n start i fem popul\u00e4ra Linux-distributioner. F\u00f6r varje har vi tagit standard k\u00e4rnkonfigurationen, laddat ner alla paket och analyserat skyddsscheman i de inb\u00e4ddade bin\u00e4ra filerna. Distributioner som behandlas \u00e4r OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 och 7 samt Ubuntu 14.04, 12.04 och 18.04 LTS. <\/p>\n<p>Resultaten bekr\u00e4ftar att \u00e4ven grundl\u00e4ggande scheman, s\u00e5som stack Canary och positionoberoende kod, fortfarande inte anv\u00e4nds av alla. Situationen \u00e4r \u00e4nnu v\u00e4rre f\u00f6r kompilatorer n\u00e4r det kommer till skydd mot s\u00e5rbarheter som stack clash, som kom i fokus i januari efter publiceringen <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/exploiting-systemd-journald-part-1\/\">av information om s\u00e5rbarheter i systemd<\/a><\/noindex>. Men allt \u00e4r inte hoppl\u00f6st. En betydande del av bin\u00e4ra filer implementerar grundl\u00e4ggande skydds\u00e5tg\u00e4rder, och antalet \u00f6kar fr\u00e5n version till version. <\/p>\n<p>Kontrollen visade att flest skydds\u00e5tg\u00e4rder har implementerats i Ubuntu 18.04 p\u00e5 OS- och applikationsniv\u00e5, f\u00f6ljt av Debian 9. \u00c5 andra sidan \u00e4r grundl\u00e4ggande skyddsscheman ocks\u00e5 implementerade i OpenSUSE 12.4, CentOS 7 och RHEL 7, medan skydd mot stack clash till\u00e4mpas \u00e4nnu mer utbrett med en mycket t\u00e4tare upps\u00e4ttning standardpaket.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Introduktion<\/h1>\n<p>\nDet \u00e4r sv\u00e5rt att s\u00e4kerst\u00e4lla h\u00f6g kvalitet p\u00e5 programvara. Trots det stora antalet avancerade verktyg f\u00f6r statisk kodanalys och dynamisk analys under k\u00f6rning, samt betydande framsteg inom kompilatorer och programmeringsspr\u00e5k, lider modern mjukvara fortfarande av s\u00e5rbarheter som st\u00e4ndigt utnyttjas av angripare. Situationen \u00e4r \u00e4nnu sv\u00e5rare i ekosystem som inkluderar gammal kod. I s\u00e5dana fall st\u00e5r vi inte bara inf\u00f6r det eviga problemet med att hitta potentiellt exploaterbara fel, utan vi \u00e4r ocks\u00e5 begr\u00e4nsade av strikta krav p\u00e5 bak\u00e5tkompatibilitet som ofta tvingar oss att beh\u00e5lla begr\u00e4nsad, och \u00e4nnu v\u00e4rre, s\u00e5rbar eller buggig kod.<\/p>\n<p>H\u00e4r kommer skyddsmetoder eller h\u00e5rdning (hardening) in i bilden. Vissa typer av fel kan vi inte f\u00f6rhindra, men vi kan g\u00f6ra livet sv\u00e5rare f\u00f6r angriparen och delvis l\u00f6sa problemet genom att f\u00f6rhindra eller hindra. <i>utnyttjande<\/i> dessa fel. Detta skydd anv\u00e4nds i alla moderna operativsystem, men metoderna skiljer sig mycket \u00e5t n\u00e4r det g\u00e4ller komplexitet, effektivitet och prestanda: fr\u00e5n stackcanaries och <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Address_space_layout_randomization\">ASLR<\/a><\/noindex> till fullv\u00e4rdigt skydd <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Control-flow_integrity\">CFI<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Return-oriented_programming\">ROP<\/a><\/noindex>. I denna artikel kommer vi att titta p\u00e5 vilka skydds\u00e5tg\u00e4rder som anv\u00e4nds i de mest popul\u00e4ra Linux-distributionerna i standardkonfigurationen, samt unders\u00f6ka egenskaperna hos de bin\u00e4ra filer som distribueras via pakethanteringssystemen f\u00f6r varje distribution.<\/p>\n<h3>CVE och s\u00e4kerhet<\/h3>\n<p>\nVi har alla sett artiklar med titlar som \"De mest s\u00e5rbara programvarorna under \u00e5ret\" eller \"De mest s\u00e5rbara operativsystemen\". Vanligtvis presenteras statistik \u00f6ver det totala antalet poster f\u00f6r s\u00e5rbarheter av typen <noindex><a rel=\"nofollow\" href=\"https:\/\/cve.mitre.org\/\">CVE (Common Vulnerability and Exposures)<\/a><\/noindex>, erh\u00e5llna fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/\">Nationella s\u00e5rbarhetsdatabasen (NVD)<\/a><\/noindex> fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nist.gov\/\">NIST<\/a><\/noindex> och andra k\u00e4llor. Dessa program eller operativsystem rangordnas senare efter antalet CVE. Tyv\u00e4rr, \u00e4ven om CVE \u00e4r mycket anv\u00e4ndbara f\u00f6r att sp\u00e5ra problem och informera leverant\u00f6rer och anv\u00e4ndare, s\u00e4ger de lite om den verkliga s\u00e4kerheten hos programvaran.<\/p>\n<p>Som ett exempel, l\u00e5t oss betrakta det totala antalet CVE de senaste fyra \u00e5ren f\u00f6r Linux-k\u00e4rnan och fem av de mest popul\u00e4ra serverdistributionerna, n\u00e4mligen Ubuntu, Debian, Red Hat Enterprise Linux och OpenSUSE.<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/16d74634f010e340aedbce441513e3f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 1<\/i><\/p>\n<p>Vad s\u00e4ger denna graf oss? Betyder ett h\u00f6gre antal CVE att en distribution \u00e4r mer s\u00e5rbar \u00e4n en annan? Svaret \u00e4r nej. Till exempel kommer du i denna artikel att se att Debian har mer strikta skyddsmekanismer j\u00e4mf\u00f6rt med OpenSUSE eller RedHat Linux, och \u00e4nd\u00e5 har Debian fler CVE. Men det betyder inte n\u00f6dv\u00e4ndigtvis en f\u00f6rsvagad s\u00e4kerhet: att ha CVE betyder inte om en s\u00e5rbarhet \u00e4r <i>utnyttjad<\/i>. Allvarlighetsgrader ger en uppfattning om hur <i>sannolikt<\/i> det \u00e4r att utnyttja en s\u00e5rbarhet, men i slut\u00e4ndan beror utnyttjande i stor utstr\u00e4ckning p\u00e5 det skydd som finns i de drabbade systemen samt p\u00e5 resurser och m\u00f6jligheter f\u00f6r angriparna. Dessutom s\u00e4ger avsaknaden av CVE-rapporter ingenting om andra <i>oregistrerande eller ok\u00e4nda<\/i> S\u00e5rbarheter. Skillnaden i CVE kan f\u00f6rklaras av inte bara mjukvarukvaliteten utan ocks\u00e5 av andra faktorer, inklusive resurser som avsatts f\u00f6r testning eller storleken p\u00e5 anv\u00e4ndarbasen. I v\u00e5rt exempel kan det st\u00f6rre antalet CVE i Debian helt enkelt indikera att Debian tillhandah\u00e5ller fler programvarupaket. <\/p>\n<p>Sj\u00e4lvklart ger CVE-systemet anv\u00e4ndbar information som g\u00f6r det m\u00f6jligt att skapa adekvata skydd. Ju b\u00e4ttre vi f\u00f6rst\u00e5r orsakerna till programvarufel, desto enklare blir det att identifiera potentiella utnyttjanden och utveckla motsvarande mekanismer. <i>f\u00f6r uppt\u00e4ckte och respons<\/i>. P\u00e5 figur 2 visas kategorier av s\u00e5rbarheter f\u00f6r alla distributioner under de senaste fyra \u00e5ren (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.cvedetails.com\/top-50-products.php\">ClickHouse-Ninja\/Proton<\/a><\/noindex>). Det framg\u00e5r tydligt att de flesta CVE faller inom f\u00f6ljande kategorier: DoS (Denial of Service), kodexekvering, buffert\u00f6verskridning, minneskorruption, l\u00e4ckage (utexfiltrering) av information och privilegief\u00f6rh\u00f6jning. \u00c4ven om m\u00e5nga CVE redovisas flera g\u00e5nger i olika kategorier kvarst\u00e5r generellt samma problem \u00e5r efter \u00e5r. I n\u00e4sta del av artikeln kommer vi att utv\u00e4rdera anv\u00e4ndningen av olika skyddsscheman f\u00f6r att f\u00f6rhindra exploatering av de angivna s\u00e5rbarheterna.<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/45948bc64673540cfb3e1774c3247634.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figur 2<\/i><\/p>\n<h3>Uppgifter<\/h3>\n<p>\nI den h\u00e4r artikeln avser vi att svara p\u00e5 f\u00f6ljande fr\u00e5gor:<\/p>\n<ul>\n<li>Hur s\u00e4ker \u00e4r de olika Linux-distributionerna? Vilka skyddsmekanismer finns i k\u00e4rnan och i program som k\u00f6rs av anv\u00e4ndaren?\n<\/li>\n<li>Hur har acceptansen av skyddsmekanismer f\u00f6r\u00e4ndrats \u00f6ver tid f\u00f6r olika distributioner?\n<\/li>\n<li>Vilka \u00e4r de genomsnittliga beroendena f\u00f6r paket och bibliotek f\u00f6r varje distribution?\n<\/li>\n<li>Vilka skydd implementeras f\u00f6r varje bin\u00e4rfil?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Val av distributioner<\/h3>\n<p>\nDet visar sig vara sv\u00e5rt att hitta exakt statistik f\u00f6r installationer av distributioner, eftersom antal nedladdningar i de flesta fall inte anger antalet verkliga installationer. \u00c4nd\u00e5 utg\u00f6r Unix-alternativ majoriteten av serversystem (69,2 % p\u00e5 webbservrar enligt W3techs och andra k\u00e4llor), och deras andel v\u00e4xer konstant. D\u00e4rf\u00f6r fokuserade vi i v\u00e5r forskning p\u00e5 distributioner som \u00e4r tillg\u00e4ngliga direkt fr\u00e5n plattformen. <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/overview\/operating_system\/all\">statistik<\/a><\/noindex> I synnerhet valde vi f\u00f6ljande operativsystem: <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/\">Google Cloud<\/a><\/noindex>Distribution\/version<\/p>\n<p>Bygg<br \/>\nK\u00e4rna<br \/>\nOpenSUSE 12.4<\/p>\n<p>4.12.14-95.3-default<br \/>\nDebian 9 (stretch)<br \/>\n#1 SMP Wed Dec 5 06:00:48 UTC 2018 (63a8d29)<\/p>\n<p>4.9.0-8-amd64<br \/>\nCentOS 6.10<br \/>\n#1 SMP Debian 4.9.130-2 (2018-10-27)<\/p>\n<p>2.6.32-754.10.1.el6.x86_64<br \/>\n3.10.0-957.5.1.el7.x86_64<br \/>\n#1 SMP Tue Jan 15 17:07:28 UTC 2019<\/p>\n<p>CentOS 7<br \/>\nRed Hat Enterprise Linux Server 6.10 (Santiago)<br \/>\n#1 SMP Fri Feb 1 14:54:57 UTC 2019<\/p>\n<p>2.6.32-754.9.1.el6.x86_64<br \/>\nRed Hat Enterprise Linux Server 7.6 (Maipo)<br \/>\n#1 SMP Wed Nov 21 15:08:21 EST 2018<\/p>\n<p>3.10.0-957.1.3.el7.x86_64<br \/>\n3.10.0-957.1.3.el7.x86_64<br \/>\n#1 SMP Thu Nov 15 17:36:42 UTC 2018<\/p>\n<p>Ubuntu 14.04 (Trusty Tahr)<br \/>\n4.4.0\u2013140-generic<br \/>\n <br \/>\n#166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 20\u2026<\/p>\n<p>Ubuntu 16.04 (Xenial Xerus)<br \/>\n4.15.0\u20131026-gcp<br \/>\n#27~16.04.1-Ubuntu SMP Fri Dec 7 09:59:47 UTC 2018<\/p>\n<p>Ubuntu 18.04 (Bionic Beaver)<br \/>\n4.15.0\u20131026-gcp<br \/>\n#27-Ubuntu SMP Thu Dec 6 18:27:01 UTC 2018<\/p>\n<p><i>Tabell 1<\/i> <\/p>\n<h1>Analys<\/h1>\n<p>\nVi kommer att granska standardkonfigurationen av k\u00e4rnan samt egenskaperna hos paketen som finns tillg\u00e4ngliga genom paketf\u00f6rvaltaren f\u00f6r varje distribution fr\u00e5n b\u00f6rjan. D\u00e4rmed beaktar vi endast paket fr\u00e5n standardservrarna f\u00f6r varje distribution, och ignorerar paket fr\u00e5n instabila repon (t.ex. 'testing' servrar i Debian) och tredjepartspaket (t.ex. Nvidia-paket fr\u00e5n standardservrar). Dessutom tar vi inte h\u00e4nsyn till anv\u00e4ndarkompilerade k\u00e4rnor eller konfigurationer med \u00f6kad s\u00e4kerhet.<\/p>\n<h3>Analys av k\u00e4rnkonfiguration<\/h3>\n<p>\nVi har till\u00e4mpat en analyskript baserat p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/a13xp0p0v\/kconfig-hardened-check\">den fria kconfig-kontrollen<\/a><\/noindex>. Vi granskar skyddskonfigurationerna som finns fr\u00e5n b\u00f6rjan i de n\u00e4mnda distributionerna och j\u00e4mf\u00f6r dem med listan fr\u00e5n <noindex><a rel=\"nofollow\" href=\"http:\/\/kernsec.org\/wiki\/index.php\/Kernel_Self_Protection_Project\/Recommended_Settings\">Kernel Self Protection Project<\/a><\/noindex> (KSPP). F\u00f6r varje konfigurationsparameter beskriver Tabell 2 \u00f6nskad inst\u00e4llning: ett kryss finns f\u00f6r distributioner som uppfyller KSSP:s rekommendationer (f\u00f6rklaringar till termerna se. <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/kernel-configuration-glossary\/\">h\u00e4r<\/a><\/noindex>; i framtida artiklar kommer vi att ber\u00e4tta hur m\u00e5nga av dessa skyddsmetoder uppstod och hur man kan hacka systemet i deras fr\u00e5nvaro).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dx\/oh\/o0\/dxoho0z-lifjcybajszqb-aiirq.png\"><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/b1a42826f4afc78a2b25d158100b2ba4.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/2177579e65e4fe6bb320903756a04b9b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00d6verlag har nya k\u00e4rnor striktare inst\u00e4llningar fr\u00e5n b\u00f6rjan. Till exempel har CentOS 6.10 och RHEL 6.10 med k\u00e4rnan 2.6.32 de flesta kritiska funktioner som implementerats i nya k\u00e4rnor, s\u00e5som <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Supervisor_Mode_Access_Prevention\">SMAP<\/a><\/noindex>, strikta RWX-beh\u00f6righeter, slumpm\u00e4ssig adressering eller skydd copy2usr. Det b\u00f6r noteras att m\u00e5nga av konfigurationsalternativen i tabellen saknas i \u00e4ldre versioner av k\u00e4rnan och inte \u00e4r till\u00e4mpliga i praktiken \u2013 i tabellen anges detta fortfarande som en brist p\u00e5 adekvat skydd. P\u00e5 liknande s\u00e4tt, om en konfigurationsparameter saknas i denna version, och f\u00f6r s\u00e4kerheten m\u00e5ste denna parameter inaktiveras, anses detta vara en rimlig konfiguration. <\/p>\n<p>Ytterligare en punkt vid tolkning av resultaten: vissa k\u00e4rnkonfigurationer som \u00f6kar attackytan kan samtidigt anv\u00e4ndas f\u00f6r s\u00e4kerhet. S\u00e5dana exempel inkluderar uprobes och kprobes, k\u00e4rnmoduler samt BPF\/eBPF. V\u00e5r rekommendation \u00e4r att anv\u00e4nda ovan n\u00e4mnda mekanismer f\u00f6r att s\u00e4kerst\u00e4lla verkligt skydd, eftersom de \u00e4r sv\u00e5ra att anv\u00e4nda och utnyttjandet f\u00f6ruts\u00e4tter att skadliga akt\u00f6rer redan har f\u00e5tt f\u00e4ste i systemet. Men om dessa alternativ \u00e4r aktiverade b\u00f6r systemadministrat\u00f6ren aktivt \u00f6vervaka missbruk.<\/p>\n<p>N\u00e4r vi unders\u00f6ker tabell 2 n\u00e4rmare ser vi att moderna k\u00e4rnor erbjuder flera alternativ f\u00f6r att skydda sig mot utnyttjande av s\u00e5rbarheter som informationsl\u00e4ckage och stack-\/heap\u00f6versv\u00e4mning. Men vi noterar att \u00e4ven de senaste popul\u00e4ra distributionerna \u00e4nnu inte har implementerat mer avancerat skydd (till exempel med patchar <noindex><a rel=\"nofollow\" href=\"https:\/\/grsecurity.net\/\">grsecurity<\/a><\/noindex>) eller modern skydd mot \u00e5teranv\u00e4ndningsattacker (till exempel, <noindex><a rel=\"nofollow\" href=\"http:\/\/www.cs.columbia.edu\/~theofilos\/files\/slides\/krx.pdf\">kombinera randomisering med R^X-liknande scheman f\u00f6r kod<\/a><\/noindex>). Vad som \u00e4r \u00e4nnu v\u00e4rre \u00e4r att \u00e4ven dessa mer avancerade skydd inte skyddar mot hela spektrumet av attacker. D\u00e4rf\u00f6r \u00e4r det oerh\u00f6rt viktigt f\u00f6r systemadministrat\u00f6rer att komplettera rimliga konfigurationer med l\u00f6sningar som erbjuder uppt\u00e4ckning och f\u00f6rebyggande av exploateringar under k\u00f6rning.<\/p>\n<h3>Applikationsanalys<\/h3>\n<p>\nDet \u00e4r inte f\u00f6rv\u00e5nande att olika distributioner har olika paketegenskaper, kompileringsalternativ, bibliotekberoenden och s\u00e5 vidare. Skillnader finns \u00e4ven f\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/1b\/Linux_Distribution_Timeline.svg\">relaterade<\/a><\/noindex> distributioner och paket med f\u00e5 beroenden (till exempel coreutils i Ubuntu eller Debian). F\u00f6r att utv\u00e4rdera skillnaderna laddade vi ner alla tillg\u00e4ngliga paket, extraherade deras inneh\u00e5ll och analyserade bin\u00e4rfiler och beroenden. F\u00f6r varje paket sp\u00e5rade vi andra paket som det \u00e4r beroende av, och f\u00f6r varje bin\u00e4rfil sp\u00e5rade vi dess beroenden. I detta avsnitt sammanfattar vi v\u00e5ra slutsatser.<\/p>\n<h4>Distributioner<\/h4>\n<p>\nTotalt har vi laddat ner 361\u00a0556 paket f\u00f6r alla distributioner, med endast paket h\u00e4mtade fr\u00e5n standardservrar. Vi ignorerade paket utan ELF-exekverbara filer, s\u00e5som k\u00e4llkoder, typsnitt, etc. Efter filtrering \u00e5terstod 129\u00a0569 paket som inneh\u00f6ll totalt 584\u00a0457 bin\u00e4ra filer. F\u00f6rdelningen av paket och filer per distribution visas i figur 3.<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/a24975fba7413ac8069c07412e5476cc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 3<\/i><\/p>\n<p>Det kan m\u00e4rkas att ju modernare distributionen \u00e4r, desto fler paket och bin\u00e4ra filer inneh\u00e5ller den, vilket \u00e4r logiskt. Paketen fr\u00e5n Ubuntu och Debian inneh\u00e5ller mycket fler bin\u00e4ra filer (b\u00e5de exekverbara och dynamiska moduler och bibliotek) \u00e4n CentOS, SUSE och RHEL, vilket potentiellt p\u00e5verkar angreppsyta f\u00f6r Ubuntu och Debian (det b\u00f6r noteras att siffrorna speglar alla bin\u00e4rer fr\u00e5n alla versioner av paketet, dvs vissa filer analyseras flera g\u00e5nger). Detta \u00e4r s\u00e4rskilt viktigt med tanke p\u00e5 beroenden mellan paket. En s\u00e5rbarhet i en bin\u00e4r av ett paket kan p\u00e5verka m\u00e5nga delar av ekosystemet, precis som en s\u00e5rbarhet i ett bibliotek kan p\u00e5verka alla bin\u00e4ra filer som importerar det. Som referens ser vi p\u00e5 f\u00f6rdelningen av antalet beroenden per paket i olika operativsystem:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ii\/e3\/e5\/iie3e5-ei26ezg5yvcyvtzqzl80.png\"><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/c6570e643d92103c87659e61f5d395a6.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>Fig. 4<\/i> <\/p>\n<p>I n\u00e4stan alla distributioner har 60% av paketen minst 10 beroenden. Dessutom har vissa paket betydligt fler beroenden (\u00f6ver 100). Detsamma g\u00e4ller f\u00f6r omv\u00e4nda beroenden av paket: som f\u00f6rv\u00e4ntat anv\u00e4nds flera paket av m\u00e5nga andra paket i distributionen, s\u00e5 s\u00e5rbarheter i dessa f\u00e5 utvalda har en h\u00f6g risk. Som exempel listas i n\u00e4sta tabell 20 paket med flest omv\u00e4nda beroenden i SLES, Centos 7, Debian 9 och Ubuntu 18.04 (i varje cell anges paketet och antalet omv\u00e4nda beroenden).<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/0aa544db8be1af7bffe21b6314537e18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tabell 3<\/i><\/p>\n<p>Intressant nog. \u00c4ven om alla analyserade operativsystem \u00e4r byggda f\u00f6r arkitekturen x86_64, och de flesta paket har arkitekturen definierad som x86_64 och x86, inneh\u00e5ller paket ofta bin\u00e4ra filer f\u00f6r andra arkitekturer, som visas i figur 5.<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/b40f607e0c2f169bd1df21bd9994de8c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 5<\/i><\/p>\n<p>I n\u00e4sta avsnitt dyker vi djupare in i egenskaperna hos de analyserade bin\u00e4rerna.<\/p>\n<h4>Statistik \u00f6ver skydd av bin\u00e4ra filer<\/h4>\n<p>\nSom ett absolut minimum b\u00f6r du studera en grundl\u00e4ggande upps\u00e4ttning skyddsalternativ f\u00f6r de bin\u00e4ra filer som finns. Flera Linux-distributioner levereras med skript som utf\u00f6r s\u00e5dana kontroller. Till exempel finns det ett s\u00e5dant skript i Debian\/Ubuntu. H\u00e4r \u00e4r ett exempel p\u00e5 dess arbete:<\/p>\n<pre><code class=\"bash\">$ hardening-check $(which docker)\n\/usr\/bin\/docker:\n Position Independent Executable: ja\n Stack protected: ja\n Fortify Source functions: nej, endast oskyddade funktioner hittades!\n Read-only relocations: ja\n Immediate binding: ja<\/code><\/pre>\n<p>\nSkriptet kontrollerar fem <noindex><a rel=\"nofollow\" href=\"http:\/\/manpages.ubuntu.com\/manpages\/trusty\/man1\/hardening-check.1.html\">skyddsfunktioner<\/a><\/noindex>:<\/p>\n<ul>\n<li>Position Independent Executable (PIE): anger om textavsnittet i programmet kan flyttas i minnet f\u00f6r att \u00e5stadkomma randomisering, om ASLR \u00e4r aktiverat i k\u00e4rnan.\n<\/li>\n<li>Stack Protected: \u00e4r stackkanarier aktiverade f\u00f6r att skydda mot stackkollisioner.\n<\/li>\n<li>Fortify Source: ers\u00e4tts os\u00e4kra funktioner (t.ex. strcpy) med deras s\u00e4krare motsvarigheter, medan de som kontrolleras i realtid anropas med sina oskyddade motsvarigheter (t.ex. memcpy ist\u00e4llet f\u00f6r __memcpy_chk).\n<\/li>\n<li>Read-only relocations (RELRO): \u00e4r posterna i omf\u00f6rdelningstabellen m\u00e4rkta som \"endast l\u00e4sning\" om de aktiveras innan programmet k\u00f6rs.\n<\/li>\n<li>Immediate binding (omedelbar bindning): till\u00e5ter l\u00e4nkaren att hantera alla f\u00f6rflyttningar f\u00f6re programmets start (detta \u00e4r ekvivalent med full RELRO).<\/li>\n<\/ul>\n<p>\n\u00c4r de ovan n\u00e4mnda mekanismerna tillr\u00e4ckliga? Tyv\u00e4rr, nej. Det finns k\u00e4nda s\u00e4tt att kringg\u00e5 alla ovan n\u00e4mnda skydd, men ju striktare skyddet \u00e4r, desto h\u00f6gre blir tr\u00f6skeln f\u00f6r angriparen. Till exempel, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.usenix.org\/system\/files\/conference\/usenixsecurity15\/sec15-paper-di-frederico.pdf\">metoder f\u00f6r att kringg\u00e5 RELRO<\/a><\/noindex> \u00e4r sv\u00e5rare att till\u00e4mpa om PIE och omedelbar bindning \u00e4r aktiverade. P\u00e5 liknande s\u00e4tt kr\u00e4ver full ASLR mer arbete f\u00f6r att skapa en fungerande exploateringskod. Men avancerade angripare \u00e4r redan beredda att bem\u00f6ta s\u00e5dana skydd: deras fr\u00e5nvaro p\u00e5skyndar i princip hackningen. D\u00e4rf\u00f6r \u00e4r det extremt viktigt att dessa \u00e5tg\u00e4rder betraktas som n\u00f6dv\u00e4ndiga. <i>minimum<\/i>. <\/p>\n<p>Vi ville studera hur m\u00e5nga bin\u00e4ra filer i de granskade distributionerna som \u00e4r skyddade av dessa samt tre ytterligare metoder:<\/p>\n<ul>\n<li>Icke-exekverbart bit (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Executable_space_protection\">NX<\/a><\/noindex>) f\u00f6rhindrar utf\u00f6rande i vilken region som helst som inte ska vara exekverbar, till exempel p\u00e5 stacken och s\u00e5 vidare.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Rpath\">RPATH\/RUNPATH<\/a><\/noindex> anger s\u00f6kv\u00e4gen som anv\u00e4nds av dynamiska laddaren f\u00f6r att hitta motsvarande bibliotek. Den f\u00f6rsta \u00e4r <i>obligatorisk<\/i> f\u00f6r vilket modernt system som helst: dess fr\u00e5nvaro till\u00e5ter angripare att skriva in nyttolasten i minnet p\u00e5 ett godtyckligt s\u00e4tt och k\u00f6ra den som den \u00e4r. F\u00f6r det andra hj\u00e4lper felaktiga konfigurationer av k\u00f6rv\u00e4gen till att inf\u00f6ra os\u00e4ker kod, vilket kan leda till en rad problem (till exempel, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nth-dimension.org.uk\/pub\/BTL.pdf\">privilegieh\u00f6jning<\/a><\/noindex>, samt <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.debian.org\/RpathIssue\">andra problem<\/a><\/noindex>).<\/li>\n<li>Skydd mot stackkollisioner skyddar mot attacker som tvingar stacken att \u00f6verlappa med andra minnesomr\u00e5den (som heapen). Givet de senaste exploateringarna som utnyttjar <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/blog\/exploiting-systemd-journald-part-1\/\">s\u00e4kerhetsluckorna med heapkollisioner i systemd<\/a><\/noindex>, ans\u00e5g vi det l\u00e4mpligt att inkludera denna mekanism i v\u00e5r datam\u00e4ngd.<\/li>\n<\/ul>\n<p>\nS\u00e5, utan vidare omsvep, g\u00e5r vi vidare till siffrorna. Tabellerna 4 och 5 inneh\u00e5ller en sammanst\u00e4llning av analysen av k\u00f6rbara filer och bibliotek f\u00f6r olika distributioner, respektive.<\/p>\n<ul>\n<li>Som kan noteras, \u00e4r NX-skydd implementerat \u00f6verallt, med n\u00e5gra f\u00e5 undantag. Speciellt kan man notera en n\u00e5got l\u00e4gre anv\u00e4ndning av detta i distributionerna Ubuntu och Debian j\u00e4mf\u00f6rt med CentOS, RHEL och OpenSUSE.\n<\/li>\n<li>Stackcanarier saknas p\u00e5 m\u00e5nga st\u00e4llen, s\u00e4rskilt i distributioner med gamla k\u00e4rnor. Viss framsteg har observerats i de senaste distributionerna av CentOS, RHEL, Debian och Ubuntu.\n<\/li>\n<li>F\u00f6rutom Debian och Ubuntu 18.04, \u00e4r st\u00f6det f\u00f6r PIE d\u00e5ligt i de flesta distributioner.\n<\/li>\n<li>Skydd mot stackkollisioner \u00e4r svagt implementerat i OpenSUSE, CentOS 7 och RHEL 7 och praktiskt taget fr\u00e5nvarande i de andra.\n<\/li>\n<li>Alla distributioner med moderna k\u00e4rnor har viss support f\u00f6r RELRO, d\u00e4r Ubuntu 18.04 ligger i topp, f\u00f6ljt av Debian.<\/li>\n<\/ul>\n<p>\nSom n\u00e4mnts tidigare representerar m\u00e4tv\u00e4rdena i denna tabell medelv\u00e4rdet f\u00f6r alla versioner av den bin\u00e4ra filen. Om man ser p\u00e5 bara de senaste versionerna av filerna, kommer siffrorna att bli annorlunda (till exempel se. <noindex><a rel=\"nofollow\" href=\"http:\/\/outflux.net\/debian\/hardening\/\">framstegen i Debian med inf\u00f6randet av PIE<\/a><\/noindex>). Dessutom, kontrollerar de flesta distributioner vanligtvis skyddet f\u00f6r endast n\u00e5gra funktioner i den bin\u00e4ra koden n\u00e4r man r\u00e4knar statistiken, medan v\u00e5r analys visar den sanna procentandelen av f\u00f6rst\u00e4rkta funktioner. S\u00e5 om 5 av 50 funktioner i bin\u00e4ren \u00e4r skyddade, visar vi det med betyget 0,1 vilket motsvarar 10% f\u00f6rst\u00e4rkta funktioner.<\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/82e881c5ba2a3911f3a0ffae1a3475f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tabell 4. Skyddskarakteristika f\u00f6r k\u00f6rbara filer, visade i figur 3 (implementeringen av motsvarande funktioner i procent av det totala antalet k\u00f6rbara filer)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/57c8e67be7a57341105262c6e956594c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tabell 5. Skyddskarakteristik f\u00f6r biblioteken som visas i figur 3 (implementering av relevanta funktioner i procent av det totala antalet bibliotek)<\/i><\/p>\n<p>Finns det framsteg? Definitivt: det \u00e4r tydligt fr\u00e5n statistiken f\u00f6r olika distributioner (till exempel, <noindex><a rel=\"nofollow\" href=\"http:\/\/outflux.net\/debian\/hardening\/\">Debian<\/a><\/noindex>), samt fr\u00e5n de ovanst\u00e5ende tabellerna. Som ett exempel visas i figur 6 implementeringen av skyddsmekanismer i tre p\u00e5 varandra f\u00f6ljande Ubuntu LTS-distributioner 5 (vi har utel\u00e4mnat statistiken f\u00f6r skydd mot stackkollaps). Vi noterar att fler och fler filer fr\u00e5n version till version st\u00f6der stackkanariefunktionen, och dessutom levereras allt fler bin\u00e4ra filer med full RELRO-skydd.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/d1\/ni\/or\/d1niordj1hmiklmg2-w5rsk6dla.png\"><img decoding=\"async\" alt=\"Miljontals bin\u00e4rer senare. Hur Linux bef\u00e4stes\" src=\"\/wp-content\/uploads\/2019\/03\/9130099db6d59106da8f0a0fc760410e.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>Figur 6<\/i><\/p>\n<p>Tyv\u00e4rr har en rad k\u00f6rbara filer i olika distributioner fortfarande inga av de ovan n\u00e4mnda skydden. Till exempel, om man tittar p\u00e5 Ubuntu 18.04, kan man se det bin\u00e4ra programmet ngetty (ers\u00e4ttning f\u00f6r getty), samt skal mksh och lksh, tolken picolisp, paketen nvidia-cuda-toolkit (ett popul\u00e4rt paket f\u00f6r GPU-accelererade applikationer, som maskininl\u00e4rningsramverk) och klibc-utils. P\u00e5 samma s\u00e4tt levereras det bin\u00e4ra programmet mandos-client (ett administrativt verktyg som m\u00f6jligg\u00f6r automatisk omstart av maskiner med krypterade filsystem), samt rsh-redone-client (\u00e5terimplementering av rsh och rlogin) utan NX-skydd, trots att de har SUID-r\u00e4ttigheter :(. Dessutom saknar flera suid-bin\u00e4rfiler grundl\u00e4ggande skydd, s\u00e5som stackkanariefunktion (till exempel det bin\u00e4ra programmet Xorg.wrap fr\u00e5n paketet Xorg).<\/p>\n<h1>Sammanfattning och avslutande anm\u00e4rkningar<\/h1>\n<p>\nI den h\u00e4r artikeln har vi lyft fram flera s\u00e4kerhetsegenskaper hos moderna Linux-distributioner. Analysen visade att den senaste versionen av Ubuntu LTS (18.04) i genomsnitt har det starkaste skyddet p\u00e5 OS- och applikationsniv\u00e5 bland distributioner med relativt nya k\u00e4rnor, s\u00e5som Ubuntu 14.04, 12.04 och Debian 9. De granskade distributionerna CentOS, RHEL och OpenSUSE har emellertid i v\u00e5r datam\u00e4ngd gynnsammare paketinstallationer som standard, och i de senaste versionerna (CentOS och RHEL) har de en h\u00f6gre procentandel av skydd mot stack-kollisioner j\u00e4mf\u00f6rt med Debian-baserade konkurrenter (Debian och Ubuntu). N\u00e4r vi j\u00e4mf\u00f6r versioner av CentOS och RedHat m\u00e4rker vi stora f\u00f6rb\u00e4ttringar i implementeringen av stack-canaries och RELRO mellan version 6 och 7, men i genomsnitt har CentOS fler funktioner implementerade \u00e4n RHEL. Generellt sett b\u00f6r alla distributioner \u00e4gna s\u00e4rskild uppm\u00e4rksamhet \u00e5t skyddet av PIE, som, med undantag f\u00f6r Debian 9 och Ubuntu 18.04, \u00e4r implementerat i mindre \u00e4n 10 % av de bin\u00e4ra filerna i v\u00e5r datam\u00e4ngd. <\/p>\n<p>Slutligen b\u00f6r det noteras: \u00e4ven om vi genomf\u00f6rt forskningen manuellt finns det m\u00e5nga s\u00e4kerhetsverktyg (t.ex. <noindex><a rel=\"nofollow\" href=\"https:\/\/cisofy.com\/lynis\/\">Lynis<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nongnu.org\/tiger\/\">Tiger<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hubblestack\/hubble\">Hubble<\/a><\/noindex>), som utf\u00f6r analyser och hj\u00e4lper till att undvika os\u00e4kra konfigurationer. Tyv\u00e4rr garanterar \u00e4ven starka skydd i rimliga konfigurationer inte fr\u00e5nvaro av exploateringar. Det \u00e4r d\u00e4rf\u00f6r vi \u00e4r starkt \u00f6vertygade om att det \u00e4r livsviktigt att tillhandah\u00e5lla <noindex><a rel=\"nofollow\" href=\"https:\/\/capsule8.com\/\">trov\u00e4rdig \u00f6vervakning och skydd mot attacker i realtid<\/a><\/noindex>, med fokus p\u00e5 exploateringsm\u00f6nster och att f\u00f6rebygga dem.<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444418\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0437\u0430\u0449\u0438\u0442\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b (hardening schemes), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043f\u044f\u0442\u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 Linux. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u044b \u0432\u0437\u044f\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044f\u0434\u0440\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u0445\u0435\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 \u0438 7, \u0430 \u0442\u0430\u043a\u0436\u0435 Ubuntu 14.04, 12.04 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-29880","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432 \u0441\u043f\u0443\u0441\u0442\u044f. \u041a\u0430\u043a \u0443\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0441\u044f Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:32:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:32:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Miljoner bin\u00e4rer senare. Hur Linux har st\u00e4rkts | ProHoster","description":"TL;DR.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u043e\u0432 \u0441\u043f\u0443\u0441\u0442\u044f. \u041a\u0430\u043a \u0443\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0441\u044f Linux | ProHoster","og:description":"TL;DR.","og:url":"https:\/\/prohoster.info\/sv\/blog\/milliony-binarnikov-spustya-kak-ukreplyalsya-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:32:27+00:00","article:modified_time":"2019-10-31T18:32:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"29880","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 22:50:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:46:28","updated":"2026-01-20 22:50:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/29880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=29880"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/29880\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=29880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=29880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=29880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}