Öncelikle Amazon AWS tarafındaki terraform modülünün ne kadar boktan olduğunu DevOps ile uğraşanları tamamı bilir. Modüller olmasa birisi hayrına bazı şeyleri yazmamış olsa 500 türlü takla atmak gerekiyor bir işi yapmak için. Bugün sizlere Route53 üzerinde Terraform ile DNSSEC aktivasyonunu göstericem. Bazıları bunları önemsemiyor veya alan adları farklı sağlayıcılarda olduğu için kullanmıyorlar.
Ama DNSSEC ciddi anlamda sizi DNS üzerinden gelecek saldırılarından korur. Bu korumayı sadece DDoS olarak düşünmeyin, DNSSEC Nedir? bir bakın sonra aktifleştirmek isteyebilirsiniz.
Kullanılacak olan public zone ayarlıyoruz.
resource "aws_route53_zone" "mertcangokgoz_public" {
name = "mertcangokgoz.com"
comment = "Managed by Terraform"
lifecycle {
prevent_destroy = true
}
}
HCLalt yapınız için dnssec.tf
adında bir dosya oluşturun ve içerisine aşağıdaki tanımlamaları yapın.
resource "aws_kms_key" "mertcangokgoz_dnssec_key" {
customer_master_key_spec = "ECC_NIST_P256"
key_usage = "SIGN_VERIFY"
policy = jsonencode({
Statement = [
{
Action = [
"kms:DescribeKey",
"kms:GetPublicKey",
"kms:Sign",
"kms:Verify",
],
Effect = "Allow"
Principal = {
Service = "dnssec-route53.amazonaws.com"
}
Resource = "*"
Sid = "Allow Route 53 DNSSEC Service",
},
{
Action = "kms:*"
Effect = "Allow"
Principal = {
AWS = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:root"
}
Resource = "*"
Sid = "Enable IAM User Permissions"
},
]
Version = "2012-10-17"
})
provider = aws.us-east-1
}
resource "aws_route53_key_signing_key" "mertcangokgoz" {
hosted_zone_id = aws_route53_zone.mertcangokgoz_public.id
key_management_service_arn = aws_kms_key.mertcangokgoz_dnssec_key.arn
name = "mertcangokgoz"
provider = aws.us-east-1
}
resource "aws_route53_hosted_zone_dnssec" "mertcangokgoz" {
depends_on = [
aws_route53_key_signing_key.mertcangokgoz
]
hosted_zone_id = aws_route53_key_signing_key.mertcangokgoz.hosted_zone_id
provider = aws.us-east-1
}
HCLGeçerli olması için terraform ile tetikliyoruz ve değişiklikleri uyguluyoruz.
terraform plan
terraform apply -auto-approve
ShellScript