{"id":84184,"date":"2020-06-05T19:42:31","date_gmt":"2020-06-05T17:42:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god"},"modified":"2020-06-05T19:42:31","modified_gmt":"2020-06-05T17:42:31","slug":"smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god","title":{"rendered":"Veebisaidi turvalisuse surmapatud: mida oleme \u00f5ppinud haavatavuste skaneerimise statistika aastast","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Umbes aasta tagasi k\u00e4ivitasime DataLine'is <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dtln.ru\/uslugi\/security\/securityscan\">teenus<\/a><\/noindex> IT-rakendustes haavatavuste otsimise ja anal\u00fc\u00fcsi jaoks. Teenuse aluseks on pilvelahendus Qualys, mille t\u00f6\u00f6dest oleme juba r\u00e4\u00e4kinud <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/457768\/\">. Aasta jooksul lahendusega viisime l\u00e4bi 291 skaneerimist erinevatele veebilehtedele ja kogusime statistikat levinud haavatavuste kohta veebirakendustes.<\/a><\/noindex>Allj\u00e4rgnevas artiklis n\u00e4itan, millised turvaugud veebilehtede taga peituvad erinevate kriitilisuse tasemete taga. Vaatame, milliseid haavatavusi skanner leidis eriti sageli, miks need v\u00f5ivad tekkida ja kuidas end kaitsta.\u00a0<\/p>\n<p>K\u00f5iki veebirakenduste haavatavusi jagab Qualys kolmele kriitilisuse tasemele: madal, keskmine ja k\u00f5rge. Kui vaadata jaotust 't\u00f5siduse' j\u00e4rgi, n\u00e4ib, et k\u00f5ik ei ole sugugi nii hull. K\u00f5rge kriitilisuse tasemega haavatavusi on v\u00e4he, enamik on mitte-kriitilised:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Veebisaidi turvalisuse surmapatud: mida oleme \u00f5ppinud haavatavuste skaneerimise statistika aastast\" src=\"\/wp-content\/uploads\/2020\/06\/3205347a3bcb19c9fd66bbb890f5096d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKuid mitte-kriitilised ei t\u00e4henda kahjutud. Need v\u00f5ivad samuti tekitada t\u00f5siseid kahjustusi.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Veebisaidi turvalisuse surmapatud: mida oleme \u00f5ppinud haavatavuste skaneerimise statistika aastast\" src=\"\/wp-content\/uploads\/2020\/06\/59ec50a522270db288fb01fb8a41c7c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTop 'mitte-kriitilised' haavatavused\u00a0<\/p>\n<h2>Sega sisu seotud haavatavused.<\/h2>\n<p><\/p>\n<ol>\n<li><b>Veebilehtede turvastandardi kohaselt peaks andmete vahetamine kliendi ja serveri vahel toimuma HTTPS-protokolli kaudu, mis toetab kr\u00fcpteerimist ja kaitseb teavet pealtkuulamise eest.<\/b>\n<p>M\u00f5ned veebilehed kasutavad\u00a0<\/p>\n<p>segatud sisu <i>: edastavad osa andmeid kaitsmata HTTP-protokolli kaudu. Tihti edastatakse nii<\/i>passiivne sisu <i>- teave, mis m\u00f5jutab ainult veebilehe visualiseerimist: pildid, css-stiilid. Kuid m\u00f5nikord edastatakse nii ka<\/i> aktiivne sisu <i>: skriptid, mis juhivad veebilehe k\u00e4itumist. Sellisel juhul saab spetsiaalse tarkvara abil anal\u00fc\u00fcsida serverilt tulevat teavet aktiivse sisuga, muuta oma vastuseid reaalajas ja sunnivad masinat t\u00f6\u00f6tama nii, nagu selle loojad ei kavandanud.<\/i>Uute versioonide brauserid hoiatavad kasutajaid, et segatud sisuga veebilehed ei ole turvalised ja blokeerivad sisu. Ka veebilehtede arendajad saavad brauserist konsoolis hoiatusi. N\u00e4iteks n\u00e4eb see v\u00e4lja\u00a0<\/p>\n<p>Millised on ohud <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Security\/MixedContent\">Firefox<\/a><\/noindex>:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Veebisaidi turvalisuse surmapatud: mida oleme \u00f5ppinud haavatavuste skaneerimise statistika aastast\" src=\"\/wp-content\/uploads\/2020\/06\/e075e43f63ee6a41d41949d63da27006.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>andmete maham\u00fc\u00fcmise eest <i>kalastamise eest <\/i>\u2013 konfidentsiaalse teabe vargus petuskeemide kaudu. N\u00e4iteks saab skripti abil kasutaja suunata ohtlikule saidile, mis varjub kasutajale tuttava all. M\u00f5nel juhul n\u00e4eb pahatahtlik sait isegi parem v\u00e4lja kui originaal, ja kasutaja v\u00f5ib ise t\u00e4ita vormi ning edastada konfidentsiaalsed andmed.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Isegi kui saidi administraator on paigaldanud ja konfigureerinud SSL\/TLS-sertifikaadi, v\u00f5ib haavatavus ilmneda inimfaktori t\u00f5ttu. N\u00e4iteks kui m\u00f5nel lehel on kasutatud absoluutseid linke http kaudu, mitte suhtelisi, ja lisaks ei ole seadistatud suunamisi http-lt https-ile.\u00a0<\/p>\n<p>Segatud sisu tuvastamine saidil on v\u00f5imalik brauseri abil: otsida lehe l\u00e4htekoodist v\u00f5i lugeda arendaja konsoolist teateid. Siiski peab arendaja pikalt ja vaevata koodis kaevama. Protsessi saab kiirendada automatiseeritud anal\u00fc\u00fcsivahendite abil, n\u00e4iteks: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jitbit.com\/sslcheck\/\">SSL Check<\/a><\/noindex>, tasuta tarkvara Lighthouse v\u00f5i tasuline programm Screaming Frog SEO Spider.<\/p>\n<p>Samuti v\u00f5ib haavatavus ilmneda legacy-koodi probleemide t\u00f5ttu \u2013 koodi, mis on j\u00e4\u00e4nud p\u00e4randina. N\u00e4iteks kui osa lehti genereeritakse vanade mallide j\u00e4rgi, mis ei arvesta saidi \u00fcleminekut https-ile.\u00a0\u00a0\u00a0\u00a0\n<\/li>\n<li><b>K\u00fcpsised ilma \u201eHTTPOnly\u201c ja \u201esecure\u201c liputa.<\/b>\n<p>Atribuut \u201eHTTPOnly\u201c kaitseb k\u00fcpsiseid skriptide t\u00f6\u00f6tlemise eest, mida pahatahtlikud isikud kasutavad kasutajaandmete vargusteks. Lipp \u201esecure\u201c ei luba k\u00fcpsiseid edastada avatud kujul. Andmevahetus on lubatud ainult siis, kui k\u00fcpsiste edastamiseks kasutatakse kaitstud protokolli HTTPS.\u00a0<\/p>\n<p>M\u00f5lemad atribuudid m\u00e4\u00e4ratakse k\u00fcpsiste omadustes:<\/p>\n<pre><code class=\"plaintext\">Set-Cookie: Secure; HttpOnly<\/code><\/pre>\n<p>\n<b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Kui saidi arendaja ei ole neid atribuute m\u00e4\u00e4ranud, v\u00f5ib pahatahtlik isik k\u00fcpsistest kasutaja teavet haarata ja seda kasutada. Kui k\u00fcpsiseid kasutatakse autentimiseks ja autoriseerimiseks, saab ta kasutaja seansi varastada ja teha toiminguid saidil tema nimel.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Reeglina m\u00e4\u00e4ratakse need atribuudid populaarsetes raamistikes automaatselt. Kuid siiski kontrollige veebiserveri konfiguratsiooni ja seadistage lipp: Set-Cookie HttpOnly; Secure. <\/p>\n<p>Samal ajal muudab atribuut \u201eHTTPOnly\u201c k\u00fcpsised n\u00e4htamatuks ka teie enda JavaScriptile.\u00a0\u00a0\n<\/li>\n<li><b>Path-Based Vulnerabilities (\u201erada p\u00f5hinevad\u201c haavatavused).<\/b>\n<p>Skanner teatab sellisest haavatavusest, kui leiab avalikult ligip\u00e4\u00e4setava faili v\u00f5i veebisaidi kausta, kus v\u00f5ib olla potentsiaalselt konfidentsiaalne teave. N\u00e4iteks tuvastab see eraldi s\u00fcsteemi konfiguratsioonifailid v\u00f5i juurdep\u00e4\u00e4su kogu failis\u00fcsteemile. Selline olukord v\u00f5ib tekkida, kui veebisaidil on vale ligip\u00e4\u00e4su\u00f5iguste seadistamine.<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Kui failis\u00fcsteem \"paistab v\u00e4lja\", v\u00f5ivad pahatahtlikud isikud p\u00e4\u00e4seda operatsioonis\u00fcsteemi liidesesse ja proovida leida kaustu, kus on hoitud paroole, kui need on avatud kujul (\u00e4rge tehke seda!). V\u00f5i on v\u00f5imalik varastada paroolide r\u00e4sim\u00e4rgid ja proovida parooli v\u00e4lja nuputada, samuti p\u00fc\u00fcda t\u00f5sta privileege s\u00fcsteemis ja edasiviia infrastruktuuri.\u00a0\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: \u00c4rge unustage ligip\u00e4\u00e4su\u00f5igusi ja seadistage platvorm, veebiserver ja veebirakendus nii, et ei saaks \"p\u00f5geneda\" veebikaustast.\n<\/li>\n<li><b>Konfidentsiaalsete andmete sisestamise vormid koos automaatse t\u00e4itmise funktsiooniga.<\/b>\n<p>Kui kasutaja t\u00e4idab sagedasti veebilehtedel vorme, salvestab tema brauser selle teabe automaatse t\u00e4itmise funktsiooni abil.\u00a0<\/p>\n<p>Veebilehtedel olevad vormid v\u00f5ivad sisaldada konfidentsiaalse teabe v\u00e4lju, n\u00e4iteks paroole v\u00f5i krediitkaardinumbrid. Selliste v\u00e4ljade puhul tuleks veebisaidil automaatse t\u00e4itmise funktsioon v\u00e4lja l\u00fclitada.\u00a0<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Kui kasutaja brauser salvestab konfidentsiaalset teavet, v\u00f5ivad pahatahtlikud isikud selle hiljem n\u00e4iteks kalap\u00fc\u00fcgi abil hankida. Tegelikult paneb veebiarendaja, kes seda n\u00fcanssi unustab, oma kasutajad ohtu.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Sel juhul seisame silmitsi klassikalise konfliktiga: mugavus vs turvalisus. Kui veebiarendaja m\u00f5tleb kasutaja mugavusele, v\u00f5ib ta teadlikult valida automaatse t\u00e4itmise. N\u00e4iteks kui on oluline j\u00e4rgida <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/WCAG21\/\">Veebisisu kergesti ligip\u00e4\u00e4setavuse juhised<\/a><\/noindex> \u2013 soovitused, kuidas tagada sisu ligip\u00e4\u00e4setavus liikuvate piirangutega kasutajatele.\u00a0<\/p>\n<p>Enamikus brauserites saab automaatse t\u00e4itmise v\u00e4lja l\u00fclitada atribuudiga autocompete=\"off\", n\u00e4iteks:<\/p>\n<pre><code class=\"plaintext\">\u00a0&lt;body&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;form action=&quot;\/et\/form\/submit\/&quot; method=&quot;get&quot; autocomplete=&quot;off&quot; data-trp-original-action=&quot;\/form\/submit&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;text&quot; placeholder=&quot;Eesnimi&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;text&quot; id=&quot;lname&quot; placeholder=&quot;Perekonnanimi&quot; autocomplete=&quot;on&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;number&quot; placeholder=&quot;Krediitkaardi number&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;submit&quot;&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;trp-form-language&quot; value=&quot;et&quot;\/&gt;&lt;\/form&gt;\n&nbsp;&nbsp;&lt;\/body&gt;<\/code><\/pre>\n<p>\nAga Chrome'is see ei t\u00f6\u00f6ta. Seda \u00fcmbers\u00f5itu tehakse JavaScriptiga, retsepti variandi leiate <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/a\/55045439\">siin<\/a><\/noindex>.\u00a0\n<\/li>\n<li><b>Veebisaidi koodis ei ole m\u00e4\u00e4ratud pealkirja X-Frame-Options.\u00a0<\/b>\n<p>See pealkiri m\u00f5jutab frame, iframe, embed v\u00f5i object silte. Selle abil saab t\u00e4ielikult keelata oma saidi integreerimise frami sisse. Selleks tuleb m\u00e4\u00e4rata v\u00e4\u00e4rtus X-Frame-Options: deny. V\u00f5i v\u00f5ib m\u00e4\u00e4rata X-Frame-Options: sameorigin, siis on iframe integreerimine lubatud ainult teie domeenis.<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Sellise pealkirja puudumist saab kasutada pahatahtlikes saitides <i>klikivarguste<\/i>. Sellise r\u00fcnnaku puhul loob kurjategija l\u00e4bipaistva frami nuppude kohal ja petab kasutajat. N\u00e4iteks: petised paigutavad frami saidile sotsiaalmeedia lehti. Kasutaja arvab, et kl\u00f5psab sellel saidil nuppudel. Tegelikult p\u00fc\u00fctakse klikk kinni ja saadetakse kasutaja p\u00e4ring sotsiaalmeediasse, kus on aktiivne sessioon. Nii saadavad kurjategijad r\u00e4mpsposti kasutaja nimel v\u00f5i suurendavad tellijaid ja meeldimisi.\u00a0<\/p>\n<p>Kui seda v\u00f5imalust ei keelata, v\u00f5ib kurjategija paigutada teie rakenduse nupu pahatahtlikule saidile. Ta v\u00f5ib olla huvitatud teie suunamisprogrammist v\u00f5i teie kasutajatest.\u00a0\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Haavatavus v\u00f5ib ilmneda, kui X-Frame-Options on konflikti v\u00e4\u00e4rtusega m\u00e4\u00e4ratud veebiserverisse v\u00f5i koormuse tasakaalustajasse. Sellisel juhul lihtsalt server ja koormuse tasakaalustaja kirjutavad pealkirja \u00fcle, kuna neil on k\u00f5rgem prioriteet v\u00f5rreldes tagasiside koodiga.\u00a0\u00a0<\/p>\n<p>X-Frame-Options v\u00e4\u00e4rtused deny ja sameorigin segavad Yandexi veebivaatleja t\u00f6\u00f6d. Iframe'i kasutamise lubamiseks veebivaatleja jaoks tuleb kirjutada seades eraldi reegel. N\u00e4iteks nginx-i jaoks saab seadistada selliselt:<\/p>\n<pre><code class=\"plaintext\">http{\n...\n\u00a0map $http_referer $frame_options {\n\u00a0\"~webvisor.com\" \"ALLOW-FROM http:\/\/webvisor.com\";\n\u00a0default \"SAMEORIGIN\";\n\u00a0}\n\u00a0add_header X-Frame-Options $frame_options;\n...\n}\n\n<\/code><\/pre>\n<p>\n<\/li>\n<li><b>PRSSI (Path-relative stylesheet import) haavatavused.\u00a0\u00a0<\/b>\n<p>See on veebisaidi stiilides haavatavus. See ilmneb, kui stiilifailide juurde p\u00e4\u00e4semiseks kasutatakse suhtelisi linke, nagu href=\"\/somefolder\/styles.css\/\". R\u00fcndaja kasutab seda \u00e4ra, kui ta leiab viisi suunata kasutaja pahatahtlikule lehele. Leht asetab suhtelise lingi oma URL-i ja j\u00e4ljendab stiilide juurde p\u00e4\u00e4semist. Tulemuseks on p\u00e4ring, mis n\u00e4eb v\u00e4lja nagu badsite.ru\/...\/somefolder\/styles.css\/, mis n\u00e4iliselt stiilina v\u00f5ib teostada pahatahtlikke toiminguid.\u00a0<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Petukate v\u00f5ib seda haavatavust kasutada, kui ta leiab veel \u00fche turvaaugu. Selle tulemuseks on v\u00f5imalik varastada kasutajaandmeid k\u00fcpsistest v\u00f5i token'itest.<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Seadke pealkiri X-Content-Type-Options: nosniff. Sellisel juhul kontrollib brauser sisu t\u00fc\u00fcpi stiilide jaoks. Kui t\u00fc\u00fcp erineb text\/css-st, blokeerib brauser p\u00e4ringu.\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Kriitilised haavatavused<\/h2>\n<p><\/p>\n<ol>\n<li><b>Parooliv\u00e4lja sisaldav leht edastatakse serverist kaitsmata kanali kaudu (HTML vorm, mis sisaldab parooli v\u00e4lju, edastatakse HTTP kaudu).<\/b>\n<p>Serveri vastus kaitsmata kanalil on haavatav r\u00fcnnakute, nagu 'Man in the middle', suhtes. R\u00fcndaja v\u00f5ib liikluse kinni p\u00fc\u00fcda ja s\u00fcstida end kliendi ja serveri vahele, kui leht liigub serverist kliendile.\u00a0<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Petukate v\u00f5ib lehte k\u00fcsida ja saata kasutajale vormi konfidentsiaalsete andmete jaoks, mis edastatakse r\u00fcndaja serverisse.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: M\u00f5ned saidid saadavad kasutajatele parooli asemel \u00fchekordse koodi e-posti\/telefoni teel. Sellisel juhul ei ole haavatavus nii kriitiline, kuid mehhanism raskendab kasutajate elu.\n<\/li>\n<li><b>Sisselogimisvormi edastamine kaitsmata kanali kaudu (Login Form Is Not Submitted Via HTTPS).<\/b>\n<p>Selle juhtumi korral saadetakse kasutajalt serverisse kaitsmata kanali kaudu vorm sisselogimise ja parooli jaoks.<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Erinevalt eelmisest juhtumist on see juba kriitiline haavatavus. Konfidentsiaalsete andmete p\u00fc\u00fcdmine on lihtsam, kuna selleks pole isegi vajalik koodi kirjutamine.\u00a0\n<\/li>\n<li><b>JavaScript'i teekide kasutamine, kus on teadaolevaid haavatavusi.<\/b>\n<p>Skaneerimise ajal on enimkasutatud teegiks saanud jQuery, millel on lai versioonide spekter. Igas versioonis on v\u00e4hemalt \u00fcks, kui mitte rohkem, teadaolevat haavatavust. M\u00f5ju v\u00f5ib olla v\u00e4ga erinev \u2013 see s\u00f5ltub haavatavuse olemusest.<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Teadaolevate haavatavuste jaoks on olemas eksploidid, n\u00e4iteks:<\/p>\n<p><img decoding=\"async\" alt=\"Veebisaidi turvalisuse surmapatud: mida oleme \u00f5ppinud haavatavuste skaneerimise statistika aastast\" src=\"\/wp-content\/uploads\/2020\/06\/4e9ebec0ae735aafd28f5e6b1a806406.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Mida peab veebiarendaja meeles pidama<\/b>: Tagasi tulge regulaarselt ts\u00fcklisse: teadaolevate haavatavuste otsimine \u2013 k\u00f5rvaldamine \u2013 kontrollimine. Kui kasutate tahtlikult vananenud teeke, n\u00e4iteks vanade brauserite toe v\u00f5i eelarve kokkuhoiu jaoks, otsige v\u00f5imalust k\u00f5rvaldada teadaolev haavatavus.\u00a0\n<\/li>\n<li><b>Kcross-site scripting (XSS).\u00a0<\/b><br \/>\nCross-Site Scripting (XSS) ehk ristveebi skriptid on r\u00fcnnakud veebirakendusele, mille tulemuseks on andmebaasi ilmumine pahatahtlikku koodi. Kui Qualys tuvastab sellise haavatavuse, v\u00f5ib potentsiaalne r\u00fcndaja sisestada v\u00f5i on juba sisestanud oma js-skripti saidi koodi pahatahtlike toimingute teostamiseks.<\/p>\n<p><b>Salvestatud XSS (Stored XSS)<\/b> on ohtlikumad, kuna skript paigutatakse serverisse ja k\u00e4ivitatakse iga kord, kui r\u00fcndatud lehte brauseris avatakse.<\/p>\n<p><b>Peegeldatud XSS (Reflected XSS)<\/b> on lihtsamini teostatav, kuna pahatahtlikku skripti saab sisestada HTTP-p\u00e4ringusse. Rakendus saab HTTP-p\u00e4ringu, ei kontrolli andmeid, pakib need kokku ja saadab kohe edasi. Kui r\u00fcndaja tabab liiklust ja lisab skripti kujul <\/p>\n<pre><code class=\"plaintext\">&lt;script&gt;\/*+\u0447\u0442\u043e+\u0442\u043e+\u043f\u043b\u043e\u0445\u043e\u0435+*\/&lt;\/script&gt; <\/code><\/pre>\n<p>\n, v\u00e4ljub pahatahtlik p\u00e4ring kliendi nimel.<\/p>\n<p>Silmapaistev n\u00e4ide XSS-ist: js-snifferid, mis imiteerivad lehti CVC, kaardi aegumist\u00e4htaja ja muu sarnase sisestamiseks.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: Content-Security-Policy p\u00e4ises kasutage atribuut script-src, et klientide brauserid laadiksid ja t\u00e4idaksid ainult koodi usaldusv\u00e4\u00e4rsest allikast. N\u00e4iteks script-src 'self' lubab ainult meie saidilt p\u00e4rit skripte.\u00a0<br \/>\nParimaks praktikaks peetakse Inline koodi: lubage ainult inline javascript, kasutades v\u00e4\u00e4rtust unsafe-inline. See v\u00e4\u00e4rtus lubab kasutada inline js\/css, kuid ei keela js-failide lisamist. Koos script-src 'self' -ga keelame v\u00e4liste skriptide t\u00e4itmise.<\/p>\n<p>Veenduge, et logite k\u00f5ik report-uri abil ja j\u00e4lgige saidi sissetungi katseid.\n<\/li>\n<li><b>SQL-injektsioonid.<\/b><br \/>\nHaavatavus viitab SQL koodi sisestamise v\u00f5imalusele, mis p\u00f6\u00f6rdub otse saidi andmebaasi. SQL-injektsioon on v\u00f5imalik, kui kasutaja andmeid ei filtreerita: neid ei kontrollita \u00f5iguse ja kohe kasutatakse p\u00e4ringus. N\u00e4iteks juhtub see, kui saidi vorm ei kontrolli sisendi vastavust andmet\u00fc\u00fcbile.\u00a0<\/p>\n<p><b>: Kurjategijad kasutavad kaitsmata protokolli, et pealt kuulata kasutaja teavet, asendada skripte ja saata saidile p\u00e4ringuid selle nimel. Isegi kui veebilehe k\u00fclastaja ei sisestanud andmeid, ei kaitse see teda<\/b>: Kui r\u00fcndaja sisestab sellesse vormi SQL-p\u00e4ringu, v\u00f5ib ta andmebaasi kokku kukutada v\u00f5i konfidentsiaalset teavet avaldada.\u00a0<\/p>\n<p><b>Mida peab veebiarendaja meeles pidama<\/b>: \u00c4rge usaldage seda, mis tuleb brauserist. Kaitseks peab olema nii kliendi kui ka serveri poolel.\u00a0<\/p>\n<p>Kliendi poolel kirjutage v\u00e4ljade kontrollimiseks JavaScript.\u00a0<\/p>\n<p>Populaarsed raamistike sisseehitatud funktsioonid aitavad samuti serveris kahtlasi m\u00e4rke ekraanida. Serveris on soovitatav kasutada ka parameetritega p\u00e4ringuid andmebaasidele.<\/p>\n<p>M\u00e4\u00e4rake, kus t\u00e4pselt toimub andmebaasiga interaktsioon veebirakenduses.\u00a0<\/p>\n<p>Interaktsioon toimub, kui saame mingit teavet: p\u00e4ring id (id vahetus), uue kasutaja loomine, uus kommentaar \u2013 uued kirjed andmebaasis. Siin v\u00f5ivad esineda sql-injekte. Isegi kui eemaldame kirje andmebaasist, on sql-injektsioon v\u00f5imalik.\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>General recommendations<\/h2>\n<p>\n<b>\u00c4rge leiutage ratast \u2013 kasutage t\u00f5estatud raamistikke.<\/b>. Enamasti on populaarsed raamistike versioonid turvalisemad. .NET jaoks on see ASP.NET MVC ja ASP.NET Core, Python jaoks Django v\u00f5i Flask, Ruby jaoks Ruby on Rails, PHP jaoks Symfony, Laravel, Yii, JavaScripti jaoks Node.JS-Express.js, Java jaoks Spring MVC.<\/p>\n<p><b>J\u00e4lgige tarnija uuendusi ja uuendage regulaarselt.<\/b>. Turvaauk avastatakse, seej\u00e4rel kirjutatakse selle jaoks eksploit, levitatakse avalikult ja k\u00f5ik kordub. Liituge stabiilsete versioonide uuendustega tarkvara tarnijalt.<\/p>\n<p><b>Kontrollige juurdep\u00e4\u00e4su\u00f5igusi.<\/b>. Serveri poolt vaadates suhelge oma koodiga nii, nagu oleks kogu see, esimesest kuni viimase t\u00e4heni, kirjutatud teie k\u00f5ige vihatum vaenlane, kes soovib teie saiti purustada ja teie andmete terviklikkust rikkuda. Eriti kuna m\u00f5nikord on see t\u00f5esti nii.<\/p>\n<p><b>Kasutage kloone, testplaasid ja seej\u00e4rel rakendage need tootmisse.<\/b>. See aitab, esiteks, v\u00e4ltida v\u00f5imalikke vigu ja probleeme tootmiskeskkonnas: tootmiskeskkond teenib raha, tootmiskeskkonna seiskamine on kriitiline. Probleemide lisamisel, parandamisel v\u00f5i sulgemisel on soovitatav t\u00f6\u00f6tada testkeskkonnas, seej\u00e4rel kontrollida funktsionaalsust ja leitud haavatavusi ning alles seej\u00e4rel planeerida t\u00f6\u00f6d tootmiskeskkonnas.\u00a0<\/p>\n<p><b>Kaitske veebirakendust <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dtln.ru\/uslugi\/security\/firewall\">Veebirakenduse tulem\u00fc\u00fcriga<\/a><\/noindex> ja integreerige selle juurde haavatavuste sk\u00e4nneri raportid.<\/b>. N\u00e4iteks DataLine'is kasutatakse teenuste sidumiseks Qualys ja FortiWeb.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/505274\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u0432 DataLine \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0418\u0422-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u2013 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Qualys, \u043f\u0440\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438. \u0417\u0430 \u0433\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u043b\u0438 291 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u043e\u0432 \u0438 \u043d\u0430\u043a\u043e\u043f\u0438\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043f\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c \u0432 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\u00a0 \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0438\u0436\u0435 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84185,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84184","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u0432 DataLine \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0418\u0422-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\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\/et\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0421\u043c\u0435\u0440\u0442\u043d\u044b\u0435 \u0433\u0440\u0435\u0445\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430: \u0447\u0442\u043e \u043c\u044b \u0443\u0437\u043d\u0430\u043b\u0438 \u0438\u0437 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0441\u043a\u0430\u043d\u0435\u0440\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0437\u0430 \u0433\u043e\u0434 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u0432 DataLine \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0418\u0422-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god\" \/>\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=\"2020-06-05T17:42:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-05T17:42:31+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\udd47P\u00f5hilised veebisaidi turvavead: mida me \u00f5ppisime haavatavuste sk\u00e4nneri statistika p\u00f5hjal aasta jooksul | ProHoster","description":"Umbes aasta tagasi k\u00e4ivitasime DataLine'is teenuse IT-rakenduste haavatavuste leidmiseks ja anal\u00fc\u00fcsiks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0421\u043c\u0435\u0440\u0442\u043d\u044b\u0435 \u0433\u0440\u0435\u0445\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430: \u0447\u0442\u043e \u043c\u044b \u0443\u0437\u043d\u0430\u043b\u0438 \u0438\u0437 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0441\u043a\u0430\u043d\u0435\u0440\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0437\u0430 \u0433\u043e\u0434 | ProHoster","og:description":"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u0432 DataLine \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0418\u0422-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/smertnye-grehi-bezopasnosti-sajta-chto-my-uznali-iz-statistiki-skanera-uyazvimostej-za-god","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":"2020-06-05T17:42:31+00:00","article:modified_time":"2020-06-05T17:42:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84184","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":"","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:03:50","updated":"2022-09-30 12:56:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/84184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=84184"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/84184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/84185"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=84184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=84184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=84184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}