Siirry sisältöön

Esimerkkiraportti: yritys, sen järjestelmät ja kaikki tiedot ovat kuvitteellisia.

Esimerkkiraportti: pilviperustan tarkistus

Lyhennetty esimerkki raportista, jonka saat viikon tarkistuksen jälkeen. Asiakkaana on kuvitteellinen SaaS-yritys, jonka ympäristö on AWS:ssä. Oikeassa raportissa jokainen havainto esitetään samassa muodossa.

Asiakas
Example Company Oy
Keskikokoinen B2B-SaaS-yritys (kuvitteellinen)
Ympäristö
AWS
Neljä tiliä yhdessä organisaatiossa
Tarkistus
Viikon tarkistus
CIS-vertailu ja käsin tehtävä katselmointi
Raportti
Versio 1.0
Syyskuu 2026

Laajuus ja menetelmä

Mitä tarkistimme, miten ja kenen kanssa.

Mitoitus inventaariokyselystä

Asiakas ajoi maksuttoman kyselyn AWS Resource Explorerissa lukuoikeuksilla ja lähetti meille vain lukumäärät.

resurssia
~420
työkuormaa
8
pilvialuetta
2
VPC-verkkoa
6
hybridiyhteyttä
0

Mahtuu viikon tarkistukseen: enintään 500 resurssia, 10 työkuormaa, 2 pilvialuetta ja 10 verkkoa ilman hybridiyhteyksiä.

Menetelmä

Automaattinen vertailu CIS AWS Foundations Benchmarkiin ja sen jälkeen identiteettien, verkon, lokituksen ja muutostenhallinnan käsin tehtävä katselmointi.

Lukuoikeudet SecurityAudit- ja ViewOnlyAccess-käytännöillä koko organisaatiossa.

Kaksi haastattelua

Kaksi 60 minuutin haastattelua: alustan omistaja ja tietoturvasta vastaava. Haastatteluissa varmistettiin, mitkä työkuormat ovat tärkeimpiä ja mitkä riskit olivat jo tiedossa.

Tilit ja pilvialueet

Organisaation kaikki neljä tiliä kahdella pilvialueella.

  • example-management (777788889999)
  • example-prod (123456789012)
  • example-staging (444455556666)
  • example-sandbox (111122223333)
  • eu-north-1
  • eu-west-1

Yhteenveto

Perusta on tämän kokoiselle yritykselle kohtuullisessa kunnossa: tuotanto on omalla tilillään, ja suurinta osaa infrastruktuurista hallitaan Terraformilla. Suurimmat riskit liittyvät identiteetteihin ja havainnointiin. Kumpikin kriittinen havainto voisi yksinään antaa hyökkääjälle täydet oikeudet, ja lokituksen ja hälytysten puutteiden vuoksi hyökkäys voisi jäädä huomaamatta. Kaikki kriittiset ja korkean vakavuuden havainnot voi korjata 60 päivässä ilman, että alustaa tarvitsee suunnitella uudelleen.

Havainnot vakavuuden mukaan

Kriittinen
2
Korkea
5
Keskitaso
9
Matala
7

23 havaintoa yhteensä

Viisi suurinta riskiä

  1. KriittinenF-01Pääkäyttäjätunnuksella, jota kukaan ei ole käyttänyt yli 200 päivään, on yhä voimassa oleva pääsyavain eikä MFA:ta. Yksi vuotanut avain tai salasana antaa täydet oikeudet tuotantoon.
  2. KriittinenF-02Hallintatilin root-käyttäjällä ei ole MFA:ta. Jokainen, joka tietää sen salasanan, hallitsee organisaation kaikkia tilejä.
  3. KorkeaF-03SSH on avoinna koko internetiin kolmella tuotantopalvelimella, myös hyppykoneella (bastion host).
  4. KorkeaF-04Kukaan ei saa hälytystä, kun joku kirjautuu root-käyttäjänä tai muuttaa IAM-käytäntöjä, suojausryhmiä tai lokitusta.
  5. KorkeaF-05S3 Block Public Access ei ole käytössä tilitasolla, joten yksi virheellinen bucket-käytäntö voisi tehdä asiakkaiden tiedostoista julkisia.

CIS Benchmark -tulokset

Automaattinen vertailu CIS AWS Foundations Benchmarkiin kaikilla neljällä tilillä ja molemmilla pilvialueilla. Koko raportissa on hyväksytty tai hylätty -tulos jokaisesta kontrollista.

Yksi havainto voi kattaa useita hylättyjä kontrolleja, ja käsin tehtävä katselmointi tuo lisäksi havaintoja, joita benchmark ei tarkista. Siksi luvut eroavat toisistaan.

CIS AWS Foundations Benchmark -tulokset osa-alueittain
Osa-alueHyväksyttyHylätty
Identiteetit ja käyttöoikeudet165
Tallennus72
Lokitus54
Valvonta510
Verkot34
Yhteensä3625

Esimerkkihavainnot

Koko raportissa jokainen havainto esitetään tässä muodossa. Tässä niistä kolme: yksi kriittinen, yksi korkea ja yksi keskitason havainto.

KriittinenF-01Työmäärä S

Käyttämätön pääkäyttäjätunnus, jolla on voimassa oleva pääsyavain eikä MFA:ta

Kohteena olevat resurssit
  • iam-user: deploy-admin
  • account: example-prod (123456789012)
  • policy: AdministratorAccess
Näyttö
AWS CLI
$ aws iam get-credential-report --query Content --output text | base64 --decode \
    | cut -d, -f1,4,8,9,11 | grep -E '^(user|deploy-admin),'
user,password_enabled,mfa_active,access_key_1_active,access_key_1_last_used_date
deploy-admin,true,false,true,2026-01-29T06:02:41+00:00

$ aws iam list-attached-user-policies --user-name deploy-admin \
    --query 'AttachedPolicies[].PolicyName' --output text
AdministratorAccess
Liiketoimintavaikutus
Kuka tahansa, joka saa tämän avaimen tai salasanan haltuunsa, saa täydet ylläpitäjän oikeudet tuotantoon ja asiakastietoihin, eikä MFA ole estämässä. Tunnusta ei ole käytetty yli 200 päivään, joten väärinkäyttö ei erottuisi mitenkään, eikä avain vanhene itsestään.
Korjaus
  1. Poista konsolisalasana ja poista avain käytöstä heti. Avaimen voi ottaa takaisin käyttöön, jos jokin vielä tarvitsee sitä.
  2. Kun kahteen viikkoon ei ole ilmennyt virheitä, poista avain ja käyttäjä.
  3. Anna ihmisille pääsy IAM Identity Centerin kautta MFA:lla ja putkille omat roolit lyhytikäisillä tunnistetiedoilla.
AWS CLI
$ aws iam delete-login-profile --user-name deploy-admin
$ KEY_ID=$(aws iam list-access-keys --user-name deploy-admin \
    --query 'AccessKeyMetadata[0].AccessKeyId' --output text)
$ aws iam update-access-key --user-name deploy-admin \
    --access-key-id "$KEY_ID" --status Inactive

$ aws iam delete-access-key --user-name deploy-admin --access-key-id "$KEY_ID"
$ aws iam detach-user-policy --user-name deploy-admin \
    --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
$ aws iam delete-user --user-name deploy-admin
Viittaus benchmarkiin
CIS AWS Foundations, Identity and Access Management
KorkeaF-03Työmäärä S

SSH avoinna koko internetiin kolmella EC2-instanssilla

Kohteena olevat resurssit
  • ec2: prod-bastion-01
  • ec2: prod-batch-01
  • ec2: prod-reporting-01
  • security-group: ssh-admin (sg-0123456789abcdef0)
Näyttö
AWS CLI
$ aws ec2 describe-security-group-rules \
    --filters Name=group-id,Values=sg-0123456789abcdef0 \
    --query 'SecurityGroupRules[?!IsEgress].[FromPort,ToPort,CidrIpv4]' --output text
22    22    0.0.0.0/0

$ aws ec2 describe-instances \
    --filters Name=instance.group-id,Values=sg-0123456789abcdef0 \
    --query "Reservations[].Instances[].[InstanceId,Tags[?Key=='Name']|[0].Value]" \
    --output text
i-0123456789abcdef0    prod-bastion-01
i-0123456789abcdef1    prod-batch-01
i-0123456789abcdef2    prod-reporting-01
Liiketoimintavaikutus
Kuka tahansa internetissä voi yrittää kirjautua näille palvelimille, ja hyppykoneelta on yhteys tuotannon tietokantaan. Automaattiset skannerit löytävät avoimet SSH-portit minuuteissa, joten yksi heikko tai vuotanut SSH-avain riittää sisäänpääsyyn.
Korjaus
  1. Ota Session Manager käyttöön lisäämällä instanssien roolille AmazonSSMManagedInstanceCore-käytäntö ja varmista, että tiimi saa yhteyden.
  2. Poista SSH-sääntö ja luovu sen jälkeen hyppykoneesta.
  3. Siirrä suojausryhmä Terraformin hallintaan, jotta sääntö ei palaa huomaamatta.
AWS CLI
$ aws iam attach-role-policy --role-name example-ec2-app \
    --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
$ aws ssm start-session --target i-0123456789abcdef0

$ aws ec2 revoke-security-group-ingress --group-id sg-0123456789abcdef0 \
    --protocol tcp --port 22 --cidr 0.0.0.0/0
Viittaus benchmarkiin
CIS AWS Foundations, Networking
KeskitasoF-08Työmäärä M

CloudTrail ei kata yhtä tiliä, ja lokitiedostoja voi muuttaa huomaamatta

Kohteena olevat resurssit
  • account: example-sandbox (111122223333)
  • trail: management-audit
  • trail: prod-audit
  • trail: staging-audit
Näyttö
AWS CLI
$ for p in example-management example-prod example-staging example-sandbox; do
    echo "$p: $(aws cloudtrail describe-trails --profile "$p" --output text \
      --query 'trailList[].[Name,LogFileValidationEnabled]')"
  done
example-management: management-audit    False
example-prod: prod-audit    False
example-staging: staging-audit    False
example-sandbox:
Liiketoimintavaikutus
Sandbox-tilin tapahtumista ei jää kirjaa, joten hyökkääjä voisi käyttää tiliä jälkiä jättämättä. Muilla tileillä ylläpitäjän oikeuksin voisi muuttaa tai poistaa lokitiedostoja ilman, että sitä pystyttäisiin osoittamaan. Tämä heikentää tutkintaa ja asiakkaille annettavaa auditointinäyttöä.
Korjaus
  1. Korvaa kolme tilikohtaista trailia yhdellä organisaation kattavalla traililla, joka kattaa myös myöhemmin lisättävät tilit.
  2. Ota käyttöön lokitiedostojen eheyden tarkistus (log file validation), jotta jokainen lokitiedostoon tehty muutos voidaan havaita.
  3. Ohjaa lokit erillisen lokiarkistotilin S3-säilöön, jossa on S3 Object Lock, jotta kukaan ei voi poistaa niitä säilytysaikana.
Terraform
resource "aws_cloudtrail" "organization" {
  name                       = "org-audit"
  s3_bucket_name             = aws_s3_bucket.audit_logs.id
  is_organization_trail      = true
  is_multi_region_trail      = true
  enable_log_file_validation = true
}

resource "aws_s3_bucket" "audit_logs" {
  provider            = aws.log_archive
  bucket              = "example-org-audit-logs"
  object_lock_enabled = true
}

resource "aws_s3_bucket_object_lock_configuration" "audit_logs" {
  provider = aws.log_archive
  bucket   = aws_s3_bucket.audit_logs.id

  rule {
    default_retention {
      mode = "COMPLIANCE"
      days = 365
    }
  }
}
Viittaus benchmarkiin
CIS AWS Foundations, Logging

Kaikki havainnot CSV-tiedostona

Saat kaikki havainnot myös CSV-tiedostona tikettijärjestelmääsi. Alla ovat yllä esitettyjen kolmen havainnon rivit.

havainnot.csv (ote)
tunnus,vakavuus,otsikko,cis_osio,tyomaara,tila
F-01,Kriittinen,"Käyttämätön pääkäyttäjätunnus, jolla on voimassa oleva pääsyavain eikä MFA:ta",Identity and Access Management,S,Avoin
F-03,Korkea,SSH avoinna koko internetiin kolmella EC2-instanssilla,Networking,S,Avoin
F-08,Keskitaso,"CloudTrail ei kata yhtä tiliä, ja lokitiedostoja voi muuttaa huomaamatta",Logging,M,Avoin

90 päivän tiekartta

Korjaukset riskin ja työmäärän mukaan järjestettynä, valmiina työjonoon. Havaintotunnukset yhdistävät jokaisen tehtävän raporttiin.

  1. Päivät 0–30

    Kriittiset aukot kiinni

    • Työmäärä SPoista käyttämätön pääkäyttäjätunnus ja sen pääsyavain.F-01
    • Työmäärä SLisää jokaisen tilin root-käyttäjälle laitepohjainen MFA.F-02
    • Työmäärä SSulje SSH internetistä ja siirry Session Manageriin.F-03
    • Työmäärä SOta S3 Block Public Access käyttöön kaikilla tileillä.F-05
  2. Päivät 31–60

    Havainnointi ja käyttöoikeudet kuntoon

    • Työmäärä MOta käyttöön organisaation kattava trail, lokitiedostojen eheyden tarkistus ja S3 Object Lock.F-08
    • Työmäärä MHälytä root-kirjautumisista sekä IAM-, suojausryhmä- ja lokitusmuutoksista.F-04
    • Työmäärä SOta GuardDuty käyttöön molemmilla pilvialueilla yhdeltä tililtä hallittuna.F-06
    • Työmäärä MAnna julkaisuputkelle vähimpien oikeuksien roolit ilman tallennettuja avaimia.F-07
    • Työmäärä MSiirrä ihmisten tunnukset IAM-käyttäjistä IAM Identity Centeriin, jossa kirjautuminen vaatii MFA:n.F-09
  3. Päivät 61–90

    Korjaukset pysyviksi

    • Työmäärä MLisää SCP-käytännöt, jotka estävät CloudTrailin ja GuardDutyn poistamisen käytöstä.F-06F-08
    • Työmäärä MTarkista Terraform-suunnitelmat putkessa, jotta avoin SSH ja julkiset bucketit pysähtyvät ennen julkaisua.F-03F-05
    • Työmäärä LKäy läpi loput keskitason ja matalan vakavuuden havainnot.F-10–F-23
    • Työmäärä SAja CIS-vertailu uudelleen ja vertaa tuloksia tähän raporttiin.

Työmäärä on arvio teknisestä työstä: S enintään 2 päivää, M enintään viikko, L yli viikon.

Mitä saat

Jokaiseen pilviperustan tarkistukseen sisältyvät nämä kuusi toimitusta. Viidestä niistä on lyhennetty esimerkki tällä sivulla.

Haluatko saman raportin omasta pilvestäsi?

Teemme saman tarkistuksen AWS-, Azure- tai Google Cloud -ympäristöösi. Maksuttoman 30 minuutin puhelun ja lukuoikeuksin ajettavan inventaariokyselyn jälkeen saat kirjallisen kiinteähintaisen tarjouksen.

Etkö tiedä, mistä aloittaa?

Varaa maksuton 30 minuutin puhelu. Kuulemme, mitä tarvitset, ja kerromme rehellisesti, voimmeko auttaa ja miten. Puhelu ei sido sinua mihinkään.