منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش کامل سرور مجازی لینوکس دبیان ( شماره ۳ )

بررسی سیستم عامل نصب شده بر روی سرور مجازی توسط هاستینگ

متاسفانه خیلی از هاستینگ ها یا کارگزاران اجازه نصب سیستم عامل توسط کاربران رو نمیدن و حتی برای تعویض سیستم عامل از کاربر مبلغی رو دریافت می کنند ! من هر طوری که به قضیه نگاه می کنم نمی تونم تصور کنم سیستم عاملی که قرار هست فایل ها و پرونده های مهمی رو توش نگهداری کنم توسط یکی دیگه نصب شده باشه چرا که ممکنه مراحل نصب رو اشتباه طی کرده باشه یا مثلا بعد از نصب دسترسی و بک دوری روی سرور نصب کرده باشه.

توی همچین شرایطی نمیشه ۱۰۰٪ مطمئن شد که سیستم عامل نصب شده مشکلی نداره اما می شه با بررسی چنتا فاکتور کمی به عملکرد صحیح سرور مطمئن شد.

 

• تغییر پسورد یوزر اصلی سرور یعنی root :

طبیعتا وقتی سیستم عامل توسط یکی دیگه نصب میشه، پسورد ها توسط همون شخص انتخاب میشن لذا لازم هست در اولین مرحله پسورد یوزر اصلی یعنی root تغییر پیدا کنه. برای این منظور ابتدا وارد یوزر روت میشیم :

su - root

 

سپس با استفاده از دستور زیر ، پسورد یوزر روت رو تغییر می دیم :

passwd root

 

• تغییر پسورد دیگر یوزر های موجود بر روی سرور :

هنگام نصب سیستم عامل، علاوه بر انتخاب پسورد برای یوزر روت، باید یک یوزر جدیدی ساخته شود که این یوزر توسط کارگزار ساخته و برای آن پسوردی انتخاب می شود. جهت تغییر پسورد این یوزر نیز به شکل زیر عمل می کنیم :

passwd user001

 

نکته : توجه کنید که user001 در اینجا مثال می باشد و شما باید یوزر سرور خودتون رو وارد کنید.

نکته : اگر یوزر های دیگه ای هم روی سرور وجود داشت، همین فرایند رو تکرار می کنیم.

 

• چک کردن فایل passwd :

یکی از فایل های مهم بر روی سیستم passwd است که تمامی مسائل مربوط به یوزر ها در این فایل نگهداری می شود. لذا جهت اطمینان از نبودن یوزر نا مربوطی بر روی سیستم، این فایل رو چک می کنیم. برای این منظور :

cat /etc/passwd

 

توجه : به صورت پیشفرض و با نصب سرویس های مختلف، یوزر های متفاوتی بر روی سرور ایجاد می شود. به عنوان مثال www-data که این یوزر ها مشکلی برای سرور ایجاد نمی کنند.

جهت مطالعه و چک کردن بهتر این فایل می توان از دو دستور زیر استفاده کرد :

cat /etc/passwd | grep -v nologin | grep -v false
cat /etc/passwd | grep /bin/bash

 

توجه : جهت دسترسی به این فایل ، یوزر روت نیاز نیست.

• چک کردن فایل shadow :

یکی از فایل های حساس سیستمی که سطح دسترسی روت برای ویرایش و خواندن نیاز دارد، فایل shadow است. در صورتی که یوزر دارای پسورد باشد، هش شده ی پسورد درون این فایل قرار می گیرد لذا جهت چک کردن یوزر های موجود در سیستم می توان از مطالعه این فایل نیز استفاده کرد. برای این منظور :

cat /etc/shadow

 

نکته : همان طور که گفته شد، جهت دسترسی به این فایل ، سطح دسترسی روت نیاز است.

 

• شل پیشفرض یوزر ها :

هر یوزری که بر روی سرور ساخته می شود ( حتی روت ) شلی ( shell ) برای خود در نظر می گیرد. به صورت پیش فرض بر روی سیستم های لینوکسی از دو شل bash و sh استفاده می شود که آدرس این دو معمولا به صورت زیر است :

/bin/bash
/bin/sh

 

شل در نظر گرفته شده برای هر یوزر، درون فایل passwd مشخص شده است لذا انتظار می رود شل مورد استفاده در یوزر ها حتما چک شود. چرا که ممکن است اسکریپتی وجود داشته باشد که پسوردی که هنگام وارد شدن به سرور می زنید را برای فردی ارسال کند.

همچنین تنها به چک کردن آدرس شل بسنده نکنید و خود فایل مربوط به شل را نیز چک کنید تا مبادا اسکریپت مخربی باشد.

 

• چک کردن فایل crontab :

جهت اجرای اسکریپت ها و برنامه های مختلف بر روی سرور، از این فایل استفاده می شود. لذا برای مطمئن شدن از این که فایل و اسکریپت مخربی به صورت زمان بندی شده بر روی سرور اجرا نمی شود، محتوای این فایل رو چک کنید :

cat /etc/crontab

 

• چک کردن فایل etc/profile/ :

با استفاده از این فایل می توان اسکریپت یا برنامه ای را برای هر یوزری اجرا کرد. به این صورت که اگر فرد وارد یوزر خود شود ( چه از طریق کنسول و چه از طریق ssh ) اسکریپتی خاص برای آن اجرا می شود. لذا انتظار می رود محتوای این فایل رو چک کنید تا برنامه و اسکریپت مخربی وجود نداشته باشد.

nano /etc/profile

 

• چک کردن فایل bashrc :

هر یوزر در درون home directory خود این فایل را به صورت مخفی دارد. جهت چک کردن از عدم وجود فایل یا اسکریپت مخربی این فایل رو هم چک کنید. به عنوان مثال برای یوزر روت :

nano /root/.bashrc

 

• مشاهده پورت های فعال بر روی سرور :

به صورت پیشفرض و همچنین با نصب سرویس های مختلف، پورت هایی بر روی سرور شما باز و فعال می شود که حتما باید توسط شما چک و شناخته شده باشند. برای این منظور از ابزار netstat به صورت زیر استفاده می کنیم :

netstat -lptun

 

نکته : در صورتی که سرویس مشکوکی رو مشاهده کردید، PID آن را کیل کنید.

نکته : با استفاده از سوییچ های بالا، هم پورت های آی پی ورژن ۴ و هم پورت ها ورژن ۶ نمایش داده می شود.

نکته : طبیعتا نیازی به فعال بودن تمامی پورت ها بر روی سرور نیست لذا می توان سرویس مربوط به آن را stop کرد یا با استفاده از فایروال جلوی برقراری ارتباط با آن را گرفت.

 

  • راه و روش های دیگری برای چک کردن سلامت سرور وجود دارد که در پست های بعدی به آن می پردازیم.
  • تست شده بر روی debian-9.1.0-amd64-netinst
  • هرگونه انتقاد، پیشنهاد و سوال رو زیر همین پست مطرح کنید یا با ایمیل [email protected] در تماس باشید.



برچسب ها : , , , , , , , , ,