Breaking

Tuesday, November 17, 2020

Tfsec - Pemindai Keamanan Untuk Kode Terraform Anda

 Kang IT


Tfsec - Pemindai Keamanan Untuk Kode Terraform Anda



tfsec menggunakan analisis statis template terraform Anda untuk menemukan potensi masalah keamanan. Sekarang dengan dukungan terraform v0.12 +.


Contoh Output



Instalasi

Instal dengan brew / linuxbrew:

brew install tfsec

Instal dengan Chocolatey:

choco install tfsec

Anda juga dapat mengambil biner untuk sistem Anda dari halaman rilis .

Atau, instal dengan Go:


Pemakaian

tfsec akan memindai direktori yang ditentukan. Jika tidak ada direktori yang ditentukan, direktori kerja saat ini akan digunakan.

Status keluar akan menjadi bukan nol jika tfsec menemukan masalah, jika tidak, status keluar akan menjadi nol.

tfsec .


Gunakan dengan Docker

Sebagai alternatif untuk menginstal dan menjalankan tfsec di sistem Anda, Anda dapat menjalankan tfsec di container Docker.

Untuk berlari:

docker run --rm -it -v "$(pwd):/src" liamg/tfsec /src


Gunakan sebagai Aksi GitHub

Jika Anda ingin menjalankan tfsec di repositori Anda sebagai Tindakan GitHub, Anda dapat menggunakan https://github.com/triat/terraform-security-scan .


fitur

  • Memeriksa penyertaan data sensitif di semua penyedia
  • Memeriksa pelanggaran rekomendasi praktik terbaik keamanan AWS, Azure, dan GCP
  • Memindai modul (saat ini hanya modul lokal yang didukung)
  • Mengevaluasi ekspresi serta nilai literal
  • Mengevaluasi fungsi Terraform misalnyaconcat()


Mengabaikan Peringatan

Anda mungkin ingin mengabaikan beberapa peringatan. Jika Anda ingin melakukannya, Anda cukup menambahkan komentar yang berisi tfsec:ignore:<RULE>baris yang menyinggung di template Anda. Jika masalah mengacu pada blok kode, seperti string multiline, Anda dapat menambahkan komentar pada baris di atas blok itu sendiri.

Misalnya, untuk mengabaikan aturan grup keamanan terbuka:

resource "aws_security_group_rule" "my-rule" {
type = "ingress"
cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:AWS006
}

...atau...

resource "aws_security_group_rule" "my-rule" {
type = "ingress"
#tfsec:ignore:AWS006
cidr_blocks = ["0.0.0.0/0"]
}

Jika Anda tidak yakin baris mana untuk menambahkan komentar, cukup periksa keluaran tfsec untuk nomor baris masalah yang ditemukan.


Nonaktifkan pemeriksaan

Anda mungkin ingin mengecualikan beberapa pemeriksaan agar tidak berjalan. Jika Anda ingin melakukannya, Anda cukup menambahkan argumen baru -e CHECK1,CHECK2,etcke perintah cmd Anda

tfsec . -e GEN001,GCP001,GCP002


Menyertakan nilai dari .tfvars

Anda dapat menyertakan nilai-nilai dari file tfvars di scan, menggunakan, misalnya: --tfvars-file terraform.tfvars.


Cek yang Disertakan

Pemeriksaan saat ini terbatas pada resource AWS / Azure / GCP, tetapi ada juga pemeriksaan yang merupakan penyedia agnostik.

Cek
Pemeriksaan AWS
Pemeriksaan Azure
Pemeriksaan GCP
Pemeriksaan Umum


Berjalan di CI

tfsec dirancang untuk dijalankan pada pipeline CI. Karena alasan ini, ia akan keluar dengan kode keluar bukan nol jika potensi masalah terdeteksi. Anda mungkin ingin menjalankan tfsec sebagai bagian dari build Anda tanpa keluaran berwarna. Anda dapat melakukan ini menggunakan --no-colour(atau --no-coloruntuk teman Amerika kami).


Opsi keluaran

Anda dapat mengeluarkan hasil tfsec sebagai JSON, CSV, Checkstyle, Sarif, JUnit atau hanya format biasa yang dapat dibaca manusia. Gunakan --formatbendera untuk menentukan format yang Anda inginkan.


Peringatan Keamanan Github

Jika Anda ingin berintegrasi dengan peringatan Keamanan Github dan menyertakan output dari pemeriksaan tfsec Anda, Anda dapat menggunakan tindakan Github tfsec-sarif- action untuk menjalankan analisis statis kemudian mengunggah hasilnya ke tab peringatan keamanan.

Peringatan yang dihasilkan untuk proyek-contoh-tfsec terlihat seperti ini.


 

Saat Anda mengklik melalui peringatan untuk cabang, Anda mendapatkan lebih banyak informasi tentang masalah sebenarnya.


 

Untuk informasi lebih lanjut tentang menambahkan peringatan keamanan, periksa


Dukungan untuk versi terraform yang lebih lama

Jika Anda perlu mendukung versi terraform yang menggunakan HCL v1 (terraform <0.12), Anda dapat menggunakan v0.1.3tfsec, walaupun dukungannya sangat terbatas dan pemeriksaannya lebih sedikit.




Regards

dr. Muhammad Sobri Maulana

No comments:

Post a Comment