API (Application Programming Interfaces) нь орчин үеийн програм хангамжийн хөгжүүлэлтийн үндэс болж, янз бүрийн систем, үйлчилгээний хооронд саадгүй харилцах боломжийг олгодог. Гэсэн хэдий ч API-ийн зохисгүй хамгаалалт нь ноцтой эмзэг байдалд хүргэж, эмзэг өгөгдлийг ил гаргаж, бүхэл бүтэн аппликешнүүдийг эвдэх аюултай.

1. Баталгаажуулалт ба Зөвшөөрөл сул
Алдаа:
Зөвшөөрөх механизмгүй энгийн API түлхүүрүүдэд найдах эсвэл баталгаажуулалтын сул протоколуудыг ашиглах нь API-г зөвшөөрөлгүй хандалтад өртөмтгий болгодог.
Хэрхэн зайлсхийх вэ:
OAuth 2.0 эсвэл JWT (JSON Web Tokens) зэрэг баталгаажуулалтын хүчирхэг аргуудыг хэрэгжүүлээрэй.
Баталгаажсан хэрэглэгчид тодорхой үйлдэл хийх зөвшөөрөлтэй эсэхийг шалгахын тулд зохих зөвшөөрлийн шалгалтыг хийж байгаа эсэхийг шалгаарай.
Кодын сандаа API түлхүүр эсвэл токенуудыг хатуу кодлохоос зайлсхий.
2. Шифрлэлтийн дутагдал
Алдаа:
Шифрлэгдээгүй сувгуудаар (HTTP-ийн оронд HTTPS) нууц мэдээллийг дамжуулах нь халдагчид түүнийг таслан зогсооход хүргэдэг.
Хэрхэн зайлсхийх вэ:
Дамжуулж буй өгөгдлийг шифрлэхийн тулд үргэлж HTTPS ашиглана уу.
Өндөр нууцлалтай мэдээллийн төгсгөлөөс төгсгөл хүртэл шифрлэлтийг хэрэгжүүл.
Хүчтэй шифрлэлтийн стандартыг хадгалахын тулд SSL/TLS сертификатуудыг тогтмол шинэчилж байгаарай.

3. Тохиромжгүй хурдыг хязгаарлах
Алдаа:
Хурдны хязгаарлалтыг хэрэгжүүлэхгүй байх нь халдагчдад аюултай халдлага хийх эсвэл API-г хэт их хүсэлтээр хэт ачаалах боломжийг олгодог бөгөөд энэ нь үйлчилгээнээс татгалзах (DoS) нөхцөл байдалд хүргэдэг.
Хэрхэн зайлсхийх вэ:
Нэг хэрэглэгч эсвэл IP хаягаас ирсэн хүсэлтийн тоог хянахын тулд хурдыг хязгаарлах, багасгах арга техникийг ашиглана уу.
Замын хөдөлгөөнийг үр дүнтэй удирдах, хэвийн бус хэв маягийг илрүүлэхийн тулд API гарцуудыг хэрэгжүүлээрэй.

4. Оролтын баталгаажуулалт муу
Алдаа:
Хэрэглэгчийн оруулсан мэдээллийг баталгаажуулахыг үл тоомсорлох нь халдагчид эмзэг байдлыг ашиглахын тулд API хүсэлтийг удирдан чиглүүлдэг injection халдлагад (жишээ нь, SQL injection, command injection) хүргэж болно.
Хэрхэн зайлсхийх вэ:
Оролтын баталгаажуулалтыг үйлчлүүлэгч болон серверийн аль алинд нь хэрэгжүүлэх.
SQL injection хийхээс сэргийлэхийн тулд параметржүүлсэн асуулга болон бэлтгэсэн мэдэгдлүүдийг ашиглана уу.
Хүлээгдэж буй формат, хязгаарлалтыг хангаж байгаа эсэхийг баталгаажуулахын тулд бүх оролтыг шалгах.

5. Өгөгдлийг хэт ил гаргах
Алдаа:
Шаардлагатай хэмжээнээс илүү их өгөгдлийг ил гаргадаг API-ууд (дэлгэрэнгүй алдааны мессежүүд эсвэл өргөн өгөгдлийн хариултуудаар) халдагчдад ашиглагдах үнэ цэнэтэй мэдээллээр хангадаг.
Хэрхэн зайлсхийх вэ:
Хамгийн бага давуу эрхийн зарчмыг баримтал: зөвхөн API-ийн үйл ажиллагаанд шаардлагатай өгөгдлийг ил гарга.
Системийн эмзэг мэдээллийг задруулахгүйн тулд алдааны мэдэгдлүүдийг тохируулна уу.
API хариултуудад ямар өгөгдөл буцаагдахыг хянахын тулд талбарын шүүлтүүрийг ашиглана уу.

6. Аюулгүй API төгсгөлийн цэгүүд
Алдаа:
Дотоод API эсвэл төгсгөлийн цэгүүд нь зохих хамгаалалтгүйгээр найдвартай гэж үзвэл, ялангуяа микро үйлчилгээний архитектурт эмзэг байдлыг үүсгэж болно.
Хэрхэн зайлсхийх вэ:
Дотоод болон гадаад бүх API төгсгөлийн цэгүүдийг хамгаална.
Тохиромжтой тохиолдолд хандалтыг хязгаарлахын тулд сүлжээний сегментчилэл болон галт ханыг ашигла.
Аюулгүй байдлын туршилтыг (жишээ нь, нэвтрэлтийн тест, эмзэг байдлын сканнер) тогтмол хэрэгжүүл.

API аюулгүй байдал нь нэг удаагийн ажил биш харин сонор сэрэмж, шилдэг туршлагыг шаарддаг байнгын үйл явц юм. Эдгээр нийтлэг алдаануудыг зассанаар хөгжүүлэгчид өөрсдийн аппликейшн болон хэрэглэгчдийг хамгаалах найдвартай API-г бий болгож чадна. Аюулгүй байдлыг эхнээс нь урьтал болгож, тогтмол аудит хийж, хамгийн сүүлийн үеийн аюулын талаар байнга мэдээлэл авч байгаарай.