প্রকল্প সম্পর্কে

সারফেস অবজারভেটরি হলো একটি স্পষ্টভাবে নির্ধারিত লক্ষ্যসমূহের পাবলিক সারফেসের দৈনিক ও প্যাসিভ মনিটরিং প্রকল্প। নিরাপত্তার একক চিত্র তৈরি না করে এটি পর্যায়ক্রমে HTTP নিরাপত্তা হেডার, TLS বৈশিষ্ট্য, DNS রেকর্ড এবং সার্টিফিকেট ট্রান্সপারেন্সি ডেটা সংগ্রহ করে সবকিছু টাইম সিরিজ হিসেবে সংরক্ষণ করে। মূল উদ্দেশ্য হলো ড্রিফট দৃশ্যমান করা: মাইগ্রেশনের পর হারিয়ে যাওয়া একটি হেডার, অন্য কর্তৃপক্ষের ইস্যু করা সার্টিফিকেট, বা পাবলিক লগে নতুন দেখা দেওয়া সাবডোমেইন। রিপোজিটরিতে স্বয়ংক্রিয় প্রোব রয়েছে যা HSTS, Content Security Policy, X-Content-Type-Options, Referrer নীতি, security.txt-এর উপস্থিতি এবং সার্টিফিকেটের বৈধতার মতো বিষয় মূল্যায়ন করে। ফলাফল একটি ড্যাশবোর্ডে প্রতি লক্ষ্যের নোটসহ দেখানো হয়, যেখানে অনির্ধারিত অবস্থাও নির্দেশ করা হয়, যা প্রকল্পটি স্পষ্টভাবে অনুপস্থিতি থেকে আলাদা করে। সম্পূর্ণ স্ন্যাপশট কেবল পরিবর্তন হলে সংরক্ষণ করা হয়, ফলে বিপুল পুনরাবৃত্ত ডেটা জমা এড়ানো যায়। বাস্তবায়নে প্রোব ও ড্যাশবোর্ড তৈরির জন্য শুধু Python-এর স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করা হয়। ডেটা JSONL-এ একটি append-only সিরিজে থাকে, পাশাপাশি তারিখ অনুযায়ী সাজানো কাঁচা স্ন্যাপশটও থাকে। এছাড়া Markdown-এ একটি পরিবর্তন-ডায়েরি আছে, যেখানে যে দিনগুলোতে পর্যবেক্ষিত সারফেস বদলেছে তার রেকর্ড থাকে। লক্ষ্যতালিকা একটি YAML ফাইলে অন্তর্ভুক্তির যৌক্তিকতাসহ নির্ধারিত, এবং প্রকল্পটি এনগেজমেন্ট নিয়ম প্রকাশ করে যেখানে বর্ণনা থাকে কী সংগ্রহ করা হয়, কী কখনোই সংগ্রহ করা হয় না এবং কীভাবে কোনো লক্ষ্য অপসারণের অনুরোধ করা যায়। প্রকল্পটি অ-আক্রমণাত্মক সংগ্রহে জোর দেয়: কোনো কুকির মান লেখা হয় না, কোনো অনুরোধ অবস্থা পরিবর্তন করে না, এবং কেবল এমন লক্ষ্য অন্তর্ভুক্ত হয় যাদের পাবলিক নীতি পর্যবেক্ষণের অনুমতি দেয়। সময়ের সঙ্গে ওয়েব নিরাপত্তা অবস্থান অনুসরণ করতে, নিজের লক্ষ্যগুলো পরিচিত রেফারেন্সের সঙ্গে তুলনা করতে এবং পাবলিক অবকাঠামোয় ধীরে ধীরে ঘটে যাওয়া পরিবর্তন বুঝতে এটি একটি উপযোগী রেফারেন্স।