نصب سنسور روی ویندوز سرور
در این آموزش
سنسور ServerMug روی ویندوز یک فایل اجرایی کوچک به زبان Go است که بهصورت سرویس ServerMugAgent با حساب LocalSystem اجرا میشود. به .NET، جاوا یا پایتون نیاز ندارد و مصرف رمش معمولاً حدود ۲۰ مگابایت است. این برگه نصب روی یک سرور را قدمبهقدم توضیح میدهد؛ برای نصب همزمان روی دهها سرور دامین، نصب با GPO را ببینید.
پیشنیازها
| مورد | شرط |
|---|---|
| سیستمعامل | Windows Server 2016، 2019، 2022 یا 2025، یا ویندوز ۱۰/۱۱؛ فقط ۶۴ بیتی |
| پشتیبانینشده | Windows Server 2012، 2012 R2 و قدیمیتر (Go از نسخهٔ 1.21 روی آنها اجرا نمیشود) |
| PowerShell | نسخهٔ 5.1 که در همهٔ نسخههای پشتیبانیشده پیشفرض نصب است |
| دسترسی | اجرای PowerShell با Run as Administrator |
| شبکه | HTTPS خروجی به نشانی ingest و به https://app.servermug.ir برای دریافت فایل نصب؛ هیچ پورت ورودی لازم نیست |
اگر سرور شما 2012 R2 است، تنها راه پایش آن با ServerMug ارتقای سیستمعامل است. این محدودیت را عمداً پنهان نمیکنیم: 2012 R2 از اکتبر ۲۰۲۳ دیگر بهروزرسانی امنیتی عمومی نمیگیرد و خودش یکی از ریسکهایی است که باید برطرف شود.
گام ۱: گرفتن دستور نصب
- در
https://app.servermug.irدکمهٔ «+ افزودن سرور» را بزنید. - گروه، «حداکثر دفعات استفاده» و «مدت اعتبار (روز)» را تعیین کنید و «ساخت توکن و دستور نصب» را بزنید.
- زبانهٔ «ویندوز (PowerShell)» را باز کنید و دستور را کپی کنید.
دستور شکلی شبیه این دارد:
& ([scriptblock]::Create((irm 'https://app.servermug.ir/dl/install.ps1'))) -Server 'https://INGEST_HOST' -Token 'sm_enroll_TOKEN' -Pin 'sha256:FINGERPRINT' -Dl 'https://app.servermug.ir/dl'
| پارامتر | معنا |
|---|---|
-Server |
نشانی سرور دریافت گزارش (ingest) که سنسور هر ۳۰ ثانیه به آن گزارش میدهد |
-Token |
توکن ثبت؛ با پیشوند sm_enroll_ |
-Pin |
اثرانگشت SHA-256 گواهی سرور ingest؛ سنسور فقط با سروری حرف میزند که دقیقاً همین گواهی را دارد. اگر در صفحهٔ «افزودن سرور» نوشته باشد «بدون پین (گواهی عمومی)»، این پارامتر در دستور نیست. |
-Dl |
محل دریافت فایل سنسور و manifest.json |
-AllowScripts |
فقط اگر توکن را با اجازهٔ اسکریپت ساخته باشید؛ اجرای چکهای سفارشی را روی این سرور مجاز میکند |
گام ۲: اجرای دستور
- روی سرور، منوی Start را باز کنید، روی Windows PowerShell راستکلیک کنید و Run as Administrator را بزنید.
- دستور را بچسبانید و Enter بزنید.
- اسکریپت
manifest.jsonرا میگیرد، فایلservermug-agent-windows-amd64.exeرا دانلود میکند و SHA-256 آن را با manifest مقایسه میکند. اگر یکی نباشد، نصب متوقف میشود. - سپس سرور با توکن ثبت میشود، فایل در
C:\Program Files\ServerMug\servermug-agent.exeقرار میگیرد و سرویسServerMugAgentنصب و اجرا میشود.
خروجی موفق تقریباً این است:
Downloading servermug-agent-windows-amd64.exe 0.1.0 ...
Enrolling with https://INGEST_HOST ...
• Enrolling with https://INGEST_HOST …
• Enrolled as server 42
• Installed binary to C:\Program Files\ServerMug\servermug-agent.exe
✓ ServerMug agent 0.1.0 installed and running (service ServerMugAgent).
✓ سنسور سرورماگ نصب شد و در حال اجراست.
ServerMug agent 0.1.0 installed.
گام ۳: بررسی نصب
فایل اجرایی در PATH نیست، پس آن را با مسیر کامل صدا بزنید:
& 'C:\Program Files\ServerMug\servermug-agent.exe' status
Get-Service ServerMugAgent
خروجی status نشان میدهد سرویس در حال اجراست یا نه (service: ServerMugAgent — running)، به کدام سرور وصل است، گواهی پین شده یا نه، اجرای اسکریپت مجاز است یا نه (scripts: allowed=false)، زمان و نتیجهٔ آخرین گزارش، تعداد فایلهای طعمهٔ فعال و تعداد گزارشهایی که بهخاطر قطعی شبکه روی دیسک ماندهاند.
در داشبورد، سرور باید ظرف یک دقیقه از «در انتظار گزارش» به «آنلاین» برسد.
چه چیزهایی روی سرور ساخته میشود
| مسیر | محتوا |
|---|---|
C:\Program Files\ServerMug\servermug-agent.exe |
فایل اجرایی سنسور |
C:\ProgramData\ServerMug\agent.json |
نشانی سرور، پین گواهی، کلید اختصاصی سنسور؛ فقط SYSTEM و مدیران میتوانند آن را بخوانند |
C:\ProgramData\ServerMug\agent.log |
لاگ سنسور |
C:\ProgramData\ServerMug\install.log |
لاگ اسکریپت نصب |
C:\ProgramData\ServerMug\spool |
گزارشهای ارسالنشده هنگام قطعی شبکه (حداکثر ۵۰ مگابایت) |
سرویس ServerMugAgent |
LocalSystem، شروع خودکار، راهاندازی دوباره ۱۰ ثانیه پس از توقف ناگهانی |
علاوه بر اینها، محافظ باجافزار در ریشهٔ درایوهای داده، C:\Users\Public\Documents و پوشههای اشتراکی سه فایل طعمه با نامهایی مثل !000_Budget_2026.xlsx میگذارد. این فایلها عمداً مخفی نیستند. به کاربران بگویید به آنها دست نزنند؛ توضیح کامل در محافظ باجافزار است.
عیبیابی
| پیام | علت | راه حل |
|---|---|---|
Run this script as Administrator. |
PowerShell بدون دسترسی مدیر باز شده | PowerShell را با Run as Administrator باز کنید |
Cannot download .../manifest.json |
سرور به app.servermug.ir دسترسی ندارد |
فایروال خروجی یا پراکسی را بررسی کنید؛ با Test-NetConnection app.servermug.ir -Port 443 امتحان کنید |
| توکن ثبت نامعتبر، منقضی یا تمامشده است | توکن باطل شده، تاریخش گذشته یا دفعات استفادهاش تمام شده | یک توکن تازه بسازید |
| سقف تعداد سرور در پلن سازمان شما پر شده است | به حداکثر سرورهای پلن رسیدهاید | سرور بلااستفاده را حذف کنید یا برای تغییر پلن با ما تماس بگیرید |
certificate pin mismatch |
گواهیای که سرور میبیند با پین یکی نیست؛ معمولاً یک پراکسی یا فایروال TLS را باز میکند | نشانی ingest را از بازرسی TLS مستثنا کنید |
Checksum mismatch |
فایل دریافتشده با manifest یکی نیست | دوباره امتحان کنید؛ اگر تکرار شد، چیزی در مسیر فایل را تغییر میدهد و نباید نصب شود |
اجرای دوباره دستور نصب بیخطر است: اگر همان نسخه نصب و در حال اجرا باشد، اسکریپت بیصدا کنار میرود؛ اگر نسخهٔ قدیمیتر باشد، فقط فایل را بهروز میکند. اگر سنسور را حذف و دوباره روی همان ماشین نصب کنید، همان سرور قبلی با تاریخچهاش ادامه پیدا میکند، چون شناسهٔ ماشین (MachineGuid) یکی است. به همین دلیل اگر چند ماشین مجازی از یک قالب کلون شده باشند و MachineGuid یکسان داشته باشند، در داشبورد یک سرور دیده میشوند. شناسه را با این دستور ببینید:
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography').MachineGuid
برای اینکه سنسور بدون ارسال چیزی ببیند چه جمع میکند، selftest را اجرا کنید؛ یک بار همهچیز را جمع میکند و گزارش را بهصورت JSON چاپ میکند:
& 'C:\Program Files\ServerMug\servermug-agent.exe' selftest
دستور نصب را از کجا بیاورید؟
در داشبورد، صفحهٔ «افزودن سرور» دستور آماده با توکن خودتان را میدهد. هنوز حساب ندارید؟ درخواست دمو بدهید.
ورود به داشبورد درخواست دمو