Bila anda menggunakan laptop kantor dan di MITM SSL-nya, maka akan sering menemukan pesan di CLI
SSL validation failed for https://sts.amazonaws.com [SSL_CERTIFICATE_FAILED] certificate verify failed: unamble to get issuer certificate connectionpool.py:1004: InsecureRequestWarning: Unverified HTTPS request is being made to host 'xx.xx.xx.xx'. Adding certificate verification is strongly advised urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'sts.eu-west-2.amazonaws.com'. Adding certificate verification is strongly advised.
Solusi yang biasa digunakan adalah menambahkan --no-verify-ssl
, contoh
aws sts get-caller-identity --no-verify-ssl
hal ini hanya bersifat sementara, karena masih akan tetap menampilkan informasi “Unverified HTTPS request”
Masalah ini terjadi karena CA yang digunakan belum dikenali oleh AWS CLI (Python), solusinya adalah menambahkan manual root CA, melalui environment variable
AWS_CA_BUNDLE REQUESTS_CA_BUNDLE
Pertama download terlebih dahulu root CA tersebut, apapun domain yang digunakan tidak masalah, karena otomatis akan di inject (SSL interception) oleh proxy. Sebagai contoh kita akan menggunakan sts.amazonaws.com
openssl s_client -servername sts.amazonaws.com -connect sts.amazonaws.com:443 -showcerts </dev/null 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
Simpan file tersebut ke file /home/jaranguda/root.ca
, lalu tambahkan di dalam ~/.bashrc
export AWS_CA_BUNDLE=/home/jaranguda/root.ca export REQUESTS_CA_BUNDLE=/home/jaranguda/root.ca
reload configurasi bashrc
source ~/.bashrc
cek apakan kedua variable tersebut sudah diload dengan env | grep -E CA_BUNDLE
$ env | grep -E CA_BUNDLE REQUESTS_CA_BUNDLE=/home/jaranguda/root.ca AWS_CA_BUNDLE=/home/jaranguda/root.ca
terakhir jalankan kembali AWS CLI, contoh
aws sts get-caller-identity
informasi unverified HTTPS sudah tidak muncul lagi.