☁️ Debesų infrastruktūra ir saugumas 🔒 CIS Benchmark v3.0 atitiktis

AWS MFA geriausios praktikos: „Root“ paskyros ir IAM naudotojų apsauga naudojant virtualųjį MFA

Įmonių debesų saugumo vadovas: CIS AWS Benchmark kontrolės reikalavimų vykdymas, „Root“ paskyros apsauga keliais FIDO2 / virtualiaisiais žetonais, IAM politikos MFA sąlygų vykdymas, AWS CLI STS sesijų automatizavimas, vaidmenų perėmimo apribojimai ir avarinis atkūrimas.

2FA-Tool saugumo inžinerijos komanda
Atnaujinta 2026 m. spalį 2FA-Tool saugumo laboratorija 16 min. skaitymas (3 200+ žodžių)
· 16 min. skaitymas

Geriausios 2026 m. autentifikavimo programėlės: Aegis vs 2FAS vs Bitwarden

1

Debesų atitikties standartai: CIS Benchmark ir reguliacinės sistemos

Nesvarbu, ar jūsų inžinerinė organizacija siekia SOC 2 Type II atitikties, ISO 27001 sertifikavimo, PCI DSS 4.0 patvirtinimo, ar vadovaujasi „AWS Well-Architected Security Pillar“, MFA įdiegimas visose IAM tapatybėse yra esminis privalomas reikalavimas:

Standartas / Atitikties sistema Kontrolės specifikacija Svarba / Reikalavimas Audito patikrinimo mechanizmas
CIS AWS Foundations Benchmark v3.0 1.5 / 1.6 / 1.10 1 lygis (Privaloma) AWS Security Hub / Prowler automatizuotas vertinimas
PCI DSS 4.0 Requirement 8.4.2 Privaloma Mokėjimo kortelių duomenų aplinkos (CDE) konsolės ir API auditas
SOC 2 Type II (Pasitikėjimo kriterijai) CC6.1 / CC6.2 Esminė kontrolė Nepriklausomo CPA auditoriaus IAM ataskaitų patikra
Privalomas AWS MFA diegimas AWS 2024–2026 politika Platformos vykdymas „Root“ prisijungimo blokavimas, kol nebaigta MFA registracija
2

Absoliuti būtinybė apsaugoti AWS „Root“ paskyrą

AWS paskyros ribose „Root“ paskyra atstovauja visagalę tapatybę, sukurtą paskyros pradžioje. Skirtingai nuo IAM vaidmenų ar naudotojų, „Root“ paskyros veiksmų atskirose paskyrose negali apriboti jokios IAM tapatybės politikos ar paslaugų valdymo politikos (SCP).

Katastrofiškas pažeistos „Root“ paskyros poveikio spindulys (Blast Radius):

  • Neatšaukiamas paskyros uždarymas: Užpuolikai gali paspausti „Close Account“, suplanuodami negrįžtamą visos infrastruktūros sunaikinimą.
  • Mokėjimų ir finansų užgrobimas: Pakeisti sąskaitų nukreipimą, pakeisti įmonės mokėjimo korteles ir paleisti šimtus GPU egzempliorių daugiau nei 30 AWS regionų nelegaliam kriptovaliutų kasimui.
  • AWS Organizations struktūros suardymas: Pašalinti dukterines paskyras iš valdymo medžio, sugriaunant organizacijos atitikties stebėjimą.
  • Pagrindinių saugumo kontaktų pakeitimas: Pakeitus „Root“ el. paštą ir telefono numerį, visam laikui nutraukiami oficialūs AWS pagalbos kanalai.
🛡️ Trys nepajudinami „Root“ higienos įsakymai:
  1. Nulis „Root“ prieigos raktų: Audituokite IAM Credential Reports ir įsitikinkite, kad „Root“ paskyrai nėra sukurtų prieigos raktų (Access Keys). Jei jie yra, nedelsiant juos ištrinkite.
  2. Slaptažodžio saugojimas su dviguba priežiūra: Sugeneruokite 32+ simbolių atsitiktinį slaptažodį, padalinkite jį tarp CISO ir vyriausiojo teisininko ir užrakinkite atskiras dalis fiziniuose seifuose.
  3. Kelių įrenginių perteklius (iki 8 įrenginių): Užregistruokite bent du fizinius FIDO2 aparatinės įrangos raktus („YubiKey“) ir neprisijungusį, saugiai laikomą virtualųjį TOTP atsarginį įrenginį.
3

MFA pasirinkimo matrica: virtualusis TOTP vs aparatūrinis FIDO2 (YubiKey)

AWS palaiko tris pagrindines MFA įrenginių klases. Debesų architektai turėtų pasirinkti sprendimą pagal grėsmių modelius ir privilegijų lygius:

1 klasė: virtualusis

Virtualiosios TOTP programėlės

Standartiniai RFC 6238 žetonai („Google Authenticator“, „1Password“, „2FAS“, „Aegis“). Generuoja 6 skaitmenų kodus kas 30 sekundžių. Idealiai tinka kasdieniams IAM naudotojams ir kūrėjams.

2 klasė: FIDO2 / WebAuthn

YubiKey 5 serija / Security Key

Atspari sukčiavimui (phishing-resistant) kriptografija. Domenui pririštas viešojo rakto patvirtinimas per USB/NFC. Absoliutus standartas „Root“ paskyroms ir privilegijuotiems IAM administratoriams.

3 klasė: aparatūrinis TOTP

Gemalto / Thales fizinis žetonas

Autonominė, visiškai izoliuota TOTP kortelė su LCD ekranu. Būtina pramonės ir karinėms SCADA aplinkoms, kuriose draudžiama įsinešti išmaniuosius telefonus ar USB įrenginius.

Įmonių aparatinio MFA FIPS 140-2/3 atitiktis

„Fortune 500“ įmonėms ir gynybos rangovams „Root“ paskyros saugumas reikalauja FIPS 140-2 Level 3 arba FIPS 140-3 sertifikuotų kriptografinių modulių (pvz., „YubiKey 5 FIPS“ serijos). Šie įrenginiai apsaugo nuo fizinių šoninio kanalo atakų ir mikroskopinės silicio analizės.

Fizinio dvigubo valdymo praktika: Įmonių duomenų centruose „Primary Root YubiKey“ saugomas 1-ojo lygio seife su CISO biometrine prieiga, o „Secondary Backup YubiKey“ – atskiro geografinio regiono saugykloje su operacijų vadovo prieiga.

4

MFA privalomumo užtikrinimas per IAM politikas: „DenyAllExcept“ šablonas

Saugumo standartai negali pasikliauti savanoriškais darbuotojų veiksmais. Debesų valdymas turi kriptografiškai blokuoti visas API ir konsolės operacijas, kol naudotojas nepatvirtina tapatybės per MFA. Žemiau pateikiamas gamybinio lygio IAM politikos šablonas:

// Production-grade IAM Policy: Enforce-MFA-Self-Management-Policy.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowViewAccountInfo",
      "Effect": "Allow",
      "Action": [
        "iam:GetAccountPasswordPolicy",
        "iam:ListVirtualMFADevices"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowManageOwnVirtualMFADevice",
      "Effect": "Allow",
      "Action": [
        "iam:CreateVirtualMFADevice",
        "iam:DeleteVirtualMFADevice"
      ],
      "Resource": "arn:aws:iam::*:mfa/${aws:username}"
    },
    {
      "Sid": "AllowManageOwnUserMFA",
      "Effect": "Allow",
      "Action": [
        "iam:DeactivateMFADevice",
        "iam:EnableMFADevice",
        "iam:ListMFADevices",
        "iam:ResyncMFADevice"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    },
    {
      "Sid": "BlockAllAccessUnlessMFAAuthenticated",
      "Effect": "Deny",
      "NotAction": [
        "iam:CreateVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:ListMFADevices",
        "iam:ListVirtualMFADevices",
        "iam:ResyncMFADevice",
        "iam:GetUser"
      ],
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws:MultiFactorAuthPresent": "false"
        }
      }
    }
  ]
}
Vertinimo logikos analizė:

4-oji sąlyga įvertina visuotinį sąlygos raktą "aws:MultiFactorAuthPresent": "false". Kadangi loginė taisyklė Deny turi pirmenybę prieš bet kokį leidimą („Allow“), naudotojai negali nuskaityti S3, paleisti EC2 ar keisti jokių išteklių, kol nepateikia galiojančio MFA žetono.

5

AWS CLI ir SDK laikinieji žetonai: STS „GetSessionToken“ darbo eiga

Kai IAM politikos reikalauja MFA, kūrėjai, vykdantys komandas, tokias kaip aws s3 ls, gauna klaidą AccessDenied. Statinių prieigos raktų nepakanka. Inžinieriai privalo naudoti AWS STS (Security Token Service), kad iškeistų statinius raktus ir MFA žetoną į laikiną sesiją:

Automatizavimo scenarijus: „aws-mfa-session.sh“

Įdiekite šį pagalbinį scenarijų savo vietinėje aplinkoje (~/.aws/aws-mfa-session.sh), kad automatizuotumėte STS sesijų gavimą:

#!/usr/bin/env bash
# Exchange AWS Long-Term Keys + MFA Code for STS Session Token
MFA_ARN="arn:aws:iam::123456789012:mfa/alex-dev"
echo -n "Enter 6-digit 2FA OTP Code: "
read -r TOKEN_CODE

SESSION_JSON=$(aws sts get-session-token \
  --serial-number "$MFA_ARN" \
  --token-code "$TOKEN_CODE" \
  --duration-seconds 43200 \
  --output json)

if [ $? -eq 0 ]; then
  export AWS_ACCESS_KEY_ID=$(echo "$SESSION_JSON" | jq -r '.Credentials.AccessKeyId')
  export AWS_SECRET_ACCESS_KEY=$(echo "$SESSION_JSON" | jq -r '.Credentials.SecretAccessKey')
  export AWS_SESSION_TOKEN=$(echo "$SESSION_JSON" | jq -r '.Credentials.SessionToken')
  echo "✅ Authenticated! Temporary session exported (Valid for 12 hours)."
else
  echo "❌ Authentication failed. Check token code or device time drift."
fi
6

Kelių paskyrų vaidmenų perėmimas su MFA apribojimais

Įmonių kelių paskyrų architektūrose privilegijuoti inžinieriai jungiasi prie centrinės tapatybės paskyros ir naudoja sts:AssumeRole, kad pasiektų gamybines (Production) paskyras. Valdymo politikos privalo užtikrinti, kad vaidmens perėmimas būtų neįmanomas be aktyvaus MFA patvirtinimo:

// Target Role Trust Policy requiring active MFA
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "Bool": {
          "aws:MultiFactorAuthPresent": "true"
        }
      }
    }
  ]
}

Šis architektūrinis modelis užtikrina, kad net jei užpuolikas pavogtų kūrėjo nešiojamąjį kompiuterį su vietiniais prisijungimo duomenimis, bandymas perimti vaidmenį gamybinėje paskyroje grąžins klaidą AccessDenied, nes reikalaujamas sąlygos raktas aws:MultiFactorAuthPresent.

7

„CloudTrail“ auditas ir „EventBridge“ aliarmai: Root prisijungimų stebėjimas

Automatizuotas atitikties patikrinimas reikalauja nedelsiant pastebėti bet kokį „Root“ paskyros panaudojimą. Sukonfigūruokite „Amazon EventBridge“ taisyklę, stebinčią „CloudTrail“ žurnalus dėl „Root“ konsolės prisijungimų:

// EventBridge Rule Pattern: Console Login Without MFA
{
  "source": ["aws.signin"],
  "detail-type": ["AWS Console Sign In via CloudTrail"],
  "detail": {
    "eventName": ["ConsoleLogin"],
    "additionalEventData": {
      "MFAUsed": ["No"]
    }
  }
}

Gavęs įvykį, „EventBridge“ suaktyvina „Amazon SNS“ pranešimą, kuris nedelsiant išsiunčia SMS ir PagerDuty įspėjimus saugumo operacijų centrui (SOC) ir CISO.

8

Kelių paskyrų mastelis: IAM Identity Center (AWS SSO) ir SCP

Įmonių aplinkose, kuriose valdoma dešimtys ar šimtai AWS paskyrų, individualus MFA konfigūravimas kiekvienoje paskyroje tampa neįmanomas. Naudokite centralizuotą įmonių tapatybės valdymą:

Centralizuotas tapatybės valdymas

Įdiekite AWS IAM Identity Center (buvęs AWS SSO) organizacijos valdymo paskyroje. Integruokite jį su įmonės tapatybės teikėjais („Okta“, „Microsoft Entra ID“, „Google Workspace“), perkeldami MFA reikalavimus įmonės IdP lygiu su WebAuthn palaikymu.

"Action": "*", "Resource": "*",
"Condition": { "StringLike": { "aws:PrincipalArn": ["arn:aws:iam::*:root"] } }

Gamybinio lygio SCP: MFA vykdymas visoje organizacijoje

Didelėse organizacijose atskiri paskyrų administratoriai gali netyčia sukurti IAM naudotojus be MFA. Pritaikykite paslaugų valdymo politiką (SCP) visam organizaciniam vienetui (OU), kad blokuotumėte veiksmus be MFA visose organizacijos paskyrose:

// AWS Organizations SCP: Deny destructive API operations without active MFA
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyCriticalActionsWithoutMFA",
      "Effect": "Deny",
      "Action": [
        "iam:CreateAccessKey",
        "iam:CreateLoginProfile",
        "s3:DeleteBucket",
        "kms:ScheduleKeyDeletion",
        "ec2:TerminateInstances"
      ],
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws:MultiFactorAuthPresent": "false"
        }
      }
    }
  ]
}

Vaidmenų grandinės (Role Chaining) ir STS žetonų išplėtimo pavojai

Kai IAM tapatybės perima tarpinius vaidmenis, kurie vėliau perima gamybinius vaidmenis („role chaining“), pradinis konteksto raktas aws:MultiFactorAuthPresent gali būti prarastas tolesnėse sesijose. Visada naudokite tiesioginį vaidmens perėmimą arba aiškiai perduokite sesijos žymas per sts:TagSession.

9

Avarinis atkūrimas: prarasto „Root“ MFA įrenginio protokolas

Kas atsitinka, jei visi registruoti „Root“ MFA aparatiniai raktai ir virtualieji įrenginiai sunaikinami katastrofos metu?

Oficiali ne ryšio kanalo (Out-of-Band) atkūrimo seka:

  1. Pradėkite „Root“ prisijungimą: Įveskite „Root“ paskyros el. paštą ir pagrindinį slaptažodį AWS konsolėje.
  2. MFA trikčių šalinimas: MFA įvesties lange spustelėkite „Troubleshoot MFA“.
  3. Pagrindinio el. pašto patvirtinimas: AWS atsiunčia laikiną patvirtinimo nuorodą į pagrindinį „Root“ el. pašto adresą. Patvirtinkite el. pašto užklausą.
  4. Automatinis balso skambutis: Spustelėkite „Call me now“. Automatinė AWS sistema paskambina registruotu telefono numeriu ir perskaito 6 skaitmenų patvirtinimo PIN kodą.
Kritinis įspėjimas: Atnaujinkite pirminius kontaktinius duomenis!

Jei jūsų organizacija pakeitė telefonų numerius arba atsakingas asmuo išėjo neatnaujinęs AWS paskyros nustatymų, automatinis atkūrimas nepavyks. Tokiu atveju rankinis sprendimas reikalauja notaro patvirtintų įmonės registracijos dokumentų pateikimo „AWS Trust & Safety“ komandai, o peržiūra trunka 3–7 darbo dienas.

10

Įmonių debesų architektų DUK

Ar AWS Root MFA žetonai gali būti dalijami visoje DevOps komandoje? ▼

Griežtai draudžiama. „Root“ MFA duomenų dalijimasis pažeidžia visus atitikties auditus (SOC 2, ISO 27001). Kasdienis administravimas privalo vykti per „IAM Identity Center“ vaidmenis su asmenine atsakomybe. „Root“ prisijungimo duomenys privalo likti užrakinti fiziniuose seifuose su dviguba priežiūra tik avarinio „stiklo dūžio“ (break-glass) atvejams.

Kaip sąlygos raktas aws:MultiFactorAuthAge sustiprina saugumą? ▼

Šis raktas užtikrina sesijos šviežumą. Sukonfigūravus "NumericLessThan": {"aws:MultiFactorAuthAge": "3600"}, reikalaujama, kad MFA žetonas būtų pateiktas per pastarąsias 3 600 sekundžių (1 valandą). Didelės rizikos veiksmai (pvz., RDS klasterių ištrynimas) bus blokuojami, jei sesija yra senesnė, apsaugant nuo ilgalaikio sesijos užgrobimo.

Ar galiu naudoti 2FA-Tool internetinį autentifikatorių AWS Virtual MFA konfigūravimui? ▼

Taip. „AWS Virtual MFA“ griežtai atitinka RFC 6238 TOTP specifikacijas (HMAC-SHA1, 30 sekundžių intervalas, 6 skaitmenys). Galite įvesti Base32 slaptąją eilutę į 2FA-Tool.com, kad sugeneruotumėte du iš eilės einančius autentifikavimo kodus, reikalingus registracijai, 100% lokaliai savo naršyklėje.

Kliento pusės nulinio pasitikėjimo skaičiavimas

Saugiai tikrinkite įmonės TOTP žetonus

Akimirksniu sugeneruokite standartinius RFC 6238 TOTP patvirtinimo kodus naudodami W3C Web Crypto API. Jokių serverio užklausų, absoliutus izoliavimas atmintyje, nulis nutekėjimų.