تشخیص نادرست زیرساخت ها با استفاده از Coguard: Sast for Terraform و IAC

مقدمه
زیرساخت ها به عنوان کد (IAC) یک رویکرد مدرن برای تهیه زیرساخت های ابری با استفاده از ابزاری مانند Terraform ، Pulumi یا Opentofu است. این فن آوری ها مقیاس پذیری ، تکرارپذیری و اتوماسیون را بهبود می بخشند – اما در صورت عدم تنظیم کد می توانند خطرات امنیتی را نیز معرفی کنند. به عنوان مثال ، قرار دادن یک سطل S3 در معرض دید عموم یا غیرفعال کردن رمزگذاری می تواند منجر به نقض جدی داده شود.
در این مقاله معرفی شده است قصبه، یک ابزار تست امنیتی کاربردی استاتیک (SAST) که به طور خاص برای تجزیه و تحلیل پرونده های پیکربندی مورد استفاده در کد زیرساخت طراحی شده است. ما نحوه اسکن کد Terraform ، تفسیر نتایج و خودکار سازی فرآیند اسکن را در یک گردش کار CI/CD نشان می دهیم.
Coguard چیست؟
قصبه یک ابزار تجزیه و تحلیل استاتیک خط فرمان برای امنیت پیکربندی زیرساخت است. این پیش فرض ها و غلط های نادرست را قبل از استقرار تشخیص می دهد و یافته های خود را با چارچوب های امنیتی مانند: تراز می کند:
- معیارهای CIS
- OWASP Cloud-Native 10 برتر
- سیاست های امنیتی داخلی
این از انواع قالب های IAC و پیکربندی سیستم پشتیبانی می کند ، از جمله:
- شکل
- kubernetes yaml
- دکترهای
- شکل ابری
- پیکربندی های Apache/nginx
- postgresql ، mysql
- SSH ، خدمات لینوکس
بر خلاف ابزارهای SAST با هدف کلی که کد منبع را برای نقص های منطقی تجزیه و تحلیل می کنند ، Coguard بر زیرساخت ها و غلط های نادرست در سطح سیستم ، مانند ACL های ضعیف ، رمزگذاری گمشده و درگاه های شبکه باز تمرکز دارد.
ویژگی های کلیدی
- کل دایرکتوری ها را برای پرونده های زیرساخت غلط تنظیم شده اسکن می کند
- مسائل مربوط به میزان شدت و مشاوره اصلاح را برجسته می کند
- یافته های نقشه به استانداردهای امنیتی شناخته شده (به عنوان مثال ، CIS ، OWASP)
- گزارش های مفصلی را با فرمت ترمینال یا SARIF تهیه می کند
- با ابزارهای CI/CD مانند اقدامات GitHub یا Gitlab CI ادغام می شود
نصب و اسکن اول
مرحله 1: تصویر Docker را بکشید
docker pull coguard/coguard-cli
مرحله 2: اسکن را در پروژه Terraform خود اجرا کنید
اطمینان حاصل کنید که در فهرست پروژه Terraform خود هستید و اجرا می کنید:
docker run --rm -v $(pwd):/mnt coguard/coguard-cli scan /mnt
این دستور پروژه محلی شما را نصب می کند و تمام پرونده های پیکربندی زیرساخت را در داخل آن اسکن می کند. Coguard گزارشی را نشان می دهد که نشان دهنده هرگونه سوء استفاده ، شدت آنها و توصیه های اصلاح است.
اگر یک رابط کاربری گرافیکی را ترجیح می دهید ، می توانید برای بارگذاری و تجزیه و تحلیل پرونده های پیکربندی نیز از پلت فرم وب Coguard استفاده کنید.
مثال: کد Terraform آسیب پذیر
در اینجا یک عمداً ناامن است main.tf
پرونده:
resource "aws_s3_bucket" "example" {
bucket = "open-bucket"
acl = "public-read"
}
آنچه Coguard تشخیص می دهد:
-
دسترسی عمومی: ACL
public-read
سطل را در دسترس هر کسی قرار می دهد. - بدون رمزگذاری: هیچ پیکربندی رمزگذاری برای داده ها در حالت استراحت وجود ندارد.
- نسخه از دست رفته: هیچ خط مشی نسخه ای فعال نیست.
این مسائل با شدت آنها گزارش شده و مطابق با استانداردهایی مانند معیار بنیادهای CIS AWS V1.4 وت برنامه OWASP Cloud-Native Security 10 برتربشر
ادغام CI/CD
شما می توانید Coguard را در گردش کار استقرار خود با استفاده از اقدامات GitHub ادغام کنید:
name: CoGuard Terraform Scan
on:
push:
branches: [ "main" ]
jobs:
coguard-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Run CoGuard
run: |
docker pull coguard/coguard-cli
docker run --rm -v ${{ github.workspace }}:/mnt coguard/coguard-cli scan /mnt
صادر کردن گزارش های Sarif
برای ادغام با داشبورد امنیتی GitHub می توانید نتایج SARIF را صادر کنید:
docker run --rm -v $(pwd):/mnt coguard/coguard-cli scan /mnt --output-format sarif > report.sarif
نتایج و تفسیر
در یک اسکن نمونه ، Coguard تشخیص داد:
- 3 موضوع با جدایی بالا (به عنوان مثال ، سطل S3 عمومی ، ذخیره بدون رمزگذاری)
- 2 مسئله مربوط به افزایش متوسط (به عنوان مثال ، ورود به سیستم از دست رفته)
- 1 مسئله کم سن و سال (به عنوان مثال ، برچسب های ابرداده از دست رفته)
هر نتیجه شامل نام پرونده ، شماره خط و راهنمایی اصلاح روشنی است.
نتیجه گیری
Coguard ابزاری قابل اعتماد SAST است که برای زیرساخت ها به عنوان کد متناسب است. نقاط قوت آن عبارتند از:
- تشخیص زودهنگام از سوء استفاده از ابر
- تراز کردن با معیارهای امنیتی مانند CIS و OWASP
- تنظیم آسان با استفاده از Docker
- ادغام CI/CD بدون درز
- گزارش تولید برای ممیزی و داشبورد
با ادغام Coguard ، تیم ها می توانند زیرساخت های ایمن و سازگار را حتی قبل از استقرار تضمین کنند.
منابع