اگر میزبان یک سرور سامبا هستید، مهم است که توجه بیشتری به ایمن سازی سرور در برابر دشمنان داشته باشید.
نکات کلیدی
- برای جلوگیری از دسترسی غیرمجاز و حملات سایبری، رمزگذاری را برای ترافیک SMB فعال کنید. از امنیت لایه حمل و نقل (TLS) برای ایمن کردن ترافیک سرور لینوکس سامبا استفاده کنید.
- با استفاده از فایل پیکربندی /etc/samba/smb.conf، کنترل های دسترسی و مجوزهای دقیق را برای منابع مشترک اجرا کنید. قوانینی را برای دسترسی، مجوزها و محدودیت ها تعریف کنید تا اطمینان حاصل شود که فقط کاربران مجاز می توانند به منابع دسترسی داشته باشند.
- برای افزایش امنیت، رمزهای عبور قوی و منحصر به فرد را برای حساب های کاربری SMB اعمال کنید. برای محافظت در برابر آسیب پذیری ها و حملات سایبری، لینوکس و سامبا را به طور منظم به روز کنید و از استفاده از پروتکل ناامن SMBv1 خودداری کنید.
- قوانین فایروال را برای محدود کردن دسترسی به پورت های SMB پیکربندی کنید و برای جداسازی ترافیک SMB از شبکه های غیرقابل اعتماد، تقسیم بندی شبکه را در نظر بگیرید. گزارشهای SMB را برای فعالیتهای مشکوک و حوادث امنیتی نظارت کنید و دسترسی مهمان و اتصالات ناشناس را محدود کنید.
- محدودیت های مبتنی بر میزبان را برای کنترل دسترسی به هاست های خاص و ممانعت از دسترسی به دیگران اعمال کنید. اقدامات امنیتی بیشتری را برای تقویت شبکه و سخت کردن سرورهای لینوکس خود انجام دهید.
پروتکل SMB (Server Message Block) سنگ بنای اشتراک فایل و چاپگر در محیط های متصل است. با این حال، پیکربندی پیشفرض Samba میتواند خطرات امنیتی قابلتوجهی داشته باشد و شبکه شما را در برابر دسترسی غیرمجاز و حملات سایبری آسیبپذیر کند.
اگر سرور سامبا را میزبانی می کنید، باید نسبت به تنظیماتی که در محل خود تنظیم کرده اید محتاط باشید. در اینجا 10 مرحله حیاتی برای اطمینان از ایمن و محافظت از سرور SMB شما آورده شده است.
1. Encryption for SMB Traffic را فعال کنید
به طور پیش فرض، ترافیک SMB رمزگذاری نشده است. شما می توانید این موضوع را با گرفتن بسته های شبکه با tcpdump یا Wireshark تأیید کنید. برای جلوگیری از رهگیری و تجزیه و تحلیل ترافیک توسط مهاجم، رمزگذاری تمام ترافیک بسیار مهم است.
توصیه می شود امنیت لایه حمل و نقل (TLS) را برای رمزگذاری و ایمن سازی ترافیک سرور لینوکس سامبا خود تنظیم کنید.
2. کنترل های دسترسی و مجوزهای دقیق را برای منابع مشترک اجرا کنید
برای اطمینان از اینکه کاربران متصل قادر به دسترسی به منابع ناخواسته نیستند، باید کنترل های دسترسی و مجوزهای سختگیرانه را اعمال کنید. سامبا از یک فایل پیکربندی مرکزی /etc/samba/smb.conf استفاده می کند که به شما اجازه می دهد قوانینی را برای دسترسی و مجوزها تعریف کنید.
با استفاده از نحو خاص، میتوانید منابعی را برای اشتراکگذاری، کاربران/گروهها را برای دسترسی به آن منابع، و اینکه آیا منبع(ها) را میتوان مرور کرد، روی آن نوشت یا خواند، تعریف کرد. در اینجا نحو نمونه ای برای اعلان یک منبع و اجرای کنترل های دسترسی روی آن آمده است:
[sambashare]
comment= Samba Example
path = /home/your_username/sambashare
browseable = yes
writable = yes
valid users = @groupname
در خطوط بالا، یک مکان اشتراک گذاری جدید با یک مسیر اضافه می کنیم و با کاربران معتبر، دسترسی به اشتراک را تنها به یک گروه محدود می کنیم. چندین راه دیگر برای تعریف کنترل ها و دسترسی به یک اشتراک وجود دارد. می توانید از راهنمای اختصاصی ما در مورد نحوه راه اندازی یک پوشه اشتراکی شبکه در لینوکس با Samba در مورد آن اطلاعات بیشتری کسب کنید.
3. از رمزهای عبور قوی و منحصر به فرد برای حساب های کاربری SMB استفاده کنید
اجرای سیاست های رمز عبور قوی برای حساب های کاربری SMB بهترین روش امنیتی اساسی است. به عنوان یک مدیر سیستم، باید از همه کاربران بخواهید تا رمزهای عبور قوی و منحصر به فرد برای حساب های خود ایجاد کنند.
همچنین می توانید با ایجاد خودکار رمزهای عبور قوی با استفاده از ابزارها، این فرآیند را تسریع کنید. به صورت اختیاری، همچنین می توانید به طور منظم رمزهای عبور را بچرخانید تا خطر نشت داده ها و دسترسی غیرمجاز را کاهش دهید.
4. لینوکس و سامبا را به طور منظم به روز کنید
ساده ترین شکل دفاع غیرعامل در برابر انواع حملات سایبری، اطمینان از اجرای نسخه های به روز نرم افزارهای حیاتی است. SMB مستعد آسیب پذیری است. همیشه یک هدف پرسود برای مهاجمان است.
چندین آسیبپذیری مهم SMB در گذشته وجود داشته است که منجر به تسخیر کامل سیستم یا از دست دادن دادههای محرمانه میشود. شما باید هم سیستم عامل خود و هم سرویس های حیاتی روی آن را به روز نگه دارید.
5. از استفاده از پروتکل SMBv1 خودداری کنید
SMBv1 یک پروتکل ناامن است. همیشه توصیه می شود که هر زمان که از SMB استفاده می کنید، ممکن است در ویندوز یا لینوکس باشد، باید از SMBv1 استفاده نکنید و فقط از SMBv2 و بالاتر استفاده کنید. برای غیرفعال کردن پروتکل SMBv1، این خط را به فایل پیکربندی اضافه کنید:
min protocol = SMB2
این تضمین می کند که حداقل سطح پروتکل مورد استفاده SMBv2 باشد.
6. قوانین فایروال را برای محدود کردن دسترسی به پورت های SMB اعمال کنید
فایروال شبکه خود را طوری پیکربندی کنید که امکان دسترسی به پورت های SMB، معمولاً پورت 139 و پورت 445 را فقط از منابع مطمئن فراهم کند. این به جلوگیری از دسترسی غیرمجاز کمک می کند و خطر حملات مبتنی بر SMB از تهدیدات خارجی را کاهش می دهد.
همچنین باید نصب یک راه حل IDS به همراه فایروال اختصاصی را در نظر بگیرید تا کنترل و ثبت ترافیک بهتری داشته باشید. مطمئن نیستید که از کدام فایروال استفاده کنید؟ ممکن است از لیست بهترین فایروال های رایگان لینوکس برای استفاده، یکی را پیدا کنید که مناسب شما باشد.
7. برای جداسازی ترافیک SMB از شبکه های غیرقابل اعتماد، تقسیم بندی شبکه را پیاده سازی کنید
تقسیم بندی شبکه تکنیک تقسیم یک مدل یکپارچه از یک شبکه کامپیوتری به چندین زیرشبکه است که هر کدام یک بخش شبکه نامیده می شود. این کار برای بهبود امنیت، عملکرد و مدیریت شبکه انجام می شود.
برای جداسازی ترافیک SMB از شبکههای غیرقابل اعتماد، میتوانید یک بخش شبکه جداگانه برای ترافیک SMB ایجاد کنید و قوانین فایروال را طوری پیکربندی کنید که فقط به ترافیک SMB به این بخش و از آن اجازه دهد. این به شما امکان می دهد ترافیک SMB را به صورت متمرکز مدیریت و نظارت کنید.
در لینوکس، می توانید از iptables یا یک ابزار شبکه مشابه برای پیکربندی قوانین فایروال برای کنترل جریان ترافیک بین بخش های شبکه استفاده کنید. میتوانید قوانینی ایجاد کنید تا به ترافیک SMB به و از بخش شبکه SMB اجازه دهید و در عین حال همه ترافیکهای دیگر را مسدود کنید. این به طور موثر ترافیک SMB را از شبکه های غیر قابل اعتماد جدا می کند.
8. گزارش های SMB را برای فعالیت های مشکوک و حوادث امنیتی نظارت کنید
نظارت بر گزارش های SMB برای فعالیت های مشکوک و حوادث امنیتی بخش مهمی از حفظ امنیت شبکه شما است. گزارشهای SMB حاوی اطلاعاتی درباره ترافیک SMB، از جمله دسترسی به فایل، احراز هویت و سایر رویدادها هستند. با نظارت منظم بر این گزارشها، میتوانید تهدیدات امنیتی بالقوه را شناسایی کرده و آنها را کاهش دهید.
در لینوکس، می توانید از دستور journalctl استفاده کنید و خروجی آن را به دستور grep برای مشاهده و تجزیه و تحلیل گزارش های SMB استفاده کنید.
journalctl -u smbd.service
با این کار گزارش های مربوط به واحد smbd.service که مسئول مدیریت ترافیک SMB است نمایش داده می شود. میتوانید از گزینه -f برای پیگیری گزارشها در زمان واقعی استفاده کنید یا از گزینه -r برای مشاهده جدیدترین ورودیها ابتدا استفاده کنید.
برای جستجوی گزارشها برای رویدادها یا الگوهای خاص، خروجی دستور journalctl را به grep منتقل کنید. برای مثال، برای جستجوی تلاشهای احراز هویت ناموفق، اجرا کنید:
journalctl -u smbd.service | grep -i "authentication failure"
با این کار تمام ورودیهای گزارش حاوی متن “عملکرد احراز هویت” نمایش داده میشود و به شما امکان میدهد هر گونه فعالیت مشکوک یا تلاشهای brute-force را به سرعت شناسایی کنید.
9. استفاده از دسترسی مهمان و اتصالات ناشناس را محدود کنید
فعال کردن دسترسی مهمان به کاربران این امکان را می دهد که بدون ارائه نام کاربری یا رمز عبور به سرور سامبا متصل شوند، در حالی که اتصالات ناشناس به کاربران امکان می دهد بدون ارائه هیچ گونه اطلاعات احراز هویت متصل شوند.
هر دوی این گزینه ها در صورت عدم مدیریت صحیح می توانند خطرات امنیتی ایجاد کنند. توصیه می شود هر دوی این موارد را خاموش کنید. برای انجام این کار، باید چند خط را در فایل پیکربندی Samba اضافه یا تغییر دهید. در اینجا چیزی است که باید در بخش جهانی فایل smb.conf اضافه یا تغییر دهید:
map to guest = never
restrict anonymous = 2
10. محدودیت های مبتنی بر میزبان را اجرا کنید
به طور پیش فرض، یک سرور Samba در معرض می تواند توسط هر میزبان (آدرس IP) بدون محدودیت قابل دسترسی باشد. منظور از دسترسی، برقراری ارتباط است و نه دسترسی به منابع.
برای اجازه دسترسی به هاستهای خاص و رد کردن استراحت، میتوانید از گزینههای میزبانی اجازه و میزبانیهای انکار استفاده کنید. در اینجا نحوی برای اضافه کردن به فایل پیکربندی برای مجاز کردن/رد کردن میزبان ها آمده است:
hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0
در اینجا شما به Samba دستور می دهید که تمام اتصالات را به جز اتصالات میزبان محلی و شبکه 192.168.1.0/24 رد کند. این یکی از راه های اساسی برای ایمن سازی سرور SSH شما نیز هست.
اکنون می دانید چگونه سرور لینوکس سامبا خود را ایمن کنید
لینوکس برای میزبانی سرورها عالی است. با این حال، هر زمان که با سرورها سروکار دارید، باید با دقت قدم بردارید و بیشتر آگاه باشید، زیرا سرورهای لینوکس همیشه یک هدف سودآور برای عوامل تهدید هستند.
این بسیار مهم است که برای تقویت شبکه خود و سختتر کردن سرورهای لینوکس خود تلاش خالصانه داشته باشید. علاوه بر پیکربندی صحیح سامبا، چند اقدام دیگر نیز وجود دارد که باید برای اطمینان از ایمن بودن سرور لینوکس خود در برابر تلاقی دشمنان انجام دهید.