Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot
Soveltakaa käyttöjärjestelmän koventamistekniikoita — poistakaa tarpeettomat palvelut käytöstä, pakottakaa perustason määritykset ja käyttäkää CIS-vertailuarvoja — hyökkäyspinnan pienentämiseksi.
Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä käyttöjärjestelmän koventaminen tarkoittaa
Käyttöjärjestelmän koventaminen tarkoittaa prosessia, jossa käyttöjärjestelmän hyökkäyspinta-alaa pienennetään poistamalla tarpeettomia ominaisuuksia, ottamalla käyttöön tietoturva-asetuksia ja pitämällä järjestelmä paikattuna. Vastikään asennettu käyttöjärjestelmä ei ole oletusarvoisesti turvallinen — se painottaa käytettävyyttä ja ottaa käyttöön palveluita ja ominaisuuksia, joita monet käyttäjät saattavat tarvita mutta joita useimmat yrityspalvelimet eivät tarvitse. Jokainen käytössä oleva palvelu, avoin portti ja oletustunnistetieto voi tarjota hyökkääjälle pääsyn järjestelmään. Koventamisella nämä sisäänpääsyreitit suljetaan järjestelmällisesti ennen järjestelmän tuotantokäyttöä.
Korjaustiedostojen hallinta
Korjaustiedostojen hallinta on prosessi, jossa tunnistetaan, testataan ja asennetaan ohjelmistopäivityksiä, joilla korjataan tietoturvahaavoittuvuuksia. Paikkaamaton järjestelmä on yksi helpoimmin hyödynnettävistä kohteista — monissa merkittävissä tietomurroissa (Equifax 2017, WannaCry 2017) hyödynnettiin tunnettuja ja jo korjattuja haavoittuvuuksia, joita organisaatiot eivät vain olleet asentaneet. Kypsä korjaustiedostojen hallintaprosessi määrittelee seuraavat asiat: korjaustiedostojen tunnistaminen (tilaus toimittajien tiedotteisiin ja CVE-syötteisiin), kriittisyysluokittelu (Emergency/Critical/High/Medium), testausaikataulut (kriittiset korjaukset 48–72 tunnin kuluessa monissa viitekehyksissä) ja käyttöönoton varmistaminen.
# Patch criticality SLA example
CVSS Score SLA Notes
---------- ---------- ----------------------
9.0 - 10.0 48 hours Emergency patch cycle
7.0 - 8.9 7 days Critical patch cycle
4.0 - 6.9 30 days Standard patch cycle
0.1 - 3.9 90 days Routine patch cycle
# Verify patch application:
# Windows: Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5023706'}
# Linux: dpkg -l | grep package_nameTarpeettomien palveluiden poistaminen käytöstä
Jokainen käynnissä oleva palvelu voi muodostaa hyökkäysvektorin. Käyttöjärjestelmän koventaminen alkaa palveluiden auditoinnista: luetteloikaa kaikki käynnissä olevat palvelut, selvittäkää niiden käyttötarkoitus ja poistakaa käytöstä kaikki palvelut, joita järjestelmän rooli ei edellytä. Windows Serverissä Print Spoolerin, Remote Registryn ja LLMNR:n kaltaiset roolit poistetaan usein käytöstä palvelimissa, jotka eivät niitä tarvitse. Linuxissa tyypillisiä poistettavia palveluita ovat rpcbind, cups (tulostus) ja avahi (mDNS). Periaate on: jos ette tarvitse sitä, poistakaa se käytöstä.
# Windows: disable unnecessary service
SC config 'Spooler' start= disabled
SC stop 'Spooler'
# Linux: disable unused services
systemctl disable cups
systemctl stop cups
systemctl disable avahi-daemon
systemctl stop avahi-daemon
# Verify no unnecessary ports are listening:
ss -tulnp # Linux
netstat -an | findstr LISTENING # WindowsTarpeettomien ohjelmistojen poistaminen
Asennetut mutta käyttämättömät ohjelmistot muodostavat tarpeettoman riskin. Jokainen paketti voi sisältää haavoittuvuuksia — jopa hyvin ylläpidetyissä ohjelmistoissa on CVE-haavoittuvuuksia. Käyttöjärjestelmän koventamiseen kuuluu seuraavaa: sovellusten kannalta tarpeettomien kieliajoympäristöjen (Python, Perl, Ruby web-palvelimissa) poistaminen, kehitystyökalujen (kääntäjät ja debuggerit tuotantojärjestelmistä) poistaminen sekä käyttöjärjestelmäkuvien mukana toimitettujen oletussovelluspakettien (FTP-palvelimet, telnet-asiakasohjelmat ja SNMP-agentit) poistaminen. Myös konttikuvissa tulisi samasta syystä käyttää minimaalisia peruskuvia (Alpine, scratch, distroless).
# Remove unused packages (Debian/Ubuntu)
apt purge telnet ftp netcat python2 perl
apt autoremove
# Remove unused packages (RHEL/CentOS)
yum remove telnet ftp nmap-ncat
# Check what is installed:
dpkg -l | grep -i 'telnet\|ftp\|netcat'Oletustilien suojaaminen
Oletustilit, joiden käyttäjätunnukset ja salasanat ovat tiedossa, ovat ensimmäisiä kohteita, joita hyökkääjät kokeilevat. Kovennustoimet: poistakaa sisäänrakennettu Administrator-tili käytöstä (Windows) ja nimetkää se uudelleen, jos käytöstä poistaminen ei ole mahdollista; nimetkää root-tili uudelleen tai rajoittakaa root-kirjautumista SSH:n kautta (Linux); vaihtakaa kaikki oletussalasanat laitteista, tietokannoista ja sovelluksista ennen niiden siirtämistä tuotantoon; poistakaa vierastilit; ja poistakaa käytöstä palvelutilit, jotka eivät tarvitse vuorovaikutteista kirjautumista. Nessuksen kaltainen skannaustyökalu merkitsee oletustunnistetiedot kriittisiksi havainnoiksi.
# Linux: disable root SSH login
# Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user service_user
# Restart SSH:
systemctl restart sshd
# Windows: disable built-in Administrator
net user Administrator /active:no
# Rename (via Group Policy):
# Computer Config > Windows Settings > Security Settings
# > Local Policies > Security Options
# > 'Accounts: Rename administrator account'Tiedostojärjestelmän käyttöoikeudet ja vähimpien oikeuksien periaate
Suojatut tiedostojärjestelmän käyttöoikeudet toteuttavat vähimpien oikeuksien periaatteen käyttöjärjestelmässä. Web-palvelinprosessien ei pitäisi voida kirjoittaa hakemistoihin, joita ne palvelevat. Sovellustileillä ei pitäisi olla lukuoikeutta tunnistetietoja sisältäviin määritystiedostoihin. Linuxissa setuid- ja setgid-binaarit on tarkastettava, koska ne suoritetaan korotetuilla oikeuksilla riippumatta siitä, kuka ne käynnistää. Windowsissa NTFS-käyttöoikeudet ja DACL-tarkastus varmistavat, että arkaluonteisiin hakemistoihin (SAM-rekisteripesä, shadow-kopiot ja tunnistetietosäilöt) pääsevät käsiksi vain valtuutetut prosessit.
# Find setuid/setgid binaries (Linux)
find / -perm /4000 -o -perm /2000 2>/dev/null
# Secure web root permissions
chown -R root:www-data /var/www/html
chmod -R 755 /var/www/html
chmod 640 /var/www/html/config.php
# Check overly permissive files
find /etc -perm -o+w 2>/dev/null # world-writable in /etcCIS-vertailuarvot
CIS-vertailuarvot ovat maksuttomia, yhteisön laatimia kovennusohjeita tiettyjä käyttöjärjestelmiä, sovelluksia ja pilvialustoja varten. Jokainen vertailuarvo sisältää satoja yksityiskohtaisia määrityssuosituksia perusteluineen, korjausohjeineen ja tarkastuskomentoineen. CIS-vertailuarvoissa on kaksi profiilitasoa: Level 1 — perusmääritykset, jotka soveltuvat laajasti eivätkä rajoita toiminnallisuutta; Level 2 — edistyneet määritykset korkean tietoturvan ympäristöihin, joissa ne voivat vaikuttaa käytettävyyteen. Vertailuarvoja on saatavilla muun muassa Windows Serverille, Ubuntulle/RHEL:lle, macOS:lle, Dockerille, Kubernetesille, AWS:lle, Azurelle, GCP:lle, selaimille ja tietokannoille.
# CIS Benchmark check example (Linux L1)
# CIS Ubuntu 22.04 - 1.1.1.1 Disable cramfs
modprobe -n -v cramfs 2>&1 | grep -q 'Module cramfs not found'
# Expected: Module cramfs not found OR 'install /bin/false'
# Remediate:
echo 'install cramfs /bin/false' >> /etc/modprobe.d/CIS.conf
# CIS Windows - Account Lockout threshold
# secedit /export /cfg secpol.txt
# Check: LockoutBadCount = 5 (not 0)Perusmääritysten hallinta
Tietoturvan perusmääritys on dokumentoitu joukko määritysasetuksia, jotka jokaisen tiettyyn roolikategoriaan kuuluvan järjestelmän on täytettävä. Windowsissa perusmääritykset otetaan käyttöön Group Policy Objects (GPOs) -objektien avulla ja Linuxissa Ansible playbooks-, Chef cookbooks- tai Puppet manifests -määrityksillä. Määritystenhallintatyökalut mahdollistavat poikkeamien havaitsemisen: jos järjestelmä poikkeaa hyväksytystä perusmäärityksestä (esimerkiksi palvelu otetaan uudelleen käyttöön), automaattiset ilmoitukset ja automaattinen korjaus voivat palauttaa sen vaatimusten mukaiseksi. NIST SP 800-128 sisältää ohjeita liittovaltion järjestelmien tietoturvakeskeiseen määritystenhallintaan.
# Ansible hardening playbook snippet
- name: Disable ICMP redirects
sysctl:
name: net.ipv4.conf.all.accept_redirects
value: '0'
state: present
reload: yes
- name: Enable address space layout randomization
sysctl:
name: kernel.randomize_va_space
value: '2'
state: present
reload: yesTarkastuslokit ja valvonta
Kovennus ei tarkoita pelkästään ennaltaehkäisyä — lokitus ja valvonta ovat yhtä tärkeitä. Määrittäkää tarkastuskäytännöt tallentamaan seuraavat tapahtumat: todennustapahtumat (onnistuneet ja epäonnistuneet), oikeuksien korottaminen, objektien käyttö (arkaluonteisten tiedostojen lukeminen), prosessien luominen (komentoriviargumentteineen) ja verkkoyhteystapahtumat. Lokit on välitettävä keskitettyyn SIEM-järjestelmään lähes reaaliaikaisesti, jotta paikalliset hyökkääjät, joilla on järjestelmänvalvojan oikeudet, eivät voi peittää jälkiään tyhjentämällä tapahtumalokeja. Säilyttäkää lokit vähintään 12 kuukauden ajan useimpien vaatimustenmukaisuuskehysten mukaisesti.
# Enable Windows audit policy (Group Policy)
auditpol /set /category:'Logon/Logoff' /success:enable /failure:enable
auditpol /set /category:'Process Creation' /success:enable
auditpol /set /subcategory:'Privilege Use' /success:enable /failure:enable
# Linux: configure auditd for privilege use
echo '-a always,exit -F arch=b64 -S execve -k exec_track' >> /etc/audit/rules.d/audit.rules
echo '-w /etc/sudoers -p wa -k priv_change' >> /etc/audit/rules.d/audit.rules
augenrules --loadAutomaattinen vaatimustenmukaisuuden tarkastus
Kovennusvertailuarvojen manuaalinen tarkistaminen jokaisessa järjestelmässä ei ole suuressa mittakaavassa käytännöllistä. Vaatimustenmukaisuuden tarkastustyökalut automatisoivat tämän tarkistuksen. OpenSCAP (avoimen lähdekoodin työkalu) käyttää SCAP-sisältöä Linux-järjestelmissä ja tuottaa HTML-raportteja, joissa tarkistukset näkyvät hyväksyttyinä, hylättyinä tai soveltumattomina. Nessus sisältää CIS-vertailuarvokäytäntöjä. Microsoft Security Compliance Toolkit arvioi Windows-järjestelmiä Microsoftin perusmäärityksiä vasten. Työkalut suoritetaan säännöllisesti (viikoittain tai kuukausittain), ja poikkeamat käynnistävät korjauspyynnöt muutoksenhallintajärjestelmässä.
# OpenSCAP compliance scan (RHEL/CentOS)
oscap xccdf eval \
--profile xccdf_org.ssgproject.content_profile_cis \
--results results.xml \
--report report.html \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml
# Generate remediation script
oscap xccdf generate fix \
--fix-type bash \
--result-id '' \
results.xml > remediation.shRyhmäkäytäntö ja suojausmallit
Windows-toimialueilla Group Policy Objects (GPOs) ovat ensisijainen mekanismi suojausten perusmääritysten käyttöönottoon ja valvontaan suuressa mittakaavassa. Suojausmallit (valmiit tai mukautetut .inf-tiedostot) voidaan tuoda GPO-objekteihin, jolloin satoja asetuksia voidaan määrittää samanaikaisesti: tilikäytännöt, tarkastuskäytännöt, käyttäjäoikeuksien määritykset, suojausasetukset ja rekisteriarvot. Security Configuration and Analysis -laajennus ja secedit-komentorivityökalu vertaavat nykyisiä asetuksia määritettyyn malliin ja tuottavat vaatimustenmukaisuusraportteja. GPO-objektit otetaan käyttöön käynnistyksen yhteydessä ja säännöllisin väliajoin, mikä varmistaa, että poikkeamat perusmäärityksestä korjataan automaattisesti.
# Apply security template via secedit
secedit /configure /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_apply.log
# Analyze current config vs template
secedit /analyze /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_analysis.log
# View result: settings marked as compliant or non-compliantPikatarkistus
Testatkaa, miten hyvin ymmärrätte tämän oppitunnin CompTIA Security+ (SY0-701) -käsitteet.
Oppitunnin yhteenveto
Tässä oppitunnissa opitte, että käyttöjärjestelmän kovennus pienentää hyökkäyspinta-alaa poistamalla palveluita käytöstä, poistamalla ohjelmistoja, suojaamalla tilejä ja soveltamalla vähimpien oikeuksien mukaisia käyttöoikeuksia, korjaustiedostojen hallinta sulkee tunnettuja haavoittuvuuksia kriittisyyteen perustuvilla SLA-sopimuksilla ja CIS-vertailuarvot tarjoavat tason 1 (perus) ja tason 2 (edistynyt) määritysohjeita, joita valvotaan automaattisilla vaatimustenmukaisuuden tarkastustyökaluilla. Seuraavaksi tutustumme mobiililaitteiden hallintaan ja BYOD-käytäntöihin.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot” ilmainen?
Kyllä – oppitunnin ”Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot”?
Soveltakaa käyttöjärjestelmän koventamistekniikoita — poistakaa tarpeettomat palvelut käytöstä, pakottakaa perustason määritykset ja käyttäkää CIS-vertailuarvoja — hyökkäyspinnan pienentämiseksi. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Virustorjunta-, EDR- ja XDR-alustat
- Käyttöjärjestelmän koventaminen: korjaukset, perustason määritykset ja CIS-vertailuarvot
- Mobiililaitteiden hallinta (MDM) ja BYOD-käytännöt
- Isäntäpohjainen palomuuri ja sovellusten sallittujen luettelot