بنده قصد دارم یک vps بگیرم و از مجازی سازی docker برای راه اندازی کانتیرنهای مورد نیاز جهت بالا آوردن سایتی که با فونیکس درست شده به همراه سرویس email استفاده کنم و همچنین یک سرویس ftp و یک انجمن discourse که در خارج از docker هست بالا بیارم .
مواردی که میخوام روی سرور و داکر انجام بدم به صورت زیر هست:
سرور
حذف پکیج های اضافه
بستن پورت های اضافه
راه اندازی سرویس ها با تنظیمات درست و امن
تنظیم درست فایروال
نصب برنامههای امنیتی مثل rkhunter - OSSEC
استراتژي برای جلوگیری از حمله ها
بکاپ گرفتن (بکاپ درست با تست)
لاگ گرفتن . ارسال لاگ . بررسی لاگ
مانیتورینگ شبکه و سرویس ها
آپدیت های منظم
کنترل دسترسی فایلها
چک کردن امنیت کلی سیستم عامل با برنامه
مستند سازی برای نصب اولیه و تغییرات آتی
خودکار کردن فرایندها تا حد ممکن
حذف هدرها در سرویس ها و برنامههایی که استفاده میشه یا عوض کردن اسم اونا
استفاده از Selinux برای محدود کردن دسترسی سرویس ها
سرویس های مورد نیاز برروی سرور
Docker
FTP مثل PureFTPd
SSH
===============================
Docker
درست کردن کانتینر با تنظیمات درست و امن
شبکه بندی درست و امن
محدود کردن منابع روی هر کانتینر
داکر swarm
بالانس کردن
مانیتور کردن کانتینرها
==============================
کانتینرها در داکر
فونیکس
redis
postgresql
mail
nginx
discourse
موارد دیگه ای هم برای امن کردن سرور البته هست که چون زیاد بودن در بالا ننوشتم و بیشتر سعی کردم به صورت کلی بنویسم .چون این اولین تجربه من در مورد داکر و سرور هست .در حال حاضر سؤالی در مورد موارد بالا ندارم . اگر موردی کم یا اشتباه نوشته شده لطفاً بفرمایید تا من اصلاح کنم
درسته فعلا چیزی برای بکاپ وجود نداره ولی این مورد انجام میشه و با خودکار سازیش دیگه زمانی صرف نمیشه برای اون
بله rsyslog و اینکه میخوام لاگ رو به جای دیگه ای بفرستم حالا یک سرور دیگه یا برای خودم ایمیل بکنم
این مورد رو توی یک فیلم آموزشی شنیده بودم که برنامه هایی هستند که وضعیت کلی سرور رو بررسی میکنن از بر اساس مواردی که لازم هست انجام شده باشه ولی ممکنه که سهوا اون موارد فراموش شده باشند البته هنوز در این مورد سرچ نکردم ببینم چه برنامه هایی وجود دارن
[quote=“lxsameer, post:4, topic:2379”]
اگر توسعه ندارید این مورد معنی نداره.
در مورد خودکار کردن فرایندها فعلا بکاپ مد نظر بود
البته اکثر مواردی که نوشتم طی زمان باید انجام بشه و همه رو نمیتونم همون اول پیاده کنم . در مورد SElinux هم رفتن رنامه های آینده هست چون واقعا زمان بر و سخت هست برای کسی قبلا باهاش کار نکرده .
این مورد چه زمانی نیاز میشه ؟
اگر این مورد انجام نشه و یک سرویس در کانتیری دچار مشکل بشه و رم کل سرور رو مصرف بکنه آیا دچار مشکل نمیشه ؟
منظورم از امن در همه قسمت ها این هست که تنظیماتی که برای secure کردن یک سرویس وجود داره انجام بشه .
برای ایمیل و ftp که با یه بک آپ در سطح storage اوکی هستند و عملا شما کاری لازم نیست بکنین. discourse هم خودش بک آپ اتوماتیک داره رو S3 یا هر ستوریج S3 compatible.
سرور ممکن هست اوکی باشه اما میل نه. از طرفی شما احتمالا به یه log aggregator نیاز دراین تا rsyslog
بستگی به scale داره . باید بدونم چقدر کاربر دارید. اما در کل برای استفاده از orchestration باید یه سری چیزا رو رعایت کنین و یه minimum ی هم نیاز هست وگر نه overkill هستش
اتفاقا باید هدف این باشه که از تمام منابع سرور استفاده کنین.
منظور اینه که از اول باید نگران چیزایی باشید که مهم هست. فکر کردن و زمان گذاشتن روی چیزایی که در اون stage مهم نیستند می تونه هزینه الکی براتون داشته باشه
سمیر جان برخی از تنظیمات امنیتی خود nginix به نظر شما نیاز نیست؟ مثل اضافه کردن هدر های امنیتی و …
سمیر جان در مورد تنظیمات دیفالت سو آرم . فکر می کنید به صورت کلی کمک کننده نیست ؟ چون به کل ما دیدی از تعداد کاربر نداریم . به صورت مثال در یک روز فقط ۲۰ نفر بازدید کننده اومده به سایت ولی در یک روزی بر اساس تبلیغات دوره ای قرار دادن نرم افزار رایگان برای عموم یک دفعه ۱۰۰ هزار نفر اومده روی سایت. این مورد یک بار اتفاق افتاده برامون
روی سرور یک سایت نیست یعنی یک کانیتنر باشه . اینجوری سه سایت ما اگر یک کانتینر کل رم رو بگیره می خوابه درسته ؟
در آخر به نظرتون خوب نیست برخی از تنظیمات بهینه کننده انجینیکس که در اینترنت هست و بسیار زیادی داره همون اول انجام بشه ؟ چون اونا هزینه نیستن بیشتر بهینه سازی هستند ؟
خونده بودم و منظورم از پر شدن رم و ایجاد مشکل این بود . ولی میخوایم که تعداد بیشتری سایت رو در یک سرور قرار بدیم با استفاده درست از منابع . بدون مشکل و پایدار
مثلا چه تنظیماتی ؟ یادتون باشه که هرچیزی که توی اینترنت می خونین لزوما به درد شما نمی خوره.
آیا اپ شما قابلیت این رو داره یه صورت horizontal سکیل بشه ؟ و آیا cloud provider شما API داره ؟
از اینها که بگذریم برای لول کاری که می خواید انجام بدید به نظر من orchestration نیازی ندارید. چون بی خودی هزینه براتون داره در صورتی که خودتون می تونین این کار رو تا حدودی انجام بدید که هزینه براتون کم شه. ولی خوب انتخاب با شماست.
این مورد بر می گرده و شیوه پیاده سازی کل سیستمتون. شما باید در زمان توسعه نرم افزار به صورت حدودی بدونید که مصرف نرم افزارتون چقدر هست. اگر orchestration ندارید. باید برای کانتینر هاتون پلن داشته باشید. هیچ وقت نباید به صورت رندم کانتینر های مختلف روی یه سرور نگه دارید. تعداد کانتینر هاتون باید بر اساس مصرفشون و نوعشون روی یه سرور تعیین بشن. یعنی نیاید این جوری باشه که شما کانتینر وب و دیتابیستون باهم روی یه سرور باشه و …
من در مورد swarm کمی سرچ کردم . اینطور که متوجه شدم swarm برای کانتینرهای زیادی هست که بخوایم مدیریت و بالانس انجام بدیم و طبق صحبت شما با تعداد کانتیرها و سرویس های کمی که ما داریم فایده ای نداره . من یک پستی رو خوندم که برای اینکه swarm رو فعال بکنه چندتا داکر ماشین درست کرد یکی manager و چند تا worker
آیا هر داکر ماشین یک vps هست ؟
یادمه قبلا روی یک سرور که vps بود خواستم داکر ماشین درست کنم با درایور Oracle VirtualBox ولی نشد حالا نمیدونم اصلا درایور متناسب بود یا نه . آیا برای فعال کردن و استفاده از حالت swarm باید یک سرور dedicate داشت که چند تا داکر ماشین درست کرد یا روی vps هم امکان پذیره که بعدا همه رو با هم join کرد ؟
برای ران کردن داکر نیازی به virtualbox ندارید. داکر مستقیما روی lxc کرنل لینوکس ران می شه. در مورد swarm و هر orchestration دیگه ای شما یه سری سرور نیاز دارید که می تونن VPS باشن اما خوب خیلی توصیه می شه که از سرور های bare metal استفاده کنین
درسته روی یک vps در حالت نرمال که میشه داکر رو نصب و استفاده کرد ولی منظورم این بود که روی یک vps با استفاده از دستور docker-machine چندتا دیگه درست بکنم تا توی حالت swarm استفاده بکنم
docker-machine تا جایی که می دونم برای مک هست و دلیلش هم اینه که کرنل مک چیزی شبیه lxc لینوکس نداره و برای همین یه ابزار ساختن به اسم docker-machine که روی virtualbox یه لینوکس نصب می کنه و روی اون یه داکر. برای swarm هیچ نیازی به docker-machine نیست
سمیر جان یک باری که از http://scaleway.com خرید داشتیم به کمک شما که هنوز شرمنده شما هستیم از اون موقع تاحالا . متاسفانه روی کرنل های کاستومش خیلی مشکل بود حتی ایشو های زیادی در گیت هابشون بود که همه مشکل داشتن و پاسخ نگرفته بودن. آیا شما سرور های برا متال رو جایی دیگه می شناسید .
متاسفانه انقدر وضعیت قیمت ارز نا به سامانه بسیار ترس و ریسک داره خریدشون . صبح دیروز یک وی پی اس گرفتم ۲۰۰ غروبش شد ۲۵۰
سمیر جان یک سوال دیگه شما در بالا فرمودید آیا سایت شما قابلیت توزیع پذیری داره یا نه . یک سوال متفرقه از خدمتت بپرسم اینکه این توزیع پذیری فقط در بخش سرور هست یا سایت هم باید به اون صورت نوشته شده باشه سایت ما به صورت میکروسرویس ساخت شده
منظور از bare metal سرور سخت افزاری هست و به پرداکت هیچ شرکتی اشاره نکردم. در مورد scaleway شما احتمالا در مورد سرور های ARM شون صحبت می کنین که داشتانشون فرق داره کلا.
در مورد نرم افزار و scalability هم باید بگم که در مرحله اول کاملا به ساختار نرم افزار بر می گرده و مهم نیست که مایکرو سرویس هستین یا نه. با طراحی اشتباه این قابلیت از دست می ره