Web Security: OWASP Top 10 — যে ভুলগুলো Developer-রা করেন
আপনার web application কতটা নিরাপদ? OWASP Top 10 security vulnerability সম্পর্কে জানুন এবং কীভাবে এগুলো এড়াবেন তা শিখুন।
Web security অনেক developer-এর কাছে boring বা complex মনে হয়। কিন্তু একটি security breach আপনার পুরো project বা company ধ্বংস করে দিতে পারে। OWASP Top 10 হলো সবচেয়ে সাধারণ web security vulnerabilities-এর তালিকা।
১. Injection (SQL Injection)
SQL Injection সবচেয়ে পুরনো এবং সবচেয়ে ক্ষতিকর attack। User input সরাসরি SQL query-তে দিলে attacker পুরো database access করতে পারে।
সমাধান: Parameterized queries বা ORM ব্যবহার করুন। User input কখনো সরাসরি query-তে রাখবেন না।
২. Broken Authentication
দুর্বল password policy, session management সমস্যা, brute force protection নেই — এগুলো authentication breach-এর কারণ।
সমাধান: Strong password hashing (bcrypt), JWT properly implement করুন, rate limiting যোগ করুন।
৩. XSS (Cross-Site Scripting)
User input ঠিকমতো sanitize না করলে attacker malicious JavaScript inject করতে পারে। অন্য user-এর browser-এ এই script চলে।
সমাধান: User input escape করুন। React এটি automatically করে — কিন্তু dangerouslySetInnerHTML ব্যবহারে সতর্ক থাকুন।
৪. Sensitive Data Exposure
Password plain text-এ store করা, HTTP-তে sensitive data পাঠানো, API key code-এ hardcode করা — এগুলো critical ভুল।
সমাধান: HTTPS সবসময়, bcrypt দিয়ে password hash করুন, .env ফাইল ব্যবহার করুন।
৫. CSRF (Cross-Site Request Forgery)
Malicious site থেকে authenticated user-এর নামে request পাঠানো। যেমন — attacker একটি link দিয়ে আপনার bank transfer করিয়ে নিতে পারে।
সমাধান: CSRF tokens, SameSite cookie attribute।
৬. Insecure Dependencies
পুরনো packages-এ known vulnerabilities থাকে। npm audit চালিয়ে নিয়মিত check করুন। Dependabot enable করুন GitHub-এ।
৭. Security Headers
HTTP security headers অনেক common attack থেকে রক্ষা করে। Content-Security-Policy, X-Frame-Options, X-Content-Type-Options — এগুলো server response-এ যোগ করুন। Node.js-এ Helmet package ব্যবহার করুন।
Security Testing
OWASP ZAP বা Burp Suite দিয়ে নিজের application test করুন। Regular security audit করুন। Bug bounty program consider করুন।