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

چه میزان RAM برای سرور نیاز دارم؟

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

۱- سیستم عامل:

خیلی مهم است که بدانیم سیستم عامل ما چه میزان Ram نیاز دارد، توسعه دهندگان سیستم عامل ها همشیه minimum مقدار Ram مورد نیاز را اعلام میکنند. به عنوان مثال Windows Server 2003 نیاز به کمینه ۵۱۲M Ram دارد، اما میزان پیشهاد شده ۱G Ram می باشد، برای CentOS 6 نیز میزان کمینه Ram 512M است اما کارشناسان ۱G Ram را پیشنهاد میدهند. البته توجه داشته باشد نوع معماری سیستم عامل نیز در این موضوع تاثیر گذار است، سیستم عامل های ۳۲Bit به Ram کمتری نیاز دارند.

حتی نوع سیستم عامل نیز می تواند موثر باشد به عنوان مثال  Windows Standard Edition به میزان  ۴GB Ram در نسخه های ۲۰۰۳ و ۲۰۰۸ نیاز دارد اما Windows Home Server 2011 کمترین مقدار ۲G Ram نیاز دارد و تا ۸G Ram را پشتیبانی میکند.

۲- کنترل پنل:

کنترل پنل های مختلف نیازمند میزان Ram مختلفی دارند. در Plesk و Cpanel حداقل به ۲۵۶M Ram اشاره شده است اما تا برنامه های کاربردی این کنترل پنل ها و پلاگین ها قابل اضافه شدن ممکن است این مقدار را تا ۱G تا ۲G به میزان Ram اضافه کند. برای Directadmin میزان ۱G Ram پیشنهاد شده است.

۳- سایر برنامه های کاربردی

برنامه های کاربردی زیادی روی سرور اجرا میشوند مانند وب سرور و ….

میزان Ram هر سرویس متفاوت است اما برای اجرای apache به میزان حداقل ۲۵۶M تا ۱G حافظه Ram نیاز است. برنامه های کاربردی دیگر شامل برنامه های ایمیل، هایپروایزر، آنتی ویروس، جلوگیری از هرزنامه ها و سرویس دیتابیس  … ، هر کدام با خود حداقل الزامات RAM خود است.

۴- ترافیک مصرفی سایت ها

یکی از عوامل موثر در میزان مصرف Ram میزان بازدید سایت ها می باشد.  توصیه می کنیم ۱GB Ram برای هر ۲۵۰۰ بازدید کننده در روز استفاده شود.

۵- ویژگی های برنامه استفاده شده در سایت و استفاده از کش

این که سایت شما چگونه پیاده سازی شده است بسسار مهم است، سایت استاتیک است یا داینامیک و یا از چه نوع برنامه نویسی در سایت استفاده شده است،اینکه زبان برنامه نویسی سایت چیست و یا از چه نوع ساختار دیتابیسی استفاده میشود در میزان Ram تاثیر گذار است. شاید نیاز باشد pagespeed سایت بررسی شود و مشکلات مربوط به محتوای سایت شامل تصاویر، cssها و js ها بررسی و بهینه سازی شود.  استفاده از cache نیز می تواند به کاهش استفاده از Ram کمک کند.

 

تقریب استفاده از Ram با فرمول زیر:

OS + CP + OA + Traffic + WS = TOTAL REQUIREMENTS.

 

به عنوان مثال:

یک سایت با طراحی مناسب با بازدید روزانه ۵۰۰۰ در حال اجرا با CentOS6, cPanel, Apache Web Server و یک دیتابیس کوچک حدودا بصورت زیر خاوهد بود.

۱GB + 2GB + 1GB + 2GB + 1GB = 7GB

البته میزان Ram عموما بصورت زوج است یعنی در این حالت باید از ۶G یا ۸G حافظه Ram استفاده شود.

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

 

۱۰ نوع حمله پراهمیت از نوع DDOS — بخش دوم

۶- حمله PUSH and ACK

این حمله مشابه حمله  SYN flood است.  push flag از سرور گیرنده تقاضا میکند که داده های موجود در این بسته را بافر نکند و در سریع ترین زمان آن ها را جهت پردازش به برنامه کاربردی( سرویس) مرتبط تحویل دهد ( مانند برنامه telnet)

بنابراین سرور مجبور به پردازش اطلاعات بسته ارسالی میشود. زمانی که بسته های TCP حاوی Push و Ack  بیش از ظرفیت بافر ماشین(سرور) هدف باشد، سیستم قربانی دچار crash میشود.

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

روش جلوگیری:

استفاده از معماری Full-proxy برای مدیریت هر مکالمه بین کلاینت و سرور

استفاده از LTM (Local Traffic Manager) یا مدیریت IP پیشرفته (AFM)  جهت استفاده در معماری Full-proxy، جهت شناسایی ترافیک Valid و Drop کردن ترافیک  PUSH and ACK
 

۷- حمله Land

در این حمله قدیمی  یک بسته TCP SYN جعلی شامل IP و port های باز سرور مقصد ( به شکلی که یک Loop ایجاد شود)، این گونه به نظر می رسد  یک درخواست از سرور(به کمک بسته جعل شده)  به همان سرور ارسال شده است، این موضوع باعث میشود ماشین(سرور) مداوم به خود پاسخ دهد و دچار کمبود منابع شود.
 

۸- حمله DNS amplification

حمله به سرویس DNS با کمک آدرس IP جعلی (آدرس IP ماشین قربانی) تعداد زیادی درخواست به سرور ارسال میکند، از طرفی چنین آدرس هایی روی سرور قرار ندارد، بدین صورت تعداد زیادی درخواست DNS به سیستم قربانی ارسال می‌شود که باعث مصرف ترافیک و بروز اختلال در سیستم قربانی خواهد شد. بنابراین ماشین میزبان در پاسخ گویی به سیل درخواست ها با مشکل مواجه میشود.

روش جلوگیری:
 

استفاده از DNSSEC

استفاده از تکنیک های anti-spoofing

استفاده از load balancers و یا استفاده از multi DNS و انتقال ترافیک حمله به سرورهای دیگر با استفاده از IP anycast address
 

۹- حمله Layer 7

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

روش جلوگیری:

بلاک کردن spoofed TCP قبل از وارد شدن به شبکه شما

بستن پورت هایی که استفاده نمیشوند.

محدود کردن تعداد دسترسی ها برای هر source IP

محدود کردن تعداد کانکشن های همزمان برای هر source IP

فیلتر کردن بسته های TCP ناشناخته دارای هدرهای نامعمول

بررسی ترافیک های مشابه
 

۱۰- حمله Multi-Vector

این یک حمله خاص نیست، بلکه استفاده از چندین نوع حمله بصورت همزمان و توام می باشد.

جلوگیری و کنترل این نوع حملات به هماهنگی و توانایی های بالاتری در شبکه و سیستم نیاز دارد.

 

نصب وب سرور nginx_apache در دایرکت ادمین

برای نصب وب سرور nginx_apache در دایرکت ادمین باید از custombuild2.0 استفاده کنید. روش فعال سازی custombuild2.0 در لینک زیر وجود دارد.

نصب custombuild 2.0 در Directadmin

در ادامه به مسیر زیر بروید:

cd /usr/local/directadmin/custombuild

و دستورات زیر را اجرا کنید.

./build update
./build update_da
./build set php1_release 5.4
./build set php1_mode php-fpm
./build set webserver nginx_apache
./build nginx_apache
./build rewrite_confs

پورت ۸۰۸۰ را در فایروال سرور باز نمایید.

 

تبدیل بک آپ Cpanel به بک آپ Directadmin

از طریق root وارد cpanel خود شوید.

وارد مسیر زیر شوید:

cd /home

برای گرفتن بک آپ از دستور زیر استفاده نمایید:

/scripts/pkgacct username

به جای username باید نام کاربری اکانت خود را وارد نمایید.

اکنون بک را به Directadmin منتقل می نماییم.

از طریق SSH توسط کاربر root  به سرور DirectAdmin  خود شوید. فایل زیر را دانلود نمایید:

http://serversetup.ir/download/cp2da.tar.gz

اکنون آن را extract کنید.( که شامل دو فایل da.cpanel.import.pl و defaults.conf می باشد)

tar zxf cp2da.tar.gz

بک آپ Cpanel را در پوشه import کپی نمایید.

فایل defaults.conf را ویرایش نمایید، در این فایل باید IP و nameserver را مطابق سرور جدید خود تنظیم نمایید.

اکنون دستور perl da.cpanel.import.pl را اجرا نمایید.

 

پس از اتمام عملیات بک آپ Directadmin موجود در پوشه export را به مسیر /home/RESELLER/user_backups  منتقل نمایید.

اکنون از طریق Directadmin خود و در حالت reseller-level از قسمت Manage User Backups بک آپ را بازگردانی نمایید.

۱۰ نوع حمله پراهمیت از نوع DDOS — بخش اول

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

  1. حمله با هدف کاهش پهنای باند bandwidth depletion

  2. حمله با هدف از کار انداختن منابع سرویس resource depletion

در ادامه انواع مختلف حملات DDOS آشنا می شویم:

 

۱- حمله سیل آسا بصورت مستقیم (UDP flood and ping flood)

این نوع حمله لایه ۳ و ۴ مدل OSI تمرکز می کند، هدف اصلی حمله سیل آسا به سرور با ارسال ترافیک غیرواقعی و مخرب جهت از کار اندختن منابع سرویس دهنده است. برای مثال اگر شبکه شما قدرت تحمل ۲۰G ترافیک ورودی را داشته باشید، مهاجم با ارسال ۲۱G ترافیک سرویس دهی شبکه شما را مختل میکند.

حملات سیل می تواند بسته های UDP و ICMP به سمت ماشین هدف بصورت مستقیم ارسال کند.

روش جلوگیری:

استفاده از پهنای باند بیشتر

استفاده از load balancer

استفاده از روش های امن سازی شبکه در برابر IP spoofing ( مانند تنظیمات خاص در سوئیچ و روتر)

همکاری با سرویس دهندهای حفاظت در مقابل حملات  DOS -DDoS protection service provider

(مانند CloudFlare ) این سرویس دهنده ها سرویس هایی با نام های DDoS Protection یا

DDoS Protection ارائه میدهند.

۲- حمله Reflection

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

روش جلوگیری:

استفاده از تکنیک های  anti spoofing برای شناسایی و  عدم پذیرش آدرس IP هایی با source جعلی (spoofed source IP address)

۳- حمله Smurf and Fraggle

در دو حمله از حفره های موجود در broadcast address روتر استفاده میکند.

در حمله smurf تعداد زیادی از ترافیک ICMP جعلی به آدرس broadcast روتر مورد نظر ارسال می شود، در حالی که یک حمله Fraggle ترافیک UDP ساختگی به   آدرس broadcast یک روتر ارسال می کند.

روش جلوگیری:

باید روتر خود را طوری کانفیگ نمایید که از Exploit بروی broadcast جلوگیری شود.

۴- حمله سیل آسا (TCP) SYN

این حمله از متد three-way handshake در TCP استفاده میکند.  حمله کننده درخواست ارتباط با سرور را با ارسال SYN به سرور ارسال میکند و سرور در پاسخ SYN-ACK را ارسال میکند و منتظر ارسال ACK از سمت کاربر است اما کاربر ACK را ارسال نمیکند و سرور در حالت wait باقی میماند، ارسال تعداد زیاد درخواست ها بدون پاسخ باعث میشود سرور از دسترس خارج شود.

روش دیگر این نوع حمله استفاده از spoofed IP یا IPی جعلی می باشد، یک درخواست با IP جعلی به سرور میرسد و سرور پاسخ را با IP جعل شده ارسال می کند که آن IP درخواست SYN را به سرور ارسال نکرده است، بنابراین client دریافت کننده SYN-ACK هرگز ارتباط را آغاز نمی کند.

روش های زیادی برای پیاده سازی این حمله وجود دارد:

filtering

increasing backlog

reducing SYN-RECEIVED Timer

recycling half-opened TCP connection

SYN caching

SYN cookies

۵ -حمله HTTP Flood (web Spidering

این نوع حمله از طریق crawl کردن وب سایت با استفاده از web spider برای مشغول کردن منابع سرور می باشد.

روش جلوگیری:

اطمینان حاصل کردن از اینکه تنها ربات های شناخته شده امکان دسترسی به وب سایت را دارند.

>قسمت دوم مقاله را مطالعه نمایید.<

انتقال رمز عبور hash شده لاگین در MSSQL

با توجه به اینکه تاکنون  انتقال هاست های ویندوزی بصورت دستی انجام می شود، یکی از مشکلاتی که در روند انتقال با آن مواجه می شویم عدم  تشخیص رمز عبور لاگین SQl  در صورت نبود connectionstring در فایل وبکانفیگ می باشد.

از طریق اجرای دستورات زیر بعنوان یک new query  در mssql می توانید رمز عبور سرور قبل را در سرور جدید نیز ثبت نمائید.

سرور قدیم:

به sql server  لاگین نموده و سپس گزینه new query  را انتخاب نمائید.

دستور زیر را اجرا نمائید:

SELECT LOGINPROPERTY(‘Login’,’PASSWORDHASH’);

بجای Login  نام user دیتابیس ایجاد شده در کنترل پنل را درج نمائید.

نتیجه اجرای کوئری، رمز عبور کد شده را در اختیار شما قرار می دهد.

sql

سرور جدید:

در سرور جدید از طریق کنترل پنل user دیتابیس را بنام user سرور قبل و با رمز دلخواه ایجاد نمائید.

به sql server  لاگین نموده و سپس گزینه new query  را انتخاب نمائید.

دستورات زیر را اجرا نمائید:

ALTER LOGIN Login WITH CHECK_POLICY = OFF;
alter LOGIN Login WITH PASSWORD = 0x02002FE3C1503B9F5FD6EB7A904168925D71D1E8E44DDF35621551537C5CC51969D178906C6CB4C74C0D07B87D181AE22CB8A3F61D6597EA8E3E1748C15A45A85447C170C935 HASHED
ALTER LOGIN Login WITH CHECK_POLICY = ON;

بجای Login  نام user دیتابیس ایجاد شده در کنترل پنل را درج نمائید.

و در مقابل PASSWORD = نیز رمزعبور کد شده که در نتیجه اجرای کوئری در سرور قدیم ثبت شده است را درج نمائید.

با انجام گام های ذکر شده رمز عبور سرور مبدا و مقصد یکسان می باشد.

خطا در زمان backup گیری Directadmin

 
A directory component in oldpath  or  newpath does not exist or is a dangling symbolic link.
در صورتی که در زمان بک آپ گیری در directadmin با خطای زیر مواجه میشوید:
A directory component in oldpath or newpath does not exist or is a dangling symbolic link.
شما دو Backup با زمان های یکسان تعریف نمودید که چون بک آپ گیری ها در پوشه tmp بصورت موقت ذخیره می شود، اطلاعات دو بک آپ همزمان باعث overwrite شدن و ایجاد مشکل و خطا در بک آپ گیری میگردد. باید تنظیمات بک آپ گیری از سرور  را مجددا بررسی کنید و زمان بک آپ گیری ها را طوری تنظیم کنید که دو بک آپ در یک زمان آغاز نشود.

 

آسیب پذیری Freak

Attack of the week: FREAK

داستان یک backdoor در encryption

Washington post  در مقاله ای یک اشکال ناامید کننده برخی از سرورهای TLS/SSL و کاربران که امکان کاهش امنیت در اتصالات TLS را فراهم میکند گزارش داده است. یک گروه از متخخصین رمزنگاری در INRIA، تحقیقات مایکروسافت و IMDEA آسیب پذیری ها جدی را در OpenSSL (به عنوان مثال، آندروید) و Apple TLS/SSL را که به یک مهاجم man in the middle اجازه میدهد تا امنیت اطلاعات از از حالت رمز نگاری قوی RSA به حالت export-grade تغییر دهند را کشف نموده اند.

Freak در واقع یک نوع حمله متقاطع روی کلید RSA است که میتوانید رمزنگاری بسیاری از سایت ها را بشکند. در واقع بسیاری از سایت ها از SSL استفاده میکنند که شامل الگوریتم های رمزنگاری قوی و الگوریتم های رمزنگاری ضعیف هستند. انتظار می رود تمام connection ها از نوع اتصال قوی ایجاد شود اما در بسیاری از موارد مهاجم می تواند وب سایت را مجبور به استفاده از الگوریتم های رمزنگاری، ضعیف تر و سپس رمزگشایی ترافیک ارسالی نماید.

در حقیقت به نوع حملات security rollback گفته می شود که مهاجم سعی میکند سیستم را مجبور به استفاده از گزینه های قدیمی و ناامن کند.

اطلاعات بیشتری در لینک های زیر قابل مطالعه است:

http://blog.cryptographyengineering.com/2015/03/attack-of-week-freak-or-factoring-nsa.html

https://www.smacktls.com/

http://www.networkworld.com/article/2894746/microsoft-subnet/march-2015-patch-tuesday-5-of-14-rated-critical-and-microsoft-issues-a-fix-for-freak.html

خطای Crypt::SSLeay or IO::Socket::SSL not installed

Crypt::SSLeay or IO::Socket::SSL not installed

Protocol scheme ‘https’ is not supported

در صورتی که در هنگام بروز کردن CSF با خطای بالا مواجه می شوید از دستور زیر استفاده نمایید.

yum install perl-Crypt-SSLeay.x86_64

اضافه کردن SPF و DKIM رکورد برای تمام اکانت ها در Cpanel

Add SPF Records for all Accounts on cPanel Server

برای اضافه کردن SPF برای یک اکانت دستور زیر را استفاده کنید:

/usr/local/cpanel/bin/spf_installer username

به جای username نام user مورد نظر را وارد کنید.

برای اضافه کردن SPF برای تمام اکانت ها دستور زیر را استفاده کنید:

for USER in /var/cpanel/users/*; do /usr/local/cpanel/bin/spf_installer "${USER##*/}"; done

برای اضافه کردن DKIM برای تمام اکانت ها دستور زیر را استفاده کنید:

for USER in /var/cpanel/users/*; do /usr/local/cpanel/bin/dkim_keys_install "${USER##*/}"; done