AWS-i ühise vastutuse mudeli (Shared Responsibility Model) kohaselt haldab AWS "pilve turvalisust" (Security OF the Cloud – füüsilised andmekeskused, serverid, virtualiseerimiskiht), samal ajal kui klient vastutab täielikult "turvalisuse eest pilves" (Security IN the Cloud) – eriti identiteedihalduse, paroolihügieeni ja juurdepääsukontrollide eest. Kaitsmata AWS-i juurkonto (Root) või privileegidega IAM-mandaatide lekkimine võimaldab ründajatel käivitada tuhandete eurode väärtuses illegaalseid GPU krüptokaevandamise instantsi, varastada andmejärvi S3-s või hävitada kogu taristu lunavararünnakuga.
MFA on kohustuslik kõigile konsooli administraatoritele ning tingimusteta nõutav AWS-i juurkontole.
AWS võimaldab konto kohta registreerida kuni 8 erinevat FIDO2 ja virtuaalset TOTP seadet, välistades ainsa tõrkepunkti tekkimise.
Globaalne tingimuslik IAM-keeld blokeerib kõik API-päringud seni, kuni pole sooritatud edukat MFA autentimist.
Pilveturbe vastavus: CIS Benchmark ja regulatiivsed raamistikud
Olenemata sellest, kas teie organisatsioon taotleb SOC 2 Type II tõendust, ISO 27001 sertifikaati, PCI DSS 4.0 vastavust või joondub AWS-i hea arhitektuuri turvasambaga, on MFA rakendamine kõigile IAM-identiteetidele kohustuslik baasnõue:
| Standard / Vastavusraamistik | Kontrolli spetsifikatsioon | Rangus / Nõue | Auditi kontrollimehhanism |
|---|---|---|---|
| CIS AWS Foundations Benchmark v3.0 | 1.5 / 1.6 / 1.10 | Tase 1 (Kohustuslik) | AWS Security Hub / Prowler automatiseeritud hindamine |
| PCI DSS 4.0 | Nõue 8.4.2 | Kohustuslik | Kaardiandmete keskkonna (CDE) konsooli ja API audit |
| SOC 2 Type II (Trust Criteria) | CC6.1 / CC6.2 | Põhikontroll | Sõltumatu audiitori IAM-i volituste aruannete kontroll |
| AWS Mandatory MFA rakendamine | AWS 2024–2026 poliitika | Platvormi jõustamine | Juurkonto sisselogimise blokeerimine kuni MFA seadistamiseni |
Juurkonto (AWS Root) kaitsmise absoluutne imperatiiv
AWS-i konto piirides esindab juurkonto (Root) kõigeväelist identiteeti, mis luuakse konto loomisel. Erinevalt IAM-i rollidest või kasutajatest ei saa juurkonto tegevusi piirata tavaliste IAM-i identiteedipõhiste poliitikatega ega eraldiseisva konto Service Control poliitikatega.
Kompromiteeritud juurkonto katastroofiline mõjuraadius:
- Pöördumatu konto sulgemine: Ründajad saavad vajutada "Sulge konto" (Close Account), määrates kogu taristu jäädavale hävitamisele.
- Arvelduse ja finantssüsteemi kaaperdamine: Vahetada maksekaarte, suunata arveid ümber ja käivitada sadu GPU spot-instantsi enam kui 30 AWS-i regioonis krüptoraha kaevandamiseks.
- AWS Organizations struktuuri lõhkumine: Eemaldada liikmeskontosid halduspuust, lammutades organisatsiooni vastavusseire.
- Peamiste turvakontaktide muutmine: Juuraadressi ja telefoninumbrite muutmine katkestab jäädavalt AWS-i ametliku toe sekkumisvõimalused.
- Null juur-pääsuvõtit (Access Keys): Kontrollige IAM Credential Reporti ja veenduge, et juurkontol puuduvad programmilised pääsuvõtmed. Kui need on olemas, kustutage need kohe.
- Kahe osapoolega paroolihoidla (Dual-Custody): Genereerige juhuslik 32+ märgiline parool, jagage parool kaheks (nt turvajuhi ja juristi vahel) ning hoidke osi füüsilistes tulekindlates seifides.
- Mitme seadme liiasus (kuni 8 seadet): Registreerige vähemalt kaks füüsilist FIDO2 riistvaravõtit (YubiKey) ning täiendav võrguühenduseta hoitav virtuaalne TOTP varuseade.
MFA valikumaatriks: Virtuaalne TOTP vs riistvaraline FIDO2 (YubiKey)
AWS toetab kolme peamist MFA seadmeklassi. Pilvearhitektid peaksid seadmete valikul lähtuma ohumudelitest ja privileegide tasemest:
Virtuaalsed TOTP rakendused
Standardsed RFC 6238 koodid (Google Authenticator, 1Password, 2FA-Tool). Kiire kasutuselevõtt, riistvarakulud puuduvad. Ideaalne tavalistele arendajatele.
YubiKey 5 seeria
Õngitsuskindel (Phishing-Resistant) krüptograafia. Domeeniga seotud avaliku võtme tõendid tõrjuvad vahendajarünnakuid. Kohustuslik juurkontole ja administraatoritele.
Gemalto / Thalese kaardid
Sõltumatu akuga võrguühenduseta TOTP-kaart LCD-ekraaniga. Hädavajalik suletud turvaruumides (SCIF), kus nutitelefonid ja USB-seadmed on keelatud.
Ettevõtte riistvaraline MFA: FIPS 140-2 tase 3 ja kahe inimese seifiprotokoll:
Suurettevõtete ja kaitsetööstuse taristutes nõuab juurkonto turvalisus spetsiaalseid riistvaralisi seadmeid (nt SafeNet/Gemalto IDPrime seadmed), millel on FIPS 140-2 3. taseme sertifikaat. Erinevalt nutitelefonidest puuduvad neil raadioliidesed ja Bluetooth ning neid ei saa mobiilse nuhkvaraga kompromiteerida.
Füüsiline kahe isiku haldusprintsiip (Dual-Custody): Ettevõtte andmekeskustes nõuab juurkontole ligipääs kahe erineva isiku kohalolu: ühel halduril on peamised e-posti mandaadid, samal ajal kui sõltumatul turvaametnikul on füüsiline võti seifile, kus hoitakse juurkonto riistvaralise seadme võtit. Kumbki osapool ei saa AWS-i juurkontole ligi iseseisvalt.
MFA jõustamine IAM-poliitikates (JSON teostus)
Pilve turvatase ei tohi sõltuda töötajate vabatahtlikkusest. Haldus nõuab poliitika tasemel sundi: kasutajatel ilma aktiivse MFA-ta peavad olema keelatud kõik AWS-i API ja konsooli tegevused, välja arvatud omaenda MFA seadme lisamine.
{
"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"
}
}
}
]
}
Neljas klausel hindab globaalset tingimuse võtit "aws:MultiFactorAuthPresent": "false" otsese käsuga Deny. Kuna otsene keeld kirjutab üle kõik lubavad Allow-klauslid, blokeeritakse ilma MFA-ta seansid koheselt kõigis AWS-i API-des, suunates kasutaja otse MFA registreerimise kuvale.
AWS CLI ja SDK autentimine: STS ajutised seansitõendid
Kui IAM-poliitikad nõuavad rangelt MFA-d, saavad arendajad käske nagu aws s3 ls või Terraformi käivitades veateate AccessDenied. Pikaajalised pääsuvõtmed ei oska interaktiivselt OTP-koode küsida.
Insenerid peavad kasutama teenust AWS STS (Security Token Service), vahetades pikaajalised võtmed ja 6-kohalise TOTP-koodi lühiajaliste mandaatide vastu:
Automatiseerimisskript (aws-mfa-session.sh):
Paigutage see abiskript kohalikku keskkonda (~/.aws/aws-mfa-session.sh), et automatiseerida tõendite hankimist:
# Vaheta AWS pikaajalised võtmed ja MFA kood STS seansitõendi vastu
MFA_ARN="arn:aws:iam::123456789012:mfa/alex-dev"
echo -n "Sisesta 6-kohaline 2FA OTP kood: "
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 "✅ Autenditud! Ajutine seanss eksporditud (kehtib 12 tundi)."
else
echo "❌ Autentimine ebaõnnestus. Kontrolli koodi või seadme kellanihet."
fi
Kontodevaheline AssumeRole koos MFA piirangutega
Mitme kontoga ettevõttearhitektuurides autendivad privilegeeritud insenerid end tavaliselt kesksesse identiteedikontosse ning võtavad sihtkontodes (toodang, testkeskkond) rolli käsu sts:AssumeRole abil. Tagamaks, et lekkinud mandaatidega ei saa toodanguõigusi üle võtta, peab sihtrolli usaldussuhe nõudma MFA tingimust:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
}
]
}
See arhitektuuriline muster tagab, et isegi kui ründaja kompromiteerib mandaadid keskses identiteedikontos, toob katse sihtrolli ilma MFA-ta üle võtta kaasa kohese AccessDenied vea turvatõendi piiril.
CloudTraili audit ja EventBridge'i reaalajas teavitused
Automaatne vastavuskontroll nõuab kohest tuvastamist, kui mõni kasutaja logib AWS Management Console'i sisse ilma mitmikautentimiseta. Püüdes kinni AWS CloudTraili sündmused ja suunates need läbi Amazon EventBridge'i, saavad turvameeskonnad reaalajas hoiatusi:
{
"source": ["aws.signin"],
"detail-type": ["AWS Console Sign In via CloudTrail"],
"detail": {
"eventName": ["ConsoleLogin"],
"additionalEventData": {
"MFAUsed": ["No"]
}
}
}
Sündmuse laekumisel saab EventBridge käivitada Amazon SNS-i teavituse turvameeskonna (SOC) valvele või kutsuda välja AWS Lambda funktsiooni, mis tühistab koheselt aktiivse IAM-kasutaja seansi.
Haldus mitme konto korral: AWS Organizations ja IAM Identity Center
Ettevõtetes, kus hallatakse kümneid või sadu AWS-i kontosid Landing Zone'ides, on eraldiseisvate IAM-kasutajate loomine igas kontos halb turvapraktika (anti-pattern).
Tsentraliseeritud identiteetide föderatsioon:
Võtke juhtimiskontos (Management Account) kasutusele AWS IAM Identity Center (endine AWS SSO). Ühendage identiteedid ettevõtte IdP-ga (Okta, Microsoft Entra ID, PingFederate). Jõustage ettevõtte tasemel MFA IdP kihis ning siduge Service Control Poliitikad (SCP) organisatsiooni juure tasemel, et keelata liikmeskontode juurtoimingud:
"Condition": { "StringLike": { "aws:PrincipalArn": ["arn:aws:iam::*:root"] } }
Tootmistaseme SCP: MFA piirangute jõustamine kõigil liikmeskontodel
Suurtes organisatsioonides võivad kohalikud administraatorid kogemata anda liigseid õigusi. Lisades Service Control Poliitika (SCP) organisatsiooni juure või organisatsiooniüksuse (OU) tasemele, kehtestab juhtmeeskond kindla kaitsevalli: kriitilised API-kutsed lükatakse tingimusteta tagasi, kui seanss pole autenditud aktiivse MFA-ga:
{
"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"
}
}
}
]
}
Rollide aheldamine (Role Chaining) ja STS-tõendi piirangud:
Kui IAM-i identiteet võtab vahepealse rolli, mis omakorda võtab järgmise rolli ("rollide aheldamine"), eemaldab AWS STS esialgse konteksti aws:MultiFactorAuthPresent teisese seansi tõendist! Range turvanõuete tagamiseks kontodevahelistes lahendustes looge rollide ülevõtmise ahelad otse autenditud IAM Identity Centeri seansist, mitte mitut vaherolli järjest aheldades.
Avariitaaste: kaotatud juurkonto MFA seadme protokoll
Mis saab siis, kui kõik registreeritud juurkonto riistvaravõtmed ja virtuaalsed seadmed hävivad ettenägematus õnnetuses?
Ametlik kanaliväline taasteprotseduur (Out-of-Band Recovery):
- Alusta juurkontoga sisselogimist: Sisestage AWS-i konsoolis juurkonto e-post ja põhiparool.
- MFA tõrkeotsing: Klõpsake MFA koodi küsimise kuval lingile "Troubleshoot MFA" (Lahenda MFA probleem).
- Esmane e-posti kinnitus: AWS saadab ajaliselt piiratud kinnituslingi juurkonto peamisele e-posti aadressile. Avage ja kinnitage see link.
- Automaatne kõnekinnitus: Klõpsake "Call me now" (Helista mulle nüüd). AWS-i automaatsüsteem helistab kontol registreeritud telefoninumbrile ja edastab 6-kohalise PIN-koodi.
Kui teie ettevõte vahetas telefoninumbreid või kontaktisik lahkus töölt ilma AWS-i konto seadeid uuendamata, luhtub automaatne taastamine. Käsitsi lahendamine nõuab ametlike notariaalsete ettevõtte dokumentide esitamist AWS Trust & Safety meeskonnale, mis võtab aega 3–7 tööpäeva.
Ettevõtte pilvearhitekti KKK
Kas AWS-i juurkonto MFA seadmeid tohib jagada terve DevOps meeskonna vahel? ▼
Rangelt keelatud. Juurkonto MFA mandaatide jagamine kukutab läbi kõik vastavusauditid (SOC 2, ISO 27001). Igapäevane haldus peab toimuma läbi IAM Identity Centeri rollide personaalse vastutusega. Juurkonto mandaadid peavad jääma füüsilisse kahe isiku seifi vaid erakorralisteks hädaolukordadeks.
Kuidas tingimusvõti aws:MultiFactorAuthAge suurendab turvalisust? ▼
See võti kontrollib seansi värskust. Konfigureerides tingimuse "NumericLessThan": {"aws:MultiFactorAuthAge": "3600"}, nõutakse, et MFA kood oleks esitatud viimase 3600 sekundi (1 tunni) jooksul. Kõrge riskiga toimingud (nt RDS-andmebaasi klastri kustutamine) blokeeritakse, kui seanss on sellest vanem, kaitstes pikaajaliste seansside kaaperdamise eest.
Kas ma saan kasutada 2FA-Tooli veebiautentijat AWS-i virtuaalse MFA seadistamiseks? ▼
Jah. AWS-i virtuaalne MFA järgib rangelt RFC 6238 TOTP spetsifikatsiooni (HMAC-SHA1, 30-sekundiline aken, 6 numbrit). Võite sisestada Base32 salavõtme lehel 2FA-Tool.com, et genereerida registreerimisel nõutavad kaks järjestikust kinnituskoodi 100% lokaalselt oma brauseris.
Testi ettevõtte TOTP-koode turvaliselt
Genereeri standardseid RFC 6238 TOTP kinnituskoode koheselt W3C Web Crypto API abil. Puuduvad serveripäringud, absoluutne mälupõhine isoleeritus, null andmeleket.