آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / سیستم عامل

سیستم عامل

افزایش امنیت سرورهای لینوکسی به زبان ساده (بخش دوم)

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

  • سرویس ها و پکیج های غیرضروری را نصب نکنید. تنها ماژول هایی را نصب کنید که به آن ها نیاز دارید.
  • اتصال SSH از طریق root را محدود نمایید، راهکار مناسب استفاده از ورود دو مرحله ای ۲-Factor می باشد. حتما root login  را در سرویس ssh به حالت disable  قرار دهید. میتوانید از SSH-Key Logins استفاده کنید.
    امن سازی ssh
  • از پورت های پیش فرض استفاده نکنید. برای سرویس هایی مانند ssh پورت پیش فرض ۲۲ را به پورت دیگری تغییر دهید.
  • فایروال سرور را تنظیم نمایید. پورت ها و دسترسی های اضافی را بلاک کنید. تنها پورت های مورد نظر را باز کنید.
    تنظیمات فایروال csf
  • دسترسی ها و پرمیژن ها را بدرستی تنظیم کنید و از دادن دسترسی هایی بیشتر از نیاز واقعی به فایل ها و مسیر ها بپرهیزید.
  • از هر سیستمی و هر جایی به سرور خود متصل نشوید! رمزها را بروی مرورگر یا نرم افزارها ذخیره نکنید.
  • از نرم افزارهای مدیریت و ذخیره پسورد مانند keepass استفاده کنید.
  • در صورتی که سرور شما بصورت نصب و راه اندازی شده به شما تحویل داده شد تمام پسورد های مربوط به سرور مانند root و SQL  را تغییر دهید.

افزایش امنیت سرورهای لینوکسی به زبان ساده (بخش اول)

افزایش امنیت سرورهای لینوکسی 
این روزها همه نگران امنیت سرور هستند اما واقعا با وجود تمام مشکلات، اراده ای برای استفاده از راهکارهای مناسب و یادگیری آن مشاهده نمیشود. در این مقاله سعی داریم نکات کلیدی که گاها بسیار ساده هستند اما در اغلب اوقات به آن ها توجه نمیشود را بررسی کنیم.
+ اتصال، ارتباط و انتقال رمزنگاری شده و امن
این موضوع از اهمیت بالایی برخوردار است اما همچنان نادیده گرفته میشود. هنوز هم اکثر مدیران سرور به علت راحتی کار از اتصال ها و ارتباطات غیر امن استفاده میکنند.
پیشنهادها:
– استفاده از ssh، scp، rsync و SFTP برای انتقال اطلاعات. یا با استفاده از ابزارهای sshfs و  fuse می توانید فایل سیستم را در مکان مورد نظر map کنید.
– استفاده از VPN برای ایجا کانال رمزنگاری شده برای ارتباط ها
– استفاده از SSL برای وب سرور جهت ارتباط امن بین سرور و کلاینت
– تا جای ممکن است FTP، Telnet و RSH استفاده نکنید. با توجه به اینکه اطلاعات در این حالت clear Text هستند امکان sniff کردن اطلاعات وجود دارد.
– بسته ها، پکیچ ها و نرم افزارهای اضافی و بلااستفاده را نصب نکنید.
– سعی کنید سرویس های مختلف را بروی سرورها مجزا با آدرس های متفاوت ایجاد کنید. برای این کار میتوانید از مجازی سازی کمک بگیرید.
– kernel و تمام نرمافزارهای سرور را بروز نگه دارید.
– از اکستنشن های امنیتی سیستم عامل استفاده کنید. Selinux توانایی زیادی در کنترل امنیت سرور دارد اما از جایی که پیکربندی و تنظیمات آن دشوار است اغلب این ویژگی را غیرفعال میکنند! برای استفاده از این ابزارها باید مهارت لازم را داشته باشید.
استفاده از Selinux پیشنهاد میشود. کنترل دسترسی ها و مجوزها در سطوح مختلف را پیاده سازی میکند.

فایل Hosts سیستم عامل چیست؟ چگونه فایل Hosts را تغییر دهیم.

سیستم ابتدا فایل Hosts را بررسی میکند و سپس به سراغ DNS های سیستم میرود، بنابراین برای مشاهده سایت هایی که هنوز DNS آن ها را تنظیم نکرده اید و یا سرور میزبانی کننده دارای DNS سرور نیست، میتوانید از فایل Hosts برای این منظور استفاده کنید. در واقع بجای ترجمه آدرس سایت از طریق DNS، درخواست مستقیما از IP تنظیم شده فراخوانی میشود.

برای تغییر فایل هاست Hosts در سیستم عامل های مختلف توجه داشته باشید که باید دسترسی کافی برای تغییرات داشته باشید، همچنین آنتی ویروس و فایروال سیستم خود را غیر فعال نمایید.

نحوه تغییر فایل Hosts در ویندوز 

نحوه تغییر فایل Hosts در لینوکس

نحوه تغییر فایل Hosts در مک 

همچنین میتوانید از  افزونه virtual host مرورگر کروم chrome استفاده کنید. در این حالت برای مشاهده سایت دیگر نیاز به ویرایش فایل hosts سیستم را ندارید. کافی است افزونه virtual host رابروی مرورگر chrome خود نصب کنید.

پرمیژن طلایی

استفاده از پرمیژن های مناسب تاثییر بسیاری در جلوگیری از سو استفاده از اطلاعات و حفظ امنیت دارد.
می توانید از دستورات زیر در cron برای تنظیم خودکار پرمیژن فایل های مهم مانند config دیتابیس استفاده نمایید.

find /home/*/public_html/configuration.php -print -exec chmod 400 {} ;
find /home/*/public_html/config.php -print -exec chmod 400 {} ;
find /home/*/public_html/wp-config.php -print -exec chmod 400 {} ;
find /home/*/public_html/*/configuration.php -print -exec chmod 400 {} ;
find /home/*/public_html/*/config.php -print -exec chmod 400 {} ;
find /home/*/public_html/*/wp-config.php -print -exec chmod 400 {} ;
find /home -type d -perm 777 -print -exec chmod 755 {} ;

می توانید فایل های دیگر را نیز اضافه نمایید.

تنظیم TimeZone سرور لینوکس

برای تنظیم ساعت سرور به زمان ایران باید از طریق ssh دستورات زیر را اجرا نمایید:

mv /etc/localtime /etc/localtime.bak
rm -f /etc/adjtime 
ln -s /usr/share/zoneinfo/Asia/Tehran  /etc/localtime
ntpdate 0.asia.pool.ntp.org

همچنین برای یکسان سازی hardware clock و system clock در مسیر زیر باید فایل clock را ویرایش نمایید:

nano /etc/sysconfig/clock

و تنظیمات بصورت زیر باشد:

UTC=false
ZONE="Asia/Tehran"

برای تنظیم ساعت php در مسیر زیر php.ini سرور مقدار زیر را تنظیم نمایید.

date.timezone = "Asia/Tehran"

افزایش session های Remote Desktop

یه صورت پیشفرض در ویندوز سرور شما فقط می توانید با دو یوزر به سرور از طریق remote desktop متصل شوید با استفاده از این آموزش شما می توانید با هر تعداد یوزر و session که می خواهید به سرور ویندوز از طریق remote desktop متصل شوید.

برای افزایش تعداد connection ها در ویندوز سرور مراحل زیر را انجام دهید :

۱ – ابتدا run را بازکنید و سپس دستور gpedit.msc را در آن وارد کنید.
۲ – سپس به مسیر زیر بروید :
در ویندوز سرور ۲۰۰۸ :
Computer ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostConnections
در ویندوز سرور ۲۰۰۳ :
Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal Services

۳ – حال برای افزایش تعداد connection ها به مقدار دلخواه :

در ویندوز سرور ۲۰۰۸ Restrict each user to a single session را انتخاب کنید و مقدار دلخواه خود را وارد کنید .

در ویندوز سرور ۲۰۰۳ Restrict Terminal Services users to a single remote session را انتخاب کرده و تعداد connection های مورد نظر خود را وارد کنید.

برای اعمال تغییرات سرور خود را restart کنید.

انتقال اطلاعات از طریق rsync

برای انتقال اطلاعات از یک سرور ب سرور دیگر می توانید از دستور rsync استفاده کرد.

screen rsync  -arPvz file.tar --rsh='ssh -p227' root@187.92.8.45:/your/destination/address

ویا دستور زیر:

screen rsync -arvz -e 'ssh -p 227' * root@37.187.12.16:/your/destination/address

مقابل -p باید port سرور مقصد را وارد نمایید و پس از @ باید IP سرور مقصد را وارد کنید.

r جهت انتقال اطلاعات زیر پوشه ها

P جهت مشاهده درصد پیشرفت عملیات انتقال

فایل های Network Configuration و کاربرد آن ها

فایل های پیکربندی اولیه مورد استفاده در پیکربندی شبکه در RedHat وCentOS

/etc/hosts

عملکرد اصلی این فایل resolve کردن Hostname ها می باشد. صرف نظر از نوع شبکه این فایل باید دارای IP مربوط به localhost.localdomain با مقدار ۱۲۷٫۰٫۰٫۱ باشد.

/etc/resolv.conf

این فایل، آدرس های IP سرویس دهنده DNS و دامنه جستجو را مشخص می کند.

ادامه ی مطلب

CloudLinux چیست و چه مزایای دارد؟

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

سیستم عامل cloud linux از سال ۲۰۱۰  با هدف پیاده سازی و مراقبت از  امنیت، پایداری به بازار وارد شد. cloun linux از نوآوری هایی مانند CageFS جهت بهبود امنیت و ثبات در سرورها استفاده نمود تا سرور با وجود مشکلات استفاده غیر مجاز کاربران از منابع همچنان پایدار بماند. cloud linux   بهینه شدن سرور را با استفاده از ایجاد محدودیت در استفاده از CPU، I/O و Memeory تضمین میکند. اصول این سیستم عامل شامل  افزایش پایداری، تراکم، و امنیت سرورها می باشد.

این سیستم عامل به طور خاص  برای از سرور میزبانی مشترک بهینه سازی شده است. آمارهای منتشر شده از سمت این شرکت گزارش Uptime بهتر، کاهش ۱۰ برابری suspend شدن سرویس های مشتری را نشان میدهد. همچنین مدعی است با استفاده از این روش تعداد ریزش کمتر مشتری ها به علت مشکلات سرویس دهی رخ داده است.

همچنین افزایش امنیت در مقابل حملات symlink و ردیابی از طریق exploits ها را با محدود کردن قابلیت دسترسی ProcFS تنها برای زمان های مورد نیاز تامین میکند.

open stack چیست؟

open stack یک پروژه‌ی متن باز ابری: open stack یک پلتفرم رایگان و متن باز محاسبات ابری است.

رایانش ابری روشی است که در آن گروه زیادی از سرورها (remote servers) تحت یک شبکه واحد اجازه متمرکز کردن ذخیره داده ها، دسترسی آنلاین به سرویس های کامپیوتری و یا منایع را فراهم میسازند. در حقیقت یک اشتراک گذاری منابع برای رسیدن به انسجام در یک مقیاس اقتصادی می باشد. این روش زیرساخت های همگرا و خدمات به اشتراک گذاشته را تدوین میکند.

کاربران در درجه اول به عنوان یک  راه حل برای سرویس گسترش دهنده زیرساختی (IaaS) از open stack یاد میکنند. در حقیقت open stack یک نرم افزاری است که مفهوم cloud را پیاده سازی میکند. این تکنولوژی شامل یک سری از پروژه های مرتبط در رابطه کنترل منابعی شامل پردازش،‌ذخیره سازی، منابع شبکه (networking resources) در دیتاسنتر است که کاربران از طریق یک داشبورد web-based،‌ خط فرمان command line و یا یک API می توانند آن را کنترل نمایند.

http://serversetup.ir

OpenStack.org تحت لایسنس Apache  منتشر گردیده است. پروژه open stack  برای کمک به سازمان ارائه خدمات رایانش ابری در حال اجرا بر روی سخت افزار استاندارد در نظر گرفته شده است. در سال ۲۰۱۱ توسعه دهندگان Ubuntu Linux تصمیم گرفتند از OpenStack به عنوان یک تکنولوژی پشتیبانی نشده با نام Bexar در نسخه Ubuntu 11.04 توزیع Natty Narwhal استفاده کنند. در سال ۲۰۱۲ شرکت Red Hat اعلام کرد یک پیش نمایش از توزیع open stack خود را با نام Essex منتشر کرده است.

OpenStack Overview (1:44)

12