Awesome Application Security Checklist
1.0.0
Jika Anda mendesain, membuat, menguji aplikasi web/seluler Anda dengan mempertimbangkan keamanan, daftar periksa tindakan kontra ini bisa menjadi titik awal yang baik
Bcrypt (tidak perlu garam - Bcrypt melakukannya untuk Anda). logout . state di OAuth2. OTP seluler, jangan kirim OTP kembali dalam respons saat generate OTP atau Resend OTP dipanggil. Login , Verify OTP , Resend OTP dan generate OTP API untuk pengguna tertentu. Memiliki set backoff eksponensial atau/dan sesuatu seperti tantangan berbasis captcha. my cart , my history harus memeriksa kepemilikan pengguna atas sumber daya menggunakan ID sesi. /me/orders bukan /user/37153/orders . Ini bertindak sebagai cek kewarasan jika Anda lupa memeriksa token otorisasi. Edit email/phone number harus disertai dengan email verifikasi kepada pemilik akun. Profile photo upload harus membersihkan semua tag EXIF juga jika tidak diperlukan. UUID yang sesuai dengan RFC, bukan bilangan bulat. Anda dapat menemukan implementasi untuk ini untuk bahasa Anda di GitHub. salt dari gateway pembayaran tidak boleh dihitung. secret / auth token dari Pihak Ketiga SDK tidak boleh dimodelkan. server to server tidak boleh dilakukan dari aplikasi. Add header CSP untuk mengurangi XSS dan serangan injeksi data. Ini penting. Add header CSRF untuk mencegah pemalsuan permintaan lintas situs. Tambahkan juga atribut Samesite pada cookie. Add header HSTS untuk mencegah serangan stripping SSL. Add domain Anda ke daftar preload HSTS Add opsi X-frame untuk melindungi dari clickjacking. Add header perlindungan X-XSS untuk mengurangi serangan XSS. Sanitize semua input pengguna atau parameter input apa pun yang terpapar kepada pengguna untuk mencegah XSS. Sanitize input pengguna untuk kasus khusus seperti robot.txt sebagai nama profil jika Anda menggunakan pola URL seperti coolcorp.io/username. open ports publik yang tidak diinginkan. databases terutama MongoDB & Redis. Audit CI & CD Desain dan implementasi Anda dengan cakupan unit/integrasi tes. Gunakan proses peninjauan kode dan abaikan persetujuan diri. Pastikan bahwa semua komponen layanan Anda dipindai secara statis oleh perangkat lunak AV sebelum mendorong produksi, termasuk perpustakaan vendor dan dependensi lainnya. Rancang solusi rollback untuk penyebaran.