কিভাবে কন্টেন্ট সিকিউরিটি পলিসি (CSP) ব্যবহার করবেন:
1. CSP Header যুক্ত করা:
আপনার ওয়েব সার্ভারে CSP পলিসি কনফিগার করতে হয়। সাধারণত এটি HTTP হেডার Content-Security-Policy দিয়ে সেট করা হয়। নিচে একটি সাধারণ উদাহরণ দেয়া হলো কিভাবে এটি কনফিগার করা যায়:
Node.js (Express) অ্যাপ্লিকেশনে CSP যুক্ত করা:
const express = require('express');
const app = express();
const port = 3000;
// Content Security Policy Middleware
app.use((req, res, next) => {
res.setHeader("Content-Security-Policy", "default-src 'self'; script-src 'self' https://trusted-script-source.com; object-src 'none';");
next();
});
// Example route
app.get('/', (req, res) => {
res.send(`
<h1>Welcome to My Secure Site</h1>
<script src="https://trusted-script-source.com/script.js"></script>
<script>
console.log('This script is allowed by CSP');
</script>
`);
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
সঠিক সিকিউরিটি প্র্যাকটিস অনুসরণ করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনকে XSS আক্রমণ থেকে সুরক্ষিত রাখতে পারবেন এবং ব্যবহারকারীদের নিরাপত্তা নিশ্চিত করতে পারবেন।
CSP Header Details:
default-src 'self';- শুধুমাত্র বর্তমান ডোমেইন (
'self') থেকে কন্টেন্ট লোড করার অনুমতি দেয়।
- শুধুমাত্র বর্তমান ডোমেইন (
script-src 'self' https://trusted-script-source.com;- স্ক্রিপ্ট লোড করার জন্য শুধুমাত্র বর্তমান ডোমেইন এবং
https://trusted-script-source.comকে অনুমতি দেয়।
- স্ক্রিপ্ট লোড করার জন্য শুধুমাত্র বর্তমান ডোমেইন এবং
object-src 'none';object,embed, এবংappletট্যাগের মাধ্যমে কোন কন্টেন্ট লোড করার অনুমতি দেয় না।
কিভাবে CSP XSS আক্রমণ প্রতিরোধ করে:
**1. স্ক্রিপ্ট সোর্স নিয়ন্ত্রণ:
- CSP স্ক্রিপ্ট লোড করার জন্য নির্দিষ্ট সোর্স নির্ধারণ করে, যেমন Trusted Script Source। এটি হ্যাকারদের ম্যালিশাস স্ক্রিপ্ট ইনজেক্ট করার সুযোগ কমিয়ে দেয়।
**2. ইনলাইন স্ক্রিপ্ট ব্লক করা:
- CSP পলিসি ইনলাইন স্ক্রিপ্ট এবং স্টাইল নিষিদ্ধ করতে পারে। এটি XSS আক্রমণের একটি সাধারণ উপায় প্রতিরোধ করে।
**3. উল্লেখযোগ্য রিসোর্স সোর্স নিয়ন্ত্রণ:
- CSP হেডার অন্যান্য সোর্স যেমন ইমেজ, ফন্ট, এবং স্টাইল শীট নিয়ন্ত্রণ করতে পারে, যা আরো নিরাপত্তা প্রদান করে।
প্রাকটিক্যাল উদাহরণ:
একটি বাস্তব উদাহরণ:
- সাইট: একটি ফোরাম ওয়েবসাইট যেখানে ব্যবহারকারীরা পোস্ট এবং কমেন্ট করতে পারে।
- হ্যাকার: হ্যাকার একটি ম্যালিশাস স্ক্রিপ্ট ইনজেক্ট করে এবং আপনার ওয়েবসাইটে নতুন কমেন্ট হিসেবে পোস্ট করে।
- CSP ব্যবহার: যদি আপনার সাইট CSP পলিসি ব্যবহার করে:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-script-source.com;
- তাহলে হ্যাকার এই স্ক্রিপ্ট রান করতে পারবে না কারণ এটি আপনার CSP পলিসির সাথে মেলে না।