سرورهای مجازی لینوکس مزایای زیادی دارند. در حقیقت، VPS لینوکس در مقایسه با دیگر سیستم عاملها مثل ویندوز امنتر است که علت آن نصب بودن LSM (Linux’s security model) است. اما این سیستم کافی نیست و به طور کامل نمیتواند امنیت سرور مجازی شما را تامین کند. در این مطلب قصد داریم 20 روش برای امنتر کردن سرور مجازی لینوکس به شما آموزش دهیم.
امنیت سرور مجازی لینوکس
لینوکس به طور پیشفرض امنیت مناسبی نسبت به باقی رقیبانش دارد، اما هنوز ضعفهایی در این سیستم وجود دارد که باید رفع گردد.
ما در فراسو ضربالمثلی داریم که میگوییم، سرور خوب، سرور امن است. به همین خاطر راهکارهایی به شما ارائه میدهیم تا بتوانید جلو دسترسیهای که هکرها از آنها برای نفوذ به سایت و دسترسی به اطلاعات شما استفاده میکنند ببندید.
تکنیکهای که امروز برای امنتر کردن لینوکس به شما آموزش میدهیم، نیاز به تخصص بالایی برای راهاندازی ندارد و به راحتی میتوانید از این روشها استفاده کنید.
هرکجا نیاز داشتید که راهنمایی دریافت کنید، تیم پشتیبانی فراسو خوشحال میشود تا پاسخ شما عزیزان را بدهد.
1.غیرفعال کردن لاگین با کاربر روت
یک VPS امن میخواهید؟ شما هرگز نباید به عنوان کاربر روت وارد شوید.
به طور پیش فرض، هر سرور مجازی لینوکس یک “root” به عنوان نام کاربری اصلی دارد، در نتیجه هکرها تلاش میکنند تا با حملات bruteforce که انجام میدهند، رمز عبور آنرا به دست آورند و به آن دسترسی پیدا کنند. غیرفعال کردن لاگین از نام کاربری “root” یک سطح امنیت دیگر به سرور شما اضافه میکند و از ورود کاربر روت توسط هکرها جلوگیری میکند.
به جای وارد شدن به عنوان کاربر روت، نیاز خواهید داشت که یک نام کاربری دیگر ایجاد کنید و از دستور “sudo” برای اجرای دستورات سطح روت استفاده کنید.
Sudo یک حق دسترسی ویژه است که میتواند به کاربران احرازهویت شده داده شود تا بتوانند دستورات مدیریتی اجرا کنند و نیاز به دسترسی روت را حذف کند.
قبل از غیرفعال کردن کاربر روت دقت داشته باشید که دسترسیهای کاربری که قصد استفاده از آن را دارید به دقت مشخص کرده باشید.
وقتی آماده انجام این کار شدید، در کنسول سرور دستور، را در nano یا vi باز کنید و پارامتر “PermitRootLogin” را بیابید.
به طور پیش فرض، مقدار آن برابر “yes” است .
آن را به “no” تغییر دهید و تغییرات را ذخیره کنید.
2.تغییر پورت SSH
هکرها برای هک سرور اولین پورت که استفاده میکنند برای وصل شدن به SSH سرور شما 22 است و اگر شما این پورت را تغییر دهید، دسترسی این افراد به SSH را تا حد زیادی مسدود کردید.
برای این کار، شما نیاز به باز کردن دارید تا تنظیمات مناسب را در این قسمت قرار دهید.
البته قبل از این کار دقت کنید که پورت انتخابی شما توسط سرویس دیگری در سرور استفاده نشده باشد.
3.به روز نگه داشتن نرمافزار سرور
به روز نگه داشتن نرم افزار سرور سخت نیست.
شما میتوانید به راحتی از مدیر بسته rpm/yum[1] یا apt-get(Ubuntu/ Debian) برای به روزرسانی نسخههای جدیدتر نرم افزار نصب شده، ماژولها و عناصر استفاده کنید.
شما میتوانید حتی سیستم عامل را برای ارسال هشدارهای به روزرسانی بسته yum از طریق ایمیل، پیکربندی کنید. این کار پیگیری تغییرات را آسانتر میکند. و اگر دوست دارید که وظایف را اتوماتیک کنید، میتوانید cronjob را تنظیم کنیدتا همه به روزرسانیهای امنیتی موجود در سمت شما اعمال شوند.
اگر از پنلهای مثل دایرکت ادمین یا سیپنل استفاده میکنید، همیشه آنها را باید بروزرسانی کنید، البته اکثر این این پنلها دارای بروزرسانی خودکار هستند و جای نگرانی نیست.
شما همیشه باید پچهای امنیتی را در اولین فرصت نصب کنید، چرا که هرچه زمان بگذرد امکان نفوذ به سرور شما افزایش پیدا خواهد کرد.
4.غیرفعال کردن پورتهای استفاده نشده شبکه
پورتهای باز شبکه که استفاده نمیکنید هدف مناسبی برای هکرها است که بستن آنها به شما دربرابر حملات محافظت میکند.
از دستور “netstat” استفاده کنید تا همه پورتهای شبکه که باز هستند را به شما نمایش داده شود .
تنظیمات “iptables” را برای بستن همه پورتهای استفاده کنید یا از دستور “chkconfig” برای غیرفعال کردن سرویسهای ناخواسته استفاده کنید. و اگر از یک فایروال مثل CSF استفاده میکنید، میتوانید قوانین iptables را اتوماتیک کنید.
5.حذف ماژولها/بستههای ناخواسته
احتمالاً شما هم سرویسهایی رو سرور خود دارید که همه برای سرور لینوکس شما لازم نیست. توجه داشته باشید که هرسرویسی که شما از روی سرور خود حذف میکنید کمی از نگرانیهای امنیتی شما کمتر میکند، پس اطمینان حاصل کنید که از سرویسهایی روی سرور خود استفاده میکنید که واقعاً نیاز دارید.
حتماً در آینده هم از نصب نرمافزارهای غیرضروری اجتناب کنید تا مشکلات امنیتی برای شما بوجود نیاید.
6.غیرفعال کردن IPv6
IPv6 مزایایی زیادی نسبت به IPv4 دارد، اما احتمال این که از آن استفاده کنید بسیار کم است، چون افراد کمی از آن استفاده میکنند، اما هکرها بسیار از IPv6 استفاده میکنند.
اگر از IPv6 استفاده نمیکنید؟ آن را غیرفعال کنید.
آنها معمولا ترافیک بدخواهانه را از طریق IPv6 میفرستند و باز رها کردن پروتکل باعث میشود که در معرض تهدید قرار بگیرد. برای حل این مشکل، edit /etc/sysconfig/ network را بزنید و تنظیمات را به روز کنید به طوریکه آنها NETWORKING_ IPV6=no and IPV6INIT=no را بخوانند.
7.استفاده از رمزگذاری GnuPG
هکرها معمولا دادهها را زمانی مورد هدف قرار میدهند که داده ها در حال انتقال در شبکه هستند. به همین دلیل است که رمزگذاری انتقالها به سرور با استفاده از پسوردها، کلیدها و گواهیها ضروری است. یک ابزار پرطرفدار GnuPG است، یک سیستم احرازهویت مبتنی بر کلید که برای رمزگذاری ارتباطات استفاده میشود. این سیستم از “کلید عمومی” استفاده میکند که تنها توسط “کلید خصوصی” رمزگشایی میشود که تنها در سمت گیرنده موردنظر موجود است.
8.قرار دادن رمز عبور قوی
رمز عبور ضعیف همیشه یک تهدید بزرگ برای امنیت است. به کاربران سرور خود اجازه ندهید تا از رمز عبور ضعیف استفاده کنند که به راحتی قابل پیدا کردن هستند استفاده کنند.
برای انتخاب رمز عبور بهتر است از کلمات با حروف بزرگ و کوچک، از اعداد و از سمبلها استفاده کنید، همچنین میتوانید یک دوره زمانی خاص را مشخص کنید تا کاربر بعد آن زمان حتماً رمز عبور را باید عوض کند.
همچنین از دستور “faillog” برای تنظیم حد شکست در login استفاده کنید و حسابهای کاربری را بعد از تلاشهای شکست خورده پشت سرهم ببندید تا از سیستم در مقابل حملات brute force محافظت کنید.
9.پیکربندی دیوار آتش
شما نیاز به یک دیوار آتش دارید اگر بخواهید واقعا یک VPS امن داشته باشید.
خوشبختانه، موارد زیادی هستند که بتوان انتخاب کرد. NetFilter یک دیوار آتش است که با هسته لینوکس یکپارچه شده است و شما میتوانید آن را برای فیلتر کردن ترافیک ناخواسته تنظیم کنید. با کمک NetFilter و iptables، شما میتوانید با حملات denial of service (DDos) مقابله کنید.
تنظیم دیوارآتش کافی نیست، مطمئن شوید که به درستی پیکربندی شده باشد.
TCPWrapper یک برنامه مفیددیگر است، یک سیستم لیست کنترل دسترسی مبتنی بر میزبان[2]برای فیلتر کردن دسترسی شبکه برای برنامههای مختلف استفاده شده است. این برنامه اعتبارسنجی نام میزبان، logging استانداردشده و حفاظت در مقابل جاسوسی را نیز میدهد، همه آنها به بالا بردن امنیت شما کمک میکنند.
دیوارهای آتش پرطرفدار دیگر شامل CSF و APF هستند، هر دو پلاگینهایی برای پنلهای پرطرفدار مثل cPanel و Plesk دارند.
10.استفاده از پارتیشن بندی دیسک
برای افزایش امنیت، ایده خوبی است که دیسک پارتیشن بندی شود تا فایلهای سیستم عامل از فایلهای کاربر، فایلهای tmp و برنامههای طرف سوم جدا باشند. شما میتوانید دسترسی SUID/SGID (nosuid) و اجرای binariها (noexec) روی پارتیشن سیستم عامل را غیرفعال کنید.
آیا میخواهید بیشتر درباره امن کردن سرورمجازی لینوکس خود بدانید ؟ پس با ما همراه باشید.
11.بوت فقط در حال خواندن
روی سرورهای لینوکس، همه فایلهای هسته در دایرکتوری “/boot” ذخیره شدهاند.
اما سطح پیش فرض دسترسی برای این دایرکتوری “نوشتن-خواندن” است.برای جلوگیری از تغییرات احرازهویت نشده وغیرمجاز در فایلهای boot-که برای اجرای سرور شما حیاتی هستند، سطح دسترسی رابه “فقط خواندنی” تغییر دهید.
برای این کار، به سادگی فایل the /etc/fstab را ادیت کنید و پیش فرضهای LABEL=/boot /boot ext2، ro 1 2 در پایین را اضافه کنید. و اگر نیاز به تغییر در هسته در آینده داشتید، میتوانید به راحتی آن را به حالت “نوشتن-خواندن” برگردانید. سپس شما میتوانید تغییرات را ایجاد کرده و آن را به حالت “فقط خواندنی” بعد از اتمام کارتان دوباره برگردانید.
12.استفاده از SFTP نه FTP
پروتکل انتقال فایل FTP دیگر امن نیست، حتی وقتی از ارتباطات رمزشده “FTP روی TLS”(FTPS) استفاده کنید.
هر دو (FTPS) و FTP در معرض نفوذ هستند، وقتی یک برنامه کامپیوتری مداخله کرده و ترافیک عبوری از شبکه را رصد میکند. FTP پاک است و انتقالهای فایل FTPS نیز پاک هستند که یعنی فقط گواهیها رمز شدهاند.
SFTP که “FTP به وسیله SSH” است ( به آن “FTP امن” نیز میگویند) همه دادهها را کاملا رمزگذاری میکند و این موضوع باعث امن شدن سرور شما میشود.
13.استفاده از دیوار آتش
دیوار آتش شما، یک نگهدارنده دروازه است که هم اجازه دسترسی به سرور را میدهد و هم از آن جلوگیری میکند و اولین خط دفاعی شما برای مقابله با هکرها است.
نصب و پیکربندی یک دیوار آتش، اولین چیزی است که شما باید در زمان نصب و امن کردن VPS یا سرور bare metal انجام دهید.
تمام سرورهای مدیریت شده فراسو قبل از ارائه سرور مجازی به کاربر تنظیمات امنیتی انجام شده و پیکربندی فایروال سرور به طور کامل پیادهسازی میشود.
14.نصب نرمافزار آنتی ویروس
کار اصلی فایروال یا دیوار آتش جلوگیری از دسترسی به اطلاعات سرور است و اولین خط دفاع شما برای مقابله با هکرهاست، اما هیچ فایروالی کاملاً امن نیست و خیلی از نرم افزارهای خطرناک میتوانند از آنها عبور کنند به همین دلیل نیاز به تدابیر امنیتی دیگری نیاز است.
بسیاری از مدیران سرور آنتیویروس روی سرور خود نصب نمیکنند، چون از نظر آنها این کار محدودیت ایجاد میکند در صورتی که چون نصب این آنتیویروسها نیاز به کمی تخصص و هزینه دارد این کار را انجام نمیدهند. چون این افراد نمیخواهند هزینهای برای امنیت سرور خود کنند.
اما اگر بودجه کافی برای خرید آنتیویروسهای پولی ندارید میتوانید از نسخههای رایگان مثل ClamAV و Maldet استفاده کنید که میتوانند سرور شما را اسکن کنند و فایلهای مشکوک را به شما نمایش دهند. ما در فراسو درصورت درخواست مشتری این دو سرویس را برای مشتریان سرور مجازی خود نصب میکنیم.
15.بروزرسانی اتوماتیک CMS
هکرها همیشه در تلاش برای یافتن حفرههای امنیتی هستند، خصوصاً در سیستمهای مدیریت محتوا که معروفترین آنها جوملا، دروپال و وردپرس که بیشتر وبسایتها از این سیستمهای مدیریت محتوا برای سایت خود استفاده میکنند.
اکثر توسعه دهندگان این CMS ها بروزرسانیهای امنیتی زیادی منتشر میکنند. از بین این سیستمهای مدیریت محتوا، وردپرس بیشترین بروزرسانی را منتشر میکند.
همچنین این سیستم مدیریت محتوا به شما اجازه بروزرسانی به صورت اتوماتیک با انتشار نسخه جدید را میدهد، اگر شما از نسخه قدیمی وردپرس استفاده میکنید، همین حالا آنرا بروزرسانی کنید تا جلو نفوذ هکرها را بگیرید.
توجه داشته باشید که مدیریت سایت شما به عهده خود شماست نه شرکتی که میزبانی وب آنرا تهیه کردید و شما مسئول بروزرسانی همیشگی آن هستید، مگر اینکه بسته پشتیبان سایتهای وردپرس فراسو را تهیه کرده باشید.
16.فعال کردن cPHulk در WHM
علاوه بر دیوار آتش، cPanel یک سیستم امنیتی “cPHulk” بروت فورس دارد.
فایروالها بدون اشتباه نیستند و گاهی دچار اشتباه شده و هکرها میتوانند به آن نفوذ کنند که این هم اغلب بابت تنظیمات اشتباه فایروال اتفاق میافتد.
در این حین، cPHulk به عنوان یک دیوار آتش ثانویه عمل میکند، که از حملات بروت فورس روی سرور جلوگیری میکند.
ما میدانیم که cPHulk اول امکان login را بلاک میکندو دیوار آتش بعدا آن را گرفته و کل IP را ممنوع میکند. برای امکانپذیر کردن آن، شما نیاز خواهید داشت که به مرکز امنیتی WHM بروید و حفاظت cPHulk Brute Force را انتخاب کنید. این یک گام دیگر در فرایند سختسازی امنیتی است که ما از آن در VPS مدیریت شده خود و سرورهای اختصاصی استفاده کردهایم.
17.جلوگیری از بارگزاری FTP ناشناس
cPanel و Plesk هر دو بارگزاریهای FTP ناشناس را به صورت پیش فرض غیرفعال میکنند اما سرویسهای دیگر میتوانند به صورت پیش فرض فعال باشند.
اجازه دادن به کاربران ناشناس برای بارگزاری از طریق FTP، یک ریسک امنیتی بزرگ است، چون به هرکسی اجازه میدهد که هرچیزی را که میخواهد در وب سرور شما بارگزاری کند. همانطور که میتوانید تصور کنید، این مساله اصلا پیشنهاد نمیشود، این یعنی شما کلیدهای خود را به یک دزد بدهید.
برای غیرفعال کردن بارگزاریهای مهمان، تنظیمات پیکربندی FTP سرور خود را ادیت کنید.
18.نصب یک rootkit scanner
یکی از خطرناکترین بدافزارها، rootkit است.
Rootkit در سطح سیستم عامل وجود دارد، در زیر دیگر نرمافزارهای نرمال امنیتی و اجازه دسترسی تشخیص داده نشده به سرور را میدهد. خوشبختانه، شما میتوانید از “chrootkit” که ابزار منبع باز است را استفاده کنید تا بفهمید آیا سرور شما آلوده شده است یا خیر. اما rootkitها همیشه به سادگی قابل حذف نیستند، و بهترین راه از بین بردن آن، نصب مجدد سیستم عامل است.
19.گرفتن نسخههای پشتیبان به شکل مرتب
افراد بسیاری هستند که فراموش میکنند مرتبا نسخه پشتیبان تهیه کنند و زمانی حسرت میخورند که مشکلی پیش بیاید و یک کپی از دادههای خود نداشته باشند. مهم نیست چقدر مراقب هستید، و مهم نیست سرور شما تا چه حد امن است، همیشه احتمال خطا و مشکل وجود دارد.
هیچ وقت دچار ریسکهای خطرناک مثل نگرفتن نسخه پشتیبان را به جان نخرید و خیلی برای این کار به میزبان خود وابسته نباشید. گرفتن نسخههای پشتیبان توسط خودتان بهترین راه است، حتی اگر ارائه دهنده میزبان شما روزانه بکاپ تهیه کند. کپیها را در محلهای مختلف ذخیره کنید و استفاده از فضای پشتیبان یا گوگل درایو را نیز در نظر داشته باشید.
ما در فراسو فضای پشتیبان رایگان روی بیشتر سرورهای مجازی ارائه میدهیم اما اگر نیاز به فضای پشتیبان مجزا بودید میتوانید از ما فضای بکاپ مجزا تهیه کنید.
20.استفاده از رمزعبور قوی
همه جا این نکته را گفتهاند، اما باز هم بشنوید. پسوردهای ضعیف یک تهدید امنیتی برای سرور لینوکس شما محسوب میشود، البته این موضوع برای سرورهای ویندوز نیز صدق میکند! سعی کنید رمزی پیچیده انتخاب کنید، رمزعبوری تشکیل شده از حروف بزرگ و کوچک، اعداد و سمبلهای مختلف بسیار خوب است. سعی کنید رمزعبور خود را تا آنجا که ممکن است طولانی و پیچیده انتخاب کنید.
البتهCPanel و Plesk هردو میتوانند سیاست رمز عبور قوی را به کار گیرند و به صورت دورهای رمز عبور را منقضی کنند.
چگونه یک پسورد قوی تنظیم کنید
هنوز مطمئن نیستید که پسوردهای شما به اندازه کافی قوی هستند یا خیر؟ در اینجا چند راهکار برای ایجاد پسورد قوی معرفی شده است:
- پسورد طولانی باشد و به یاد بماند
- از کلمات صحیح استفاده نکنید (مثل “سیبهای سبز”)
- از قراردادن ترکیبهای ساده اجتناب کنید (مثل “hell0”)
- از هر نوع کلمه رایج فرهنگی اجتناب کنید (مثل “ncc1701”)
- حدس زدن آن غیرممکن باشد
- هرگز از یک پسورد دو بار استفاده نکنید
- لاگین root (Linux) یا RDP (Windows) باید از طریق پسورد منحصربفرد خود آنها باشد.
برای کسب بهترین نتیجه، به یاد داشته باشید که مرتبا پسورد خود را عوض کنید و از پسوردهای مختلف برای وب سایتهای مختلف استفاده کنید. هرگز پسورد خود راننویسید و هرگز آن را به کس دیگری نگویید.
نتیجهگیری
مشکلات در زیرساخت وب سرور میتواند بسیار بد باشد، مثل شنا در یک آب پر از کوسه با دندانهای تیز است.
میلیونها هکر در سراسر دنیا هستند که روی کوچکترین ضعفهای امنیتی VPS شما کار میکنند. لازم است که VPS خود را در مقابل این تهدیدات امن کنید، چون دیر یا زود، هکرها به سراغ شما میآیند.
سایتهای شرکتها و فروشگاههای اینترنتی، بهترین هدفهای هکرهای سراسر دنیا هستند. با این که اکثر شرکتها معیارهای امنیتی پایه را دارند، اما معمولا به راحتی مورد نفوذ قرار میگیرند.
سرورهای مدیریت شده ما شامل مسائل امنیتی و سختسازی امنیتی میشوند. ما امنیت سرورهای شما را مدیریت میکنیم تا شما بتوانید بر کار خود تمرکز داشته باشید.