- Karastamine vähendab rünnakupinda, rakendades selliseid põhimõtteid nagu minimaalne kokkupuude, minimaalsed privileegid ja sügavkaitse.
- Linuxis tugineb turvalisuse tagamine bash-skriptidele, et automatiseerida tulemüüri, kasutajaid, teenuseid, õigusi, värskendusi ja auditeerimist.
- PowerShelli ja automatiseerimis-, konfiguratsiooni- ning vastavustööriistad võimaldavad teil Windowsi keskkondades kõvastumist juhtida ja kontrollida.
- Tõhus karastamisprogramm määratleb lähtetasemed, automatiseerib nende juurutamise ja jälgib pidevalt kõrvalekaldeid.
Süsteemi turvalisuse karastamine pole enam valikuline: iga internetiga ühendatud server, olgu see siis traditsioonilises andmekeskuses või pilves , saab sihtmärgiks mõne minutiga. Turvalisuse karastamine ja skriptimine käivad käsikäes : ilma automatiseerimiseta on peaaegu võimatu säilitada kõigis süsteemides aja jooksul sama turvalisuse taset.
Kui me räägime "süsteemi kõvendavast skriptimisest", siis peame silmas skriptide (bash, PowerShell, automatiseerimistööriistad jne) kombineerimist heade kõvendamispraktikatega, et rünnakupinda minimeerida. Asi ei ole plaastrite valimatus rakendamises, vaid selge metoodika järgimises, standarditele (CIS, DISA STIG, ISO 27002 jne) tuginemises ja nende otsuste muutmises korduvateks skriptideks, mida saame rakendada, testida ja jälgida.
Mis on süsteemi kõvenemine ja miks see nii oluline on?
Küberturvalisuse maailmas viitavad terminid „karastamine”, „bastioneerimine” ja „tugevdamine” kõigile tegevustele, mille eesmärk on rünnakute vektorite minimeerimine operatsioonisüsteemides, rakendustes, võrkudes, andmebaasides või seadmetes. Tootjad tarnivad oma tooteid sageli „avatult”, et kõik töötaks kohe karbist võttes, kuid see tähendab ebavajalike teenuste töötamist, nõrku konfiguratsioone ja valikuid, mis seavad mugavuse turvalisuse ette.
Karastamise eesmärk on viia iga süsteem olekusse, kus lubatud on ainult rangelt vajalikud funktsioonid , koos sobivate juurdepääsukontrollide, piiratud teenuste, vajaduse korral krüpteerimise ja volitamata muudatuste tuvastamise jälgimisega. Iga komponent (server, andmebaas, IoT-seade, mobiilseade jne) vajab oma spetsiifilist lähenemisviisi ja poliitikaid, mis põhinevad selle rollil, keskkonnal (tootmiskeskkond, eeltootmine, labor), versioonil ja kriitilisusel.
Viimastel aastatel on karastumisest saanud ametlik nõue igasugustes regulatsioonides ja vastavusraamistikes . Standardid ja juhendid, näiteks CIS Benchmarks või DISA STIG, pakuvad konkreetsete süsteemide jaoks üksikasjalikke soovitusi. Organisatsioonid, mis soovivad järgida ISO 27001, ENS, PCI-DSS või muid sarnaseid skeeme, peavad dokumenteerima ja rakendama järjepidevaid karastumispoliitikaid, neid läbi vaatama ja näitama nende jätkuvat tõhusust aja jooksul.
Lisaks teooriale on heal karastamisel otsene mõju reaalsetele intsidentidele: see vähendab avatud uste arvu , raskendab ründajate külgmist liikumist, piirab privileegide eskaleerumist ja ennekõike raskendab ühekordse ebaõnnestumise muutumist tõsiseks rikkumiseks.
Süsteemide karastamise peamised põhimõtted
Iga tõsine turvalisuse tugevdamise projekt tugineb mõnele tuntud põhimõttele, mis seejärel tõlgitakse poliitikateks, skriptideks ja tehnilisteks kontrollideks. Neli kõige levinumat sammast on minimaalne kokkupuude, sügavkaitse, minimaalsed privileegid ja nullusalduspõhimõte.
Minimaalse kokkupuute põhimõte seisneb selles, et nähtavaks jäetakse ainult olulised komponendid, teenused ja pordid. Kõik funktsioonid, mida ei kasutata või mis pole olulised, tuleks keelata või vähemalt piirata hästi kontrollitud sisevõrkudega. Iga aktiivne teenus kujutab endast potentsiaalset sissetungivektorit, seega on esimene samm kaitse tugevdamisel tavaliselt inventuuri tegemine ja mittevajaliku sulgemine.
Sügavkaitse pakub välja kihilise turvastrateegia: võrgu tulemüürid, operatsioonisüsteemi juurdepääsu kontroll, krüptimine nii edastamisel kui ka passiivses olekus, terviklikkuse jälgimine, muudatuste auditeerimine jne. Idee seisneb selles, et isegi kui üks kiht rikki läheb või satub ohtu, on olemas teised kihid, mis aeglustavad või takistavad ründaja edusamme ja vähendavad mõju.
Väikseimate õiguste põhimõte dikteerib, et kasutajatel, protsessidel ja teenustel peaksid olema ainult need õigused, mis on nende funktsioonide täitmiseks hädavajalikud. See kehtib nii inimeste kontode kui ka teenusekontode, süsteemideemonite, veebirakenduste ja automatiseeritud skriptide kohta. Õiguste vähendamine muudab paljud eskaleerimistehnikad, mis tuginevad liigsetele õigustele või leebetele konfiguratsioonidele, ebaefektiivseks.
Lõpuks hülgab nullusalduspõhimõte idee, et miski on usaldusväärne lihtsalt seetõttu, et see asub „võrgu sees“ või „tulemüüri taga“. Iga kasutaja, seade ja teenus peab olema autentitud, autoriseeritud ja nende tegevus peab olema logitud, piirates juurdepääsu konteksti (päritolu, aeg, toimingu tüüp) alusel ja jälgides, kes mida igal ajahetkel teeb.
Praktiline kõvastumine Linuxi süsteemides bash-skriptide abil
Linux on kõikjal levinud serverites, konteinerites ja paljudel IoT platvormidel (vt parimaid Linuxi distributsioone serveritele ), seega on loogiline, et suur osa turvalisuse parandamise projektidest keskendub sellele keskkonnale. Turvalisuse parandamise automatiseerimine bash-skriptidega on tavaline praktika, kui selliste tööriistade nagu Ansible, Puppet või sarnaste kasutamine pole lubatud või kui soovitakse kiiret esimest turvalisuse kihti.
Tüüpilises stsenaariumis alustate äsja installitud serveriga (kas pilves või kohapeal) ja loote skriptide komplekti, mis konfigureerib kõike alates tulemüüri ja paroolipoliitikatest kuni teenuste keelamise ja turvapakettide installimiseni. Levinud kontroll-loend sisaldab selliseid ülesandeid nagu turvalise SSH kasutamine, kasutaja loomine sudo abil, lihtsa tulemüüri lubamine, fail2bani juurutamine, SELinuxi või AppArmori aktiveerimine, kerneli tugevdamine ja kõige ajakohasena hoidmine.
Klassikaliste Linuxi turvameetmete hulgas on üks esimesi süsteemi alglaadimisprotsessi turvamine . BIOS-i või UEFI sätetest on üldiselt soovitatav keelata käivitamine välistelt seadmetelt (USB-draivid, välised kõvakettad jne) ja blokeerida alglaadimisseadme muutmine ilma mandaatideta. Operatsioonisüsteemi poolel on peaaegu kohustuslikud meetmed alglaadimishalduri (nt GRUB) kaitsmine parooliga, turvalise alglaadimise lubamine ja otse sisselogimise takistamine root-kasutajana.
Teine oluline element on kasutajate ja rühmade haldamine . Oluline on määratleda failidele ja kataloogidele, eriti süsteemifailidele, kerneli konfiguratsioonidele ja tundlikele binaarfailidele ühtsed õigused. Neil on tavaliselt teistele kasutajatele väga piiratud õigused, mis lubavad ainult süsteemi toimimiseks hädavajalikku. Kasutajate isiklikele failidele peaks samuti olema kolmandate osapoolte poolt juurdepääs piiratud, kohandades vaikimisi umaski failides nagu "/etc/bash.bashrc" või "/etc/profile", et vältida uute failide loomist liiga laiade õigustega.
Selles kontekstis on kohustuslike juurdepääsukontrolli poliitikate loomiseks, mis ulatuvad kaugemale traditsioonilistest Unixi õigustest, soovitatavad sellised tööriistad nagu SELinux või AppArmor . Need tehnoloogiad võimaldavad teil määratleda, milliseid toiminguid iga protsess saab teha isegi siis, kui see on ohustatud, vähendades oluliselt ärakasutamise või pahavara põhjustatud kahju tekkimise võimalust.
Juurdepääsu konfigureerimine on veel üks oluline element. Linuxis on tavaks perioodiliselt parooli vahetada nii üksikute kasutajate kui ka kogu süsteemi jaoks, kasutades selliseid käske nagu "passwd" või "change". Saate määratleda nõuded tugevatele paroolidele , parooli aegumisele ja vanade paroolide taaskasutamisele ning sundida kasutajaid neid järgmisel sisselogimisel muutma. Globaalsete toimingute jaoks kombineeritakse utiliite nagu "awk" ja "xargs", et käia läbi faili "/etc/shadow" ja rakendada aegumispoliitikaid kõigile kontodele.
Teenuste osas on põhireegel keelata kõik, millel pole tootmises selget eesmärki . Iga organisatsioon peaks analüüsima, millised deemonid ja teenused on serveri rolli jaoks hädavajalikud. Vanad ja ebaturvalised protokollid, nagu telnet, rsh, rlogin või teatud FTP-serverid, tuleks eemaldada või asendada krüptitud alternatiividega, nagu SSH või SFTP. Kui teenusel on teadaolevaid haavatavusi, millele pole saadaval parandust, on sageli kõige parem see keelata, kuni värskendus on saadaval.
Ka failisüsteemid mängivad kaitse tugevdamisel rolli. Linuxis kasutatakse tavaliselt Ext-variante (Ext2, Ext3, Ext4), kusjuures Ext4 on eelistatud valik tänu oma jõudluse ja turvalisuse täiustustele . Muude eeliste hulgas sisaldab see terviklikkuse kontrolle, paremat veakäsitlust ja võimalusi, mis aitavad minimeerida korruptsioonist või väärkasutamisest tulenevat kahju. Nõudlikes keskkondades kombineeritakse neid funktsioone eraldi partitsioonidega /home, /var, /tmp jne jaoks, rakendades piiravaid ühendusvalikuid.
Võrgu turvalisus, tulemüür ja värskendused Linuxis
Iga süsteemi turvalisuse tagamise kriitilise tähtsusega osa on kõik, mis on seotud võrguga. Hästi turvalisuse tagatud Linuxi keskkonnas pööratakse erilist tähelepanu SSH konfigureerimisele, VPN-i kasutamisele, sissetungimise tuvastamise süsteemide rakendamisele ja tulemüürikaitsele nii hosti kui ka võrgu tasandil.
SSH puhul on soovitatav eelistada avalike võtmete kasutamist paroolidele, keelata otsene juurkasutajana sisselogimine, piirata volitatud kasutajate arvu ja võimaluse korral muuta vaikeporti, et vähendada automaatse skaneerimise müra. Lisaks saab juurdepääsuloendeid, kahefaktorilist autentimist ja selliseid tööriistu nagu fail2ban kasutada jõhkra jõuga mustreid ilmutavate IP-aadresside blokeerimiseks.
VPN-id võimaldavad tundlikku liiklust kapseldada krüpteeritud tunnelitesse. Sellised tehnoloogiad nagu OpenVPN või L2TP/IPSec on Linuxi keskkondades levinud, samas kui PPTP-d, kuigi ühilduvat, peetakse üldiselt vähem turvaliseks. Nende ühenduste haldamist saab lihtsustada graafiliste tööriistadega nagu Network Manager, kuid aluspõhimõte on see, et kaughaldusteenused või kriitilised rakendused ei tohiks olla otse internetiga kokku puutunud, kui neid saab VPN-i abil kaitsta.
Sissetungimise tuvastamise ja ennetamise süsteemid (IDS/IPS) täiendavad tulemüüri. Sellised valikud nagu OSSEC, Tripwire ja AIDE võimaldavad jälgida failide terviklikkust, tuvastada kahtlaseid muudatusi ja hoiatada teid rünnakumustrite eest. Liikluse analüüsimiseks kasutatakse tööriistu nagu Wireshark . Need süsteemid on kombineeritud logimispoliitikatega, et pakkuda järjepidevat ülevaadet serveris toimuvast.
Tulemüüride osas on Linuxi klassikalisteks tööriistadeks olnud iptables ja viimasel ajal ka nftables või front-end'id nagu UFW. Filosoofia on alati sama: vaikimisi keelamismudel ("kõik suletud") ja ainult vajalike portide selgesõnaline avamine (näiteks 80/443 HTTP/HTTPS-i jaoks ja haldusport rangete tingimuste korral). Igal reeglil peab olema selge põhjus ja keerukamates keskkondades kombineeritakse hostitaseme tulemüüre perimeetriseadmete või pilve enda kontrollidega.
Teine oluline komponent on tarkvarauuendused . Kerneli ja pakettide ajakohasena hoidmine paketihaldurite (nt apt, yum või dnf) abil vähendab oluliselt teadaolevate haavatavuste ja laialdase ärakasutamise ohtu. See ei piirdu ainult operatsioonisüsteemiga: ka komponendid, nagu draiverid, välised moodulid ja vahetarkvara, vajavad regulaarseid parandusi. Mõnel juhul on soovitatav nõuda allkirjastatud draivereid ja alati kontrollida pakettide päritolu, et vältida juurkomplektide või pahatahtlike binaarfailide sissetoomist.
Logide ja auditeerimise konfigureerimine viib turvatsükli lõpule. Syslogi või journald'i kohandamine asjakohaste sündmuste säilitamiseks, logide saatmine keskserverisse ja auditeeritavate toimingute (lubade muudatused, ebaõnnestunud juurdepääsukatsed, kriitiliste failide muudatused jne) määramine on intsidentide tuvastamise ja toimunu rekonstrueerimise võtmeks. Teenused nagu "auditd" või spetsiifilised auditeerimispaketid erinevates distributsioonides aitavad salvestada tundlikke süsteemitoiminguid.
Professionaalse karastamisprojekti etapid
Süsteemide karastamine ei tähenda skripti käivitamist ja siis selle unustamist. Tõsised projektid läbivad mitu täpselt määratletud etappi: planeerimine, testimine, rakendamine, kontrollimine ja pidev jälgimine. Nende etappide vahelejätmine toob tavaliselt kaasa teenuse katkestusi või konfiguratsioone, mida keegi hiljem puutuda ei julge.
Esimene etapp on sekkumise planeerimine . See hõlmab ulatuse määratlemist (millised süsteemid, millised keskkonnad), omanike ja sidusrühmade kindlakstegemist, hooldusakende hindamist ning iga komponenditüübi (veebiserverid, rakendused, andmebaasid, manussüsteemid jne) baaskonfiguratsiooni kavandamist. Samuti määratakse kindlaks, milliseid standardeid või võrdlusaluseid järgitakse.
Järgmisena on vaja tuvastada kriitilised komponendid ja teenused . Oluline on mõista, millised süsteemi funktsioonid on ettevõtte jaoks hädavajalikud ja milliseid saab keelata või piirata. Ilma selle selguseta on lihtne tootmisteenuseid häirida, rakendades liiga agressiivseid turvameetmeid, mis küll näivad olevat "turvalised", kuid takistavad igapäevast tegevust.
Enne oluliste muudatuste tegemist on kohustuslik teha täielikud varukoopiad ja võimalusel konfiguratsiooni hetktõmmised. See võimaldab teil naasta eelmiste versioonide juurde, kui muudatused põhjustavad tõsiseid vigu või ühildumatust. Paljud organisatsioonid jätavad selle sammu kiirustades vahele ja avastavad seejärel, et halvasti rakendatud kaitse käsitsi taastamine on peaaegu võimatu.
Testimisetapp kontrollitud keskkondades on tavaliselt kõige keerulisem ja aeganõudvam. See hõlmab tootmisvõrgu replikeerimist laboris või tootmiseelses keskkonnas, kõvenduspoliitikate rakendamist ja mõju hindamist: mis rikki läheb, millised reeglid põhjustavad ühildumatust ja millised teenused lakkavad reageerimast. See iteratsioon aitab poliitikaid enne nende juurutamist reaalajas süsteemidesse täpsustada.
Kui poliitikad on täpsustatud, algab rakendamise ja vastavuse etapp . Siin tulevad mängu skriptid, konfiguratsioonitööriistad ja automatiseerimislahendused, et juurutada muudatusi kontrollitud ja järjepideval viisil. See etapp on käsitsi tehes altid inimlikele vigadele, seega on skriptimise ja konfiguratsioonihaldusplatvormide olulisus suur.
Pärast juurutamist on kohustuslik hinnata karastamise tulemusi funktsionaalse testimise (et kontrollida süsteemi jätkuvat ettenähtud viisil toimimist) ja turvatestimise (haavatavuse skaneerimine, portide kontrollimine, poliitika kontrollimine jne) abil. Kõik olulised kõrvalekalded dokumenteeritakse ja poliitikaid kohandatakse tootmises tehtud tähelepanekute põhjal.
Viimane osa on pidev jälgimine . Võrgud muutuvad, servereid lisatakse ja eemaldatakse, installitakse uusi rakendusi ja inimesed muudavad konfiguratsioone. Ilma süsteemita, mis jälgiks algtasemest kõrvalekaldumist (mida on muudetud, kes seda muutis ja millal), naaseb turvaseisund järk-järgult algsele olekule. Jälgimine peaks hõlmama ka hoiatusi kahtlaste või volitamata muudatuste kohta.
Karastamise tüübid: süsteem, rakendused, võrk ja muu
Keskkonna karastamise arutamisel on kasulik eristada mitut erinevat kihti või valdkonda , kuna igaüks neist nõuab spetsiifilisi kontrollimeetmeid. Kõige levinumad on operatsioonisüsteemi karastamine, rakenduste karastamine, võrgu karastamine, andmebaasi karastamine, veebiserveri karastamine, võrgu ja IoT-seadmete karastamine, manussüsteemide karastamine ja mobiilseadmete karastamine.
Operatsioonisüsteemi kaitse tugevdamine käsitleb alust, millel kõik muud teenused töötavad. See hõlmab mittevajalike funktsioonide, tulemüürireeglite, kontode ja rühmade haldamise, failide ja kataloogide õiguste keelamist, paranduste installimist, paroolipoliitikaid ja auditeerimist. See on esimene kaitse tugevdamise tase, millega tuleb tegeleda Linuxis, Windowsis ja teistes operatsioonisüsteemides.
Rakenduste kõvendamine keskendub sellele, kuidas nendes süsteemides töötavaid konkreetseid programme konfigureeritakse ja värskendatakse: andmebaasiserverid, ERP-d, CRM-id, veebirakendused, kontoritööriistad jne. See hõlmab sisemiste turvaparameetrite, juurdepääsukontrolli, krüptimise, liidese kokkupuute ja spetsiifiliste turvatestide (nt staatilise koodi analüüs või rakenduste penetratsioonitestimine) ülevaatamist.
Võrgu turvalisuse tugevdamine hõlmab kõike, mis on seotud sideinfrastruktuuriga: tulemüürid, võrgu segmenteerimine, juurdepääsu kontroll VLAN-i või SDN-i tasandil, sissetungimise tuvastamise ja ennetamise süsteemid, marsruutimispoliitikad ja perimeetrikaitse. See hõlmab näiteks seda, millised alamvõrgud saavad omavahel suhelda, kuidas tundlikele süsteemidele juurde pääsetakse ja kuidas väliseid ühendusi hallatakse.
Andmebaasi tugevdamise eesmärk on säilitada andmete konfidentsiaalsus ja terviklikkus. Levinud tavad hõlmavad andmebaasikontode õiguste vähendamist, krüpteerimist nii puhkeolekus kui ka edastamisel, keskkondade eraldamist, vaikesätete turvaparameetrite ülevaatamist, kaitset SQL-süstimise eest ning auditilogide lubamist kriitiliste päringute ja muudatuste jaoks.
Veebiserveri tugevdamine on spetsialiseerunud HTTP/HTTPS-i ja nendega seotud veebirakenduste kaitsmisele. See hõlmab serveri (Apache, Nginx, IIS jne) konfigureerimist, turvapäiste nõuetekohast haldamist, kaitsmist selliste rünnakute eest nagu XSS või CSRF, küpsiste ja seansside turvalist haldamist, veateadetes kuvatava teabe piiramist ning ebavajalike moodulite või laienduste keelamist.
Võrgu- ja IoT-seadmed vajavad omaette lähenemist, alustades vaikemandaatide muutmisest, kasutamata teenuste ja portide keelamisest, administraatori juurdepääsu piiramisest, püsivara ajakohasena hoidmisest ja IoT puhul iga seadme võrgus tehtavate toimingute rangest kontrollimisest. Paljud hiljutised intsidendid on alguse saanud pealtnäha "väikestest", kuid haavatavatest seadmetest, millel on nõrgad konfiguratsioonid.
Manussüsteemide puhul on lähenemisviis sarnane, kuid laiem, hõlmates sõidukitesse, kodumasinatesse või tööstusmasinatesse integreeritud seadmeid, mis pole alati internetiga ühendatud. Siin keskendub turvalisuse tugevdamine püsivara juhtimisele, füüsiliste ja loogiliste liideste kaitsmisele ning värskenduste hoolikale haldamisele, et vältida uute haavatavuste tekitamist.
Lõpuks hõlmab mobiilsüsteemide (nutitelefonide, tahvelarvutite) tugevdamine turvapoliitikate määratlemist, salvestusruumi krüptimise lubamist, rakenduste ja lubade haldamist, kaugkustutusmehhanismide aktiveerimist ning füüsilise juurdepääsu kaitsmist PIN-koodide, biomeetria või muude meetodite abil. Neid kombineeritakse sageli MDM/EMM platvormidega, mis võimaldavad tsentraliseeritud konfigureerimist.
PowerShell, läbitungivustestimine ja tugevdamine Windowsi keskkondades
Windowsi ökosüsteemis on PowerShellist saanud nii administraatorite kui ka ründajate jaoks võtmetööriist. See keel, mis on integreeritud juba Windows XP-s, võimaldab haldusülesannete automatiseerimist tohutu paindlikkusega : õiguste määramine, teenuste haldamine, portide avamine, õiguste laiendamine, ülesannete ajastamine, paroolide räsi väljavõtmine ja palju muud.
Küberkurjategijad on seda võimekust ja asjaolu, et PowerShell on natiivne tööriist skriptipõhise pahavara arendamiseks, mis töötab mälus ja jätab kettale vähe jälgi, raskendades traditsioonilise viirusetõrjetarkvara abil tuvastamist. Viimastel aastatel on PowerShelli kasutavate ohtude arv hüppeliselt kasvanud, kusjuures turvalabori uuringute kohaselt on lühikese aja jooksul suurenenud mitu sada protsenti.
PowerShellil põhinevate rünnakutehnikate mõistmiseks kasutavad kaitsemeeskonnad penetratsioonitestimise tööriistu ja raamistikke, näiteks PowerShell Empire, PowerSploit ja Nishang. Need moodulid hõlbustavad selliseid ülesandeid nagu viirusetõrjetarkvara vältimine, õiguste laiendamine, teistele masinatele üleminek, volituste otsimine, püsivate ühenduste loomine, skriptide sisestamine Office'i dokumentidesse, koodi laadimine mällu ja täitmispoliitikate möödahiilimine.
Nende ründavate tehnikate mõistmine on tõhusate leevendusmeetmete määratlemisel võtmetähtsusega. PowerShelli-spetsiifiliste tugevdavate vastumeetmete hulka kuuluvad piiratud keelerežiimi kasutamine , AppLockeri või tarkvarapiirangute poliitikate konfigureerimine skriptide käivitamise piiramiseks, skriptide allkirjastamine, Just Enough Administration/Just In Time (JEA/JIT) kasutamine haldusülesannete piiramiseks, suhtluse krüptimine, range režiim ja selliste kontrollide rakendamine, mis valideerivad koodi enne käivitamist.
Mõned neist tehnikatest nõuavad edasijõudnutele teadmisi, mis on viinud kasutajasõbralikumate liidestega rakenduste loomiseni , mis integreerivad nii rünnaku- kui ka kaitsemooduleid. Need projektid, mis sageli alguse saavad akadeemilisest kontekstist lõputöödena, on suunatud penetratsioonitestimise ja turvalisuse parandamise kontseptsioonide kättesaadavamaks muutmisele vähem spetsialiseerunud kasutajatele, pakkudes intuitiivseid menüüsid, mis juhendavad neid testide ja vastumeetmete abil Windowsi keskkondades.
Tööriistad karastamise, konfigureerimise ja vastavuse automatiseerimiseks
Kaasaegsete süsteemide maht ja keerukus muudavad käsitsi karastamise praktiliselt võimatuks. See on viinud mitmete tööriistade kategooriate tekkimiseni, mis on loodud turvapoliitikate testimise, juurutamise ja kontrollimise automatiseerimiseks : karastamise automatiseerimislahendused, küberturvalisuse tarkvara , konfiguratsioonihaldusplatvormid, vastavusskannerid ja spetsiaalsed avatud lähtekoodiga projektid.
Serveri turvalisuse tugevdamise automatiseerimistööriistad hõlmavad kogu elutsüklit: testimist, juurutamist ja jälgimist. Need analüüsivad konfiguratsioonimuudatuste mõju tootmisteenustele, aitavad poliitikaid kohandada katkestuste vältimiseks, juurutavad reegleid tsentraalselt ja jälgivad võrku, et tuvastada kõrvalekaldeid algtasemest. Selle valdkonna kommertslahenduste näideteks on CalCom Server Hardening Solution (CHS) ja CalCom Security Solution for IIS, mis on suunatud nii serveritele kui ka konkreetsele vahetarkvarale.
NISTi määratletud turbekonfiguratsiooni halduse (SCM) tööriistad võimaldavad teil kontrollida infosüsteemide soovitud olekut, rakendada muudatusi korduvalt, versioonida konfiguratsioone, jälgida, kes mida muutis, ja genereerida aruandeid praeguse oleku kohta. Platvormid nagu Ansible, Chef, Puppet ja Microsoft System Center Configuration Manager ei piirdu ainult karastamisega; need sobivad ideaalselt SCM-i rakendamiseks koodina, integreerides selle DevOps või DevSecOps töövoogudesse.
Vastavuskontrollijad keskenduvad selle hindamisele, kas süsteem vastab konkreetsele raamistikule (CIS, DISA STIG, sisemised juhised jne). Need genereerivad aruandeid, mis näitavad, millised kontrollid on õigesti rakendatud ja kus esineb lünki. Tööriistad nagu Tripwire Configuration Manager, Qualys, NNT SecureOps ja CIS-CAT Pro võimaldavad kasutajatel visualiseerida mitme vara turbeseisundit ja tähtsuse järjekorda seada lahendusi vastavalt mõjule.
Lõpuks on olemas väga rikas avatud lähtekoodiga projektide ökosüsteem, mis keskendub haavatavuste tugevdamisele , sealhulgas automatiseerimisplatvormid nagu Salt, Windowsi keskkondade vastavuskomplektid (Microsoft Security Compliance Toolkit), spetsiifilised auditiskriptid (Hardening Auditor) ja utiliidid nagu Windows Exploit Suggester NG, mis tuvastab Windowsi süsteemides süsteemiteabe põhjal haavatavusi.
Süsteemi karastamine: lähtetasemed, automatiseerimine ja auditeerimine
Lisaks konkreetsetele tööriistadele käsitlevad organisatsioonid, kes serveri turvalisuse kindlustamist tõsiselt võtavad, seda elava süsteemina, mitte ühekordse kontrollnimekirjana . See hõlmab iga serverirolli jaoks baastasemete määratlemist, nende rakenduste automatiseerimist, vastavuse kontrollimist ja operatiivsetel põhjustel vajalike kõrvalekallete teadlikku haldamist.
Praktikas on tavaline alustada igat tüüpi varade jaoks spetsiifiliste baasjoonte loomisega : Linuxi veebiserverid, rakendussõlmed, andmebaasid, Windowsi domeenikontrollerid, kasutajaarvutid, võrguseadmed jne. Iga baasjoon sisaldab süsteemiparameetreid, tulemüürireegleid, teenuse konfiguratsioone, kontopoliitikaid, logimise seadeid ja muid sellele rollile kohandatud meetmeid.
Sealt edasi kasutatakse infrastruktuuri-koodina (IaC) tööriistu ja konfiguratsioonihalduse tööriistu (nt Ansible või PowerShell DSC), et teisendada need baasjooned versioonitavaks koodiks Giti repositooriumides. Muudatusi vaadatakse üle versioonikontrolli protsesside kaudu, neid testitakse automaatselt ja lintingu abil ning juurutatakse torujuhtmete abil, mis jätavad tõendeid selle kohta, millist konfiguratsiooniversiooni on igas keskkonnas rakendatud.
Pärast iga juurutamist käivitatakse auditeerimistööriistad , näiteks Lynis või OpenSCAP Linuxis või Windowsi-spetsiifilised vastavusskannerid, ning aruanded laaditakse artefaktidena üles CI/CD platvormile. See dokumenteerib määratletud poliitikate järgimist ja hõlbustab väliseid auditeid või sisemisi turvaülevaateid.
Protsessi lõpuleviimiseks lisavad paljud ettevõtted jälgimis- ja tuvastusplatvorme , näiteks Wazuh, mis ühendavad logianalüüsi, failide terviklikkuse kontrolli, sündmuste korrelatsiooni ja reaalajas hoiatusi. See võimaldab neil teada saada, millal uued teenused hakkavad kuulama ootamatuid porte, tundlike failide õigused muutuvad või esinevad anomaalsed juurdepääsumustrid.
Kogu selle protsessi vältel on karastamine kooskõlas selliste standarditega nagu ISO/IEC 27002 , mis hõlmavad konfiguratsioonihaldust, ebavajalike funktsioonide eemaldamist, tehniliste haavatavuste haldamist ja kasutajate autentimist. Eesmärk pole mitte ainult olla "turvalisem", vaid ka suuta objektiivselt näidata, et organisatsioon haldab oma süsteeme vastavalt tunnustatud parimatele tavadele.
Süsteemi kõvendamine, mida toetab skriptimine ja automatiseerimine, on pidev distsipliin, mis ühendab endas turvapõhimõtted, teadmised reaalsetest ohtudest, sobivad tööriistad ja suure hulga tervet mõistust. Rünnakupinna vähendamine, teostatava ja sellele juurdepääsu viisi hoolikas kontrollimine, iga muudatuse mõju testimine ning konfiguratsiooni jälgimine aja jooksul on kõige tõhusam viis vältida mugava, kuid lohaka konfiguratsiooni muutumist tõsise intsidendi väravaks.
