امنیت ایجنت و بهروزرسانی
ایجنت طوری ساخته شده که حتی هک شدن wardex به معنای هک شدن سرور شما نباشد؛ از جمله امضای دیجیتال نسخهها.
ایجنت طوری ساخته شده که حتی هک شدن wardex به معنای هک شدن سرور شما نباشد؛ از جمله امضای دیجیتال نسخهها.
ایجنتی که روی سرورهای زیادی نصب است، اگر درست طراحی نشود، نقطهی شکست مشترک همهی آن سرورهاست: نفوذ به سرور سازندهی ایجنت یعنی نفوذ به همهی مشتریها. ایجنت wardex از اول با این فرض ساخته شده که روزی خود wardex هک میشود. هدف این است که در آن روز، مهاجم نتواند از ایجنت برای نفوذ به سرور شما استفاده کند.
سرویس اقدامها فقط وقتی اجرا میشود که اقدامی را روشن کرده باشید.
wardex اجرا میشود و فقط یک اجازهی اضافه دارد: خواندن فایلها، برای اثر انگشت فایلهای حساس و خواندن لاگها. داخل محیط محدود systemd اجرا میشود و جز پوشهی خودش جایی را نمیتواند تغییر دهد. سقف مصرف پردازنده و حافظه هم دارد.wardex-actuator انجام میدهد. این سرویس هیچ دسترسی شبکهای ندارد، فقط چند کار ثابت را میشناسد و هر درخواست را خودش دوباره بررسی میکند. فقط کاربر wardex و root میتوانند با آن حرف بزنند، و این را خود هستهی لینوکس تأیید میکند./etc/wardex/agent.json روی خود سرور خاموش کنید، از داشبورد روشن نمیشود.sudo wardex-agent deny all هر اقدامی را فوراً خاموش میکند.مسیر بهروزرسانی خطرناکترین راه حمله به همهی سرورهاست: کسی که بتواند یک نسخهی آلوده منتشر کند، به همهی سرورها دسترسی پیدا میکند. برای همین:
کلید امضا
آفلاین، روی هیچ سرور wardex نیست
سرور wardex
فقط فایلها را پخش میکند
ایجنت روی سرور شما
امضا، اثر انگشت و جدیدتر بودن را بررسی میکند
اگر سرور wardex هک شود، مهاجم کلید امضا را ندارد؛ پس نمیتواند نسخهی آلوده یا قدیمی را روی سرورها نصب کند.
sudo wardex-agent auto-update on) و مرحلهای پخش میشود: هر نسخهی تازه اول روی بخشی از سرورها نصب میشود./usr/local/bin/wardex-agent.prev).نصب اول ایجنت به سروری اعتماد میکند که اسکریپت نصب را از آن دانلود میکنید؛ اسکریپت اثر انگشت فایل را بررسی میکند. امضا از همهی ایجنتهایی محافظت میکند که از قبل نصب شدهاند.
اگر میخواهید امضای یک نسخه را خودتان بررسی کنید، این کلید عمومی امضای wardex را در فایل wardex-release.pem ذخیره کنید:
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAYSpcMhLFrorBMAt873aSYESOtoQQJKsvYtOdRV0EOqA=
-----END PUBLIC KEY-----
و با OpenSSL نسخهی ۳ به بعد:
curl -fsSLO https://api.wardex.ir/api/agent/download/manifest.json
curl -fsSL https://api.wardex.ir/api/agent/download/manifest.sig | base64 -d > manifest.sig.bin
openssl pkeyutl -verify -pubin -inkey wardex-release.pem -rawin -in manifest.json -sigfile manifest.sig.bin
sha256sum wardex-agent # باید با اثر انگشت همان فایل در manifest.json یکی باشد
sudo wardex-agent actions).