آژیر (Azhir) – فریم‌ورک امنیت میزبان و تحلیل لاگ‌ها
امنیت منتشر شده: 1 اوت 2026، ساعت 18:31 ورژن 0.0.1

آژیر (Azhir) – فریم‌ورک امنیت میزبان و تحلیل لاگ‌ها

Postgres Docker FastAPI Linux Security Engineering Systemd SQLAlchemy Python

ویژگی‌های کلیدی

ثبت‌نام ایجنت‌ها

ثبت‌نام امن ایجنت‌ها به همراه صدور خودکار کلید API

امنیت API

دریافت و پردازش امن رویدادها با استفاده از کلیدهای اختصاصی API

پارس کردن لاگ‌های SSH

شناسایی ورودهای ناموفق، کاربران غیرمجاز، دسترسی‌های سطح Root و سایر رویدادهای احراز هویت

صف رویدادهای قابل اطمینان

صف ذخیره‌سازی روی دیسک جهت جلوگیری از ازدست‌رفتن داده‌ها هنگام قطعی سیستم

موتور تلاش مجدد خودکار

مکانیزم بازتلاش هوشمند با الگوریتم Exponential Backoff برای تضمین تحویل داده‌ها

راه‌اندازی با داکر

کانتینریزه کردن PostgreSQL و FastAPI جهت استقرار یکپارچه و آسان

پروژه آژیر به عنوان یک پروژه کاربردی در حوزه امنیت سایبری ایجاد شد تا طراحی و پیاده‌سازی یک معماری مدرن SIEM با استفاده از پایتون را مورد بررسی قرار دهد.

این سیستم از دو سرویس مستقل تشکیل شده است:

  • ایجنت لینوکس (Linux Agent): به‌طور مداوم journal سیستم‌دی (systemd) را پایش می‌کند، رویدادهای امنیتی مربوط به SSH را تشخیص می‌دهد، ورودی‌های خام لاگ را به شیء‌های ساختاریافته تبدیل کرده و قبل از ارسال، آن‌ها را به صورت محلی ذخیره می‌کند. این لایه ذخیره‌سازی محلی تضمین می‌کند که در صورت قطع موقت شبکه یا از دسترس خارج شدن سرور، هیچ رویداد امنیتی از دست نرود.

  • سرور FastAPI: به عنوان سرویس مرکزی دریافت داده (Ingestion) عمل می‌کند. ایجنت‌ها با استفاده از یک توکن ثبت‌نام (Enrollment Token) به صورت امن احراز هویت شده و کلید اختصاصی API دریافت می‌کنند که برای تایید تمام درخواست‌های بعدی استفاده می‌شود. رویدادهای ورودی پس از اعتبارسنجی، به صورت ناهمگام (Async) پردازش شده و با استفاده از SQLAlchemy 2.0 و مایگریشن‌های Alembic در پایگاه‌داده PostgreSQL ذخیره می‌شوند.

این پروژه از یک معماری ماژولار با لایه‌بندی کاملاً مجزا بهره می‌برد (شامل بخش‌های API، منطق کسب‌وکار، Repositoryها، مدل‌های دیتابیس، امنیت و تنظیمات). در سمت ایجنت نیز بخش‌های جمع‌آوری (Collectors)، پارسرها (Parsers)، لایه انتقال (Transport) و لایه پایداری داده‌ها از هم جدا شده‌اند که افزوده شدن منابع لاگ جدید و قوانین جدید شناسایی را بسیار ساده می‌کند.

برای افزایش پایداری، ایجنت از یک صف رویداد روی دیسک (Disk-backed queue) همراه با یک ورکر تلاش مجدد خودکار با الگوریتم Exponential Backoff استفاده می‌کند. این ویژگی، ارسال قطعی رویدادها را حتی در صورت عدم دسترس‌پذیری موقت سرور تضمین می‌نماید.

پروژه برای محیط توسعه کاملاً کانتینریزه (Containerized) شده و مفاهیم مختلفی از مهندسی بک‌اند را به نمایش می‌گذارد، از جمله:

  • احراز هویت امن API و ثبت‌نام ایجنت‌ها

  • طراحی برنامه‌های ناهمگام (Async) با FastAPI

  • استفاده از SQLAlchemy 2.0 به همراه مدل‌های ORM تایپ‌شده (Typed)

  • معماری نرم‌افزاری ماژولار و ساختاریافته

  • جمع‌آوری لاگ‌های سیستم لینوکس با استفاده از systemd

  • پارس کردن لاگ‌های SSH بر اساس قوانین (Rule-based)

  • سیستم ارسال رویداد مقاوم در برابر خطا (Fault-tolerant)

  • محیط توسعه مبتنی بر Docker

  • تست‌نویسی خودکار با Pytest

اگرچه پروژه آژیر هنوز در حال تکمیل است، اما نسخه فعلی پایه‌ای محکم برای افزودن قابلیت‌های آتی مانند داشبورد تحت وب، موتور تحلیل و ارتباط‌دهی هشدارها (Alert Correlation Engine)، کالکتورهای جدید لاگ و پشتیبانی از ایجنت‌های ویندوز فراهم کرده است.

بازخورد جامعه(3بررسی‌ها)


✅ موفقیت‌آمیز