Har du ikke nok ressurser til å sette opp en sikkerhetsavdeling, men ønsker å holde oversikt over AWS CloudTrail-hendelsene dine? Finn ut hvordan CloudTrail-to-Slack Terraform-modulen fra FivexL løser dette problemet for startups og små team.

Terraform-modul for AWS CloudTrail — Et effektivt sikkerhetsverktøy Lenke til overskrift

Mens store selskaper har egne Security Operations Centers (SOCs) ansvarlige for informasjonssikkerhet og har råd til dyre løsninger, har startups vanligvis ikke nok ressurser og tid til å sette opp en slik luksus. Derfor må de lete etter enkle sikkerhetsløsninger for å beskytte dataene sine. Med forståelse for begrensede ressurser utviklet FivexL Cloudtrail-to-Slack Terraform-modulen.

Modulen jobber med data samlet inn fra AWS CloudTrail og sender varsler til Slack for å holde deg oppdatert på hva som skjer i CloudTrail praktisk talt i sanntid. Tenk på det som et overvåkningskamera som ikke overvåkes konstant, men varsler deg hvis noe mistenkelig skjer — for eksempel hvis en fremmed beveger seg nær inngangsdøren din.

Hva er AWS CloudTrail? Lenke til overskrift

La oss kort diskutere AWS CloudTrail. AWS CloudTrail er en AWS-tjeneste som hjelper deg med å muliggjøre styring, samsvar, operasjonell og risikorevisjon av AWS-kontoen din. Handlinger utført av en bruker, rolle eller en AWS-tjeneste blir registrert som hendelser i CloudTrail. Hendelser inkluderer handlinger utført i AWS Management Console, AWS Command Line Interface og AWS SDKs og APIer. Mer info: What is CloudTrail?

Innsikt i denne typen data er et nøkkel-element i bedriftsikkerhet, da du kan identifisere hvem som gjorde hva, når, hvor og hvordan, samt hvilke ressurser som ble brukt. Som et resultat kan du alltid holde oversikt over hva som skjer i Amazon Console for å rette opp feilkonfigurasjoner i tide og forhindre innbrudd. På den ene siden har du all data for å sikre sikkerheten din, på den andre siden er du fortsatt et lett mål for cyberkriminelle. Her er noen grunner til det:

For mange hendelser til å holde oversikt over manuelt Lenke til overskrift

Selv en startup eller et lite team vil ha mange logger å overvåke. Derfor kan du lett gå glipp av en viktig hendelse som fortjener oppmerksomhet. For eksempel kan du overse mislykkede API-kall på grunn av manglende tillatelse, noe som kan indikere feil i operasjonsoppsettet eller innbrudd. Mens du i det første tilfellet bare trenger å fjerne feilkonfigurasjoner, må du i det siste forhindre et cyberangrep som kan koste deg virksomheten.

Tenk deg at du bruker en root-bruker for å logge inn i Amazon Console. Cyberkriminelle kan stjele dine statiske legitimasjoner, endre passord og i praksis stjele dataene dine, sammen med virksomheten. Vi anbefaler å bruke Single Sign-on (SSO) eller Identity and Access Management (IAM), sammen med multifaktorautentisering (MFA). På denne måten vil legitimasjonene dine utløpe innen en viss tidsperiode, noe som gir en kort mulighetsvindu for en hacker.

Kompliserte og vanskelige CloudWatch-varsler å forstå Lenke til overskrift

Du kan sette opp varsler fra CloudWatch som sender e-postvarsler hvis noen mistenkelige hendelser registreres. Men vær forberedt på å bruke mye tid og krefter på å sette dem opp og forstå dem.

Hold deg oppdatert på CloudTrail-hendelsene dine enkelt med CloudTrail-to-Slack Terraform-modulen Lenke til overskrift

Å sende varsler om AWS CloudTrail-hendelser til Slack er en nyttig funksjon for startups implementert i Cloudtrail-to-Slack Terraform-modulen fra FivexL. Vi har bygget en Python-basert Lambda som analyserer alle registrerte hendelser i CloudTrails og sender varsler til Slack hvis de kategoriseres som mistenkelige logger i henhold til regler. Levering av Lambda til AWS er allerede et løst problem, og vi valgte å bruke open source-modulen fra Terraform AWS Modules. Så dette er en ferdig, fleksibel CloudTrail-to-Slack Terraform-modul. Du trenger bare å sette den opp på et par sekunder, og følgende varsler vil bli sendt til Slack-kanalen din:

  • Aktiviteter utført av en root-konto
  • Mislykkede API-kall, og mistenkelige
  • Konsollinnlogginger uten MFA
  • Sensitive hendelser som IAM, nettverk og endringer i datalagringstilgang

FirstImage

Som et resultat er du alltid klar over om noe rart skjer i AWS Console uten å investere ekstra tid og krefter. Chief Cloud Economist hos The Duckbill Group, Corey Quinn, som hjelper selskaper med å redusere AWS-regningene sine, nevnte modulen i sin podcast dedikert til sikkerhetsbevissthetstrening: «Jeg fant en Terraform-modul som deploy Lambda for å overvåke CloudTrail og rapportere til Slack – skjønte du det? Herregud – når visse ting skjer. Disse tingene inkluderer root-innlogginger, konsollinnlogginger uten MFA, API-kall som feilet på grunn av manglende tillatelser, og mer. Dette kan bli støyende, men jeg ville vurdert å deploye i det minste de store viktige». Dette gjør modulen verdt å følge med på.

Vennligst merk: det er en omtrentlig forsinkelse på 5-10 minutter i varsellevering fordi nåværende versjon er bygget på parsing av S3-varsler.

CloudTrail-to-Slack Terraform-modulens funksjoner Lenke til overskrift

I tillegg til å la startups holde oversikt over CloudTrail-hendelser, gir Terraform-modulen startups fleksibilitet. Her er hovedfordelene:

Justerbare ferdiglagde regler Lenke til overskrift

Startups er kjent for å ha lite eller ingen tid på grunn av begrensede menneskelige ressurser. For å lette moduloppsettet finnes det et sett med standardregler; de er Python-strenger som evalueres under kjøretid og er designet for å returnere boolsk verdi. CloudTrail-hendelsen flates ut før behandling og bør refereres til som en event-variabel.

Regler kan også ignoreres. I dette tilfellet ignoreres en hendelse av Lambda, og det sendes ikke noe varsel til Slack. «Ignore rules» har samme syntaks som standardreglene. Men det anbefales sterkt å fikse varsler i stedet for å ignorere dem. Denne tilnærmingen bør kun brukes når det ikke er mulig å fikse varselet. Slik kan du gjøre det.

locals {
  cloudtrail_ignore_rules = [
      "'userIdentity.accountId' in event and event['userIdentity.accountId'] == '11111111111'",
    ]
}
# we recomend storing hook url in SSM Parameter store and not commit it to the repo
data "aws_ssm_parameter" "hook" {
  name = "/cloudtrail-to-slack/hook"
}
module "cloudtrail_to_slack" {
  source                         = "fivexl/cloudtrail-to-slack/aws"
  version                        = "2.3.0"
  default_slack_hook_url         = data.aws_ssm_parameter.hook.value
  cloudtrail_logs_s3_bucket_name = aws_s3_bucket.cloudtrail.id
  ignore_rules                   = join(",", local.cloudtrail_ignore_rules)
}

Tilpasning av varsler Lenke til overskrift

Du ønsker kanskje ikke at alle teammedlemmer skal motta sikkerhetsvarsler fra Terraform-modulen. Noen kan bruke informasjonen til sin fordel, mens andre bare kan bli overveldet med mengder av irrelevante varsler, noe som forstyrrer produktiviteten og ikke er økonomisk for en startup. Derfor gir modulen mulighet til å tilpasse varsler. For eksempel kan de sendes til forskjellige Slack-kanaler for ulike kontoer i henhold til event account ID.

Brukerdefinerte regler for å matche hendelser Lenke til overskrift

Hvis standardreglene ikke dekker alle dine behov, kan du sette opp brukerdefinerte regler for å ha kontroll over hva som skjer i CloudTrail. Slik deployer du modulen med en liste over hendelser som er nødvendige å spore.

data "aws_ssm_parameter" "hook" {
  name = "/cloudtrail-to-slack/hook"
}
locals {
  # CloudTrail events
  cloudtrail = "DeleteTrail,StopLogging,UpdateTrail"
  # EC2 Instance connect and EC2 events
  ec2 = "SendSSHPublicKey"
  # Config
  config = "DeleteConfigRule,DeleteConfigurationRecorder,DeleteDeliveryChannel,DeleteEvaluationResults"
  # All events
  events_to_track = "${local.cloudtrail},${local.ec2},${local.config}"
}

module "cloudtrail_to_slack" {
  source                         = "fivexl/cloudtrail-to-slack/aws"
  version                        = "2.0.0"
  default_slack_hook_url         = data.aws_ssm_parameter.hook.value
  cloudtrail_logs_s3_bucket_name = aws_s3_bucket.cloudtrail.id
  events_to_track                = local.events_to_track
}

resource "aws_cloudtrail" "main" {
  name           = "main"
  s3_bucket_name = aws_s3_bucket.cloudtrail.id
  ...
}
resource "aws_s3_bucket" "cloudtrail" {
  ....
}

Konklusjon Lenke til overskrift

FivexL Cloudtrail-to-Slack Terraform-modulen er et enkelt verktøy for deg til å holde oversikt over CloudTrail-hendelsene dine og sikre at Amazon Console er trygg og riktig konfigurert. Du kan bli varslet om handlinger utført av en root-konto, mislykkede API-tillatelser og konsollinnlogginger uten MFA. I tillegg kan du spesifisere hvilke sensitive hendelser du ønsker å spore, sette opp nye regler for å utvide overvåkingen utover standardreglene, og justere hvem som mottar varslene. For mer informasjon om Cloudtrail-to-Slack Terraform-modulen, vennligst sjekk ut FivexLs GitHub.

Som et resultat kan startups og små team fokusere på kjernevirksomheten mens de er sikre på at dataene og virksomheten deres er trygge. Men hvis CloudTrail registrerer for mange hendelser, kan FivexL Terraform-modulen være utilstrekkelig.