۱. همه عجله داریم اما چندتا کار و نکته ساده بعد از گرفتن سرورهای #لینوکس هست که شاید انجام دادنشون ۵ دقیقه هم زمان نبره ولی برای تامین امنیت اولیه، پایداری و مدیریت راحتتر این سرورها مفیده.
۲. انتخاب سیستمعامل: اوبونتو انتخاب محبوبیه که آموزشهای زیادی براش هست و سازگاری خوبی با نرمافزارهای مختلف داره. اما کدوم نسخهاش؟ اوبونتو هر ۶ ماه یه نسخه میده، یکی آوریل (ماه چهارم) و یکی اکتبر (ماه دهم) و انتشارها به شکل سال و ماه اسمگذاری میشن. مثلا 22.04 برای سرور.../
۳. برای سرور فقط باید نسخههای LTS اوبونتو انتخاب بشن که چهارمین انتشار از هر سیکل محسوب میشه و ۵ سال آپدیت داره: - 22.04 (LTS) - 22.10 - 23.04 - 23.10 - 24.04 (LTS) پس فقط ۲۲.۰۴ یا ۲۴.۰۴ بسته به سازگاری نرمافزاری که داریم انتخاب میشن. احتمالا ۲۲ بهتره برای پنلا.
۴. بهروزرسانی سرور بعد از لاگین: اوبونتو از پکیجمنیجر APT برای مدیریت نرمافزار استفاده میکنه که دستورای غریبی داره: # apt update به معنی آپدیت شدن سرور نیست و فقط لیست مخازن رو بهروز میکنه. برای آپدیت سرور: # apt update && apt upgrade -y و حتما بعدش : # systemctl reboot
۵. بازم apt عزیز خودش نسخههای کهنه رو حذف نمیکنه. بعد از روشن شدن دوباره سرور، پکیجهای قدیمی رو پاک میکنیم تا فضای این سرورهای ارزون الکی پر نشن: # apt autoremove جلوی [Y/n] لازم نیست تایپ کنیم y چون گزینه پیشفرض که با اینتر زدن انتخاب میشه با حرف بزرگ نوشته میشه.
۶. هاستنیم: تعداد سرورها که بشه دو تا و بیشتر از روی پرامپت شل نمیشه نمیفهمید کدوم به کدومه. بهتره به سرورها اسم بدیم: # nano /etc/hostname چرتی که توشه رو پاک میکنیم و اسم دلخواه (server-us-01) یا اگه دامنه یا زیردامنه برای سرور داریم رو مینویسیم (http://us-01.mydomain.net)
۷. نانو یه ویرایشگر متن تحت ترمیناله که روی اوبونتو نصبه: برای ذخیره تغییرات: ctrl + O برای خروج: ctrl + X دنده عقب نداره، اگه خراب کاری شد خروج میزنیم و n و enter. بهتره قبل از باز کردن فایلای مهم بکاپ بگیریم: $ cp http://config.sh http://config.sh.bak
۸. دیاناسها (اختیاری): برای تغییر دیاناسهایی که سرور ازشون برای ریزالو آدرسها استفاده میکنه: # nano /etc/resolv.conf
۹. ساعت سرور (اختیاری): بعضی از نرمافزارها ممکنه نیاز داشته باشن که زمان کلاینت متصل به اونا با سرور اختلاف زیادی نداشته باشه. برای تنظیم ساعت سرور روی تهران: # timedatectl set-timezone Asia/Tehran
۱۰. فایروال (مهم): هر مدل سرویسی هم که بخوایم نصب کنیم هیچ توجیهی نداره همه پورتها (بخوانید درب و پنجره) همینجوری باز بمونه. نصب: # apt install ufw -y پورت ۲۲ برای اتصال به سرور باید باز بمونه: # ufw allow 22/tcp روشن میکنیم: # ufw enable تقلب: https://learnubuntu.com/conten...
۱۱. مزاحمیاب: به هر حال یه عده شروع میکنن به لگد زدن به این درهای سرور. یه ابزار ساده برای قلم کردن این پاها: # apt install fail2ban ممکنه خودش روشن نشه: # systemctl enable --now fail2ban https://linuxize.com/post/inst...
۱۲. خلاقیت ممنوع: تا جای ممکن سرور باید هم رنگ جماعت باشه. مثلا تغییر دادن پورت SSH از 22 به مثلا 2233 هیچ کمکی به امنیت نمیکنه بلکه بدتر...
۱۳. ساخت کاربر (اجباری و خیلی مهم): تا اینجا ما با کاربر root و پسوردی که فروشنده بهمون داده وارد سرور میشدیم و پرامپت بش هم با یه # تموم میشد. کاربر روت سرور باید غیرفعال بشه و یوزر خودمون رو داشته باشیم. ساختن کاربر مثلا king: # adduser king فقط پسورد کافیه بقیه اینتر.../
۱۴. کاربر رو به گروه sudo اضافه میکنیم: # usermod -aG sudo king با تایپ exit از سرور لاگاوت میشیم (یا ctrl + d). حالا یه کار سختی داریم که فقط یکبار کافیه انجام بشه و اونم ساختن جفتکلید ssh هستش که دیگه با این پسوردای مسخره به سرورهامون لاگین نکنیم.../
۱۵. روی کامپیوتر (نه سرور) اول یه جفت کلید تولید میکنیم. روی ترمینال یا پاورشل یا هر چی: ssh-keygen -t rsa -b 4096 اینتر، پسورد نمیخواد، اینتر خالی میزنیم. در نهایت این دستور دو تا فایل داخل پوشه .ssh برامون میسازه: id_rsa id_rsa.pub ازشون بکاپ خیلی محکم و امن میگیریم.../
۱۶. حالا چون کلید خصوصی یعنی id_rsa روی کامپیوتر ماست، هر جا کلید pub جفتشو بندازیم میتونیم بهش وصل بشیم. ssh-copy-id -i ~/.ssh/id_rsa.pub king@server-ip پسورد یوزر رو میزنیم. با این کار کلید رو میفرستیم روی سرور. حالا ssh میزنیم. با کاربر غیر روت و پرامپت $ باید لاگین باشیم/
لطفا ریتویت نکنید ناقصه رشته ۲۵ تا بود ❤️
