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

نصب ClamAV در Cpanel

How to install ClamAV on a cPanel server

مراحل زیر را پیگیری کنید.

/scripts/ensurerpm gmp gmp-devel bzip2-devel
useradd clamav
groupadd clamav
mkdir /usr/local/share/clamav
chown clamav. /usr/local/share/clamav

هم اکنون آخرین نسخه ClamAV را دانلود و نصب کنید.

ادامه ی مطلب

تنظیم DNS اختصاصی در دایرکت ادمین

برای تنظیم DNS اختصاصی در directadmin بصورت زیر عمل کنید.

وارد کنترل پنل با دسترسی admin شوید.

در صفحه باز شده بروی DNS Administration کلیک کنید.

dnsdirectadmin1

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

dnsdirectadmin2

در  صفحه جدید باید دو رکورد NS1 و NS2 از نوع A رکورد تعریف و به آی‌پی اصلی سرور متصل، همچنین دو رکورد از نوع NS مطابق شکل زیر به NS1 و NS2 دامنه‌ی اصلی متصل گردد.

dnsdirectadmin3

به صفحه اصلی برگردید. بر روی گزینهAdministrator setting کلیک کنید.

dnsdirectadmin4

در این صفحه DNS های پیش فرض سرور را انتخاب کنید. هر اکانت جدید با این DNS ها ساخته خواهد شد.

dnsdirectadmin5

نصب mod_xsendfile در دایرکت ادمین

Install mod_xsendfile Directadmin

فایل زیر را در سرور دانلود کنید.

دانلود xsendfile

فایل دریافتی را extract کنید و وارد پوشه mod_xsendfile-0.12 شوید و دستورات زیر را وارد کنید.

/usr/sbin/apxs -cia mod_xsendfile.c
service httpd restart

ریدایرکت کردن تمام درخواست های DNS به یک IP

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

با این کار میتوانید DNS تمام دامنه های مورد نظر را بروی سرور خود تنظیم نمایید و صفحه default وب سرور را مشاهده کنید.

برای این کار باید تمام درخواست های DNS وارد شده به سرور به IP سرور redirect شود.

در سیستم عامل Centos بصورت ابتدا باید یک مسیر zone جدید بصورت زیر اضافه کنید. احتمالا مسیر فایل به شکل زیر است:

nano /etc/named.conf

zone جدید با نام db.catchall:

zone "." { type master; file "/var/named/db.catchall"; };

اکنون کافی است فایل این zone را با اطلاعات زیر ایجاد کنید.

nano /var/named/db.catchall

محتویات فایل بصورت زیر خواهد بود.

$TTL       604800
@        IN      SOA     . root.localhost. (
                                ۱              ; Serial
                              ۶۰۴۸۰۰           ; Refresh
                               ۸۶۴۰۰           ; Retry
                           ۲۴۱۹۲۰۰             ; Expire
                              ۶۰۴۸۰۰  )        ; Negative CacheTTL
     IN   NS  .
.    IN   A     Your portal IP
*.   IN   A     Your portal IP

به جای Your portal IP باید IP سرور خود را قرار دهید.

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

 

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

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

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

مانیتورینگ رایگان سرور بصورت Online

 Free Server Monitoring Tools

امروز ابزار مانیتورینگ سرور بصورت آنلاین و البته رایگان را به شما معرفی میکنیم.
hetrixtools ابزار آنلاین برای مایتور کردن سرور شما میباشد. نسخه Free این ابزار ۵ سرور را مانیتور میکند.
در این قسمت امکان چک کردن سرور در بازه زمانی ۱ دقیقه ای از ۳ نقطه(location) مختلف وجود دارد.

 

monitor

در سه حالت website monitor – ping/service monitor – SMTP monitor قابل ایجاد است.

monitor2

امکان ایجاد contact list جهت اطلاع رسانی از طریق ایمیل به لیست ایمیل ها وجود دارد.

monitor3

میزان قطعی ها با تاریخ و زمان قطعی در قسمت گزارشات (Report) قابل مشاهده است.

monitor4

همچنین نسخه رایگان امکان مانیتور کردن IP در blacklist های سرویس ایمیل در ۱۳۰ blcaklist را نیز دارد.

monitor5

جهت استفاده از امکانات عالی این سایت به آدرس زیر مراجعه کنید.
https://hetrixtools.com

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

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

حملات CSRF یا XSRF چیست؟

حملات CSRF یا XSRF، در این حمله کاربر در صفحه مدیریت سایت خود لاگین است یا مهاجم از طریق یک لینک کاربر را مجبور به ورود به مدیریت سایت میکند بدون آنکه کاربر متوجه این موضوع باشد و درنهایت به صفحه مورد نظر دسترسی خواهد یافت. این حمله از طریق کشف آدرس هایی که محتوایی را تایید و ارسال میکنند اتفاق می افتد (مانند صفحات لاگین). کدهای اجرایی میتواند از قالب یک URL source در یک تصویر ذخیره شود بصورتی که کاربر از رخداد و اجرای URL آگاهی پیدا نکند. عموما تزریق از طریق image tag در HTML یا JavaScript انجام می شود در صورتی که در سایت بصورت غیر امن (http) متصل باشیم و یا کوکی ها روی مرورگر ذخیره شده باشند این حمله با احتمال موفقیت بالاتری اجرا خواهد شد.

 

سرویس PayPal یک مرتبه با آسبی پذیری CSRF روبرو شده است. نمونه دیگر این مشکل در Google رخ داد، در حالی که مهاجم میتوانست اطلاعات اکانت Google کاربر را کشف کند و به اکانت قربانی دسترسی یابد.

 

عموما صفحات ثبت نام عمومی که با ارسال و دریافت اطلاعات طراحی شده اند بیشتر هدف این حمله قرار میگیرند و از متدهایی مانند GET یا POST میتواند استفاده کند.

 

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

 

راهکارها:

ادامه ی مطلب

ﺣﻤﻼت SQLInjection و راهکارﻫﺎی ﻣﻘﺎﺑﻠﻪ

SQL injection web attack

از ﻃﺮﯾﻖ اﻃﻼﻋﺎت ورودی از ﺳﻮی SQL (ﯾﮏ ﺟﺴﺘﺠﻮی injection) (ﺷﺎﻣﻞ وارد ﮐﺮدن و ﯾﺎ ﺗﺰرﯾﻖ SQL Injection) SQL ﯾﮏ ﺣﻤﻠﻪ ی ﺗﺰرﯾﻖ  ﻣﯽ ﺗﻮاﻧﺪ اﻃﻼﻋﺎت ﺣﺴﺎس را از ﺑﺎﻧﮏ اﻃﻼﻋﺎت ﺑﺨﻮاﻧﺪ، اﻃﻼﻋﺎت را ﺗﻐﯿﯿﺮ SQL (ﻣﻮﻓﻖ ﺗﺰرﯾﻖ exploit) ﮐﺎرﺑﺮ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻣﯽ ﺑﺎﺷﺪ .ﯾﮏ ﺑﻬﺮه ﺑﺮداری (، ﻣﺤﺘﻮﯾﺎت ﯾﮏ ﻓﺎﯾﻞ ﺑﺮ DBMS (، ﻋﻤﻠﯿﺎت ﻣﺪﯾﺮﯾﺘﯽ ﺑﺮ روی ﺑﺎﻧﮏ اﻃﻼﻋﺎﺗﯽ اﺟﺮا ﮐﻨﺪ )ﻣﺎﻧﻨﺪ ﺧﺎﻣﻮش ﮐﺮدن Insert/Update/Delete)دﻫﺪ  ﮔﻮﻧﻪ ای از ﺣﻤﻼت SQL را ﺑﺎزﯾﺎﺑﯽ ﮐﻨﺪ و در ﺑﺮﺧﯽ ﺣﺎﻻت ﻓﺮﻣﺎن ﻫﺎﯾﯽ را ﺑﺮای ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﺻﺎدر ﮐﻨﺪ .ﺣﻤﻼت ﺗﺰرﯾﻖ DBMSروی ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ  SQL ﻗﻄﺎر – اﻃﻼﻋﺎت ﺗﺰرﯾﻖ ﻣﯽ ﺷﻮﻧﺪ ﺗﺎ ﺑﺮ روی اﺟﺮای دﺳﺘﻮرات از ﭘﯿﺶ ﺗﻌﯿﯿﻦ ﺷﺪه ی  ، داﺧﻞ ورودیSQLﺗﺰرﯾﻘﯽ ﻫﺴﺘﻨﺪ ﮐﻪ در ان دﺳﺘﻮرات ﺗﺎﺛﯿﺮ ﺑﮕﺬارﻧﺪ. ﯾﮏ ﺗﮑﻨﯿﮏ ﺗﺰرﯾﻖ ﮐﺪ اﺳﺖ ﮐﻪ ﯾﮏ اﺳﯿﺐ ﭘﺬﯾﺮی اﻣﻨﯿﺘﯽ ﮐﻪ در ﻻﯾﻪ ﺑﺎﻧﮏ اﻃﻼﻋﺎﺗﯽ ﯾﮏ ﺑﺮﻧﺎﻣﻪ رخ ﻣﯽ دﻫﺪ را اﮐﺴﭙﻠﻮﯾﺖ ﻣﯽ ﮐﻨﺪ SQLﺗﺰرﯾﻖ   . ﯾﮑﯽ از ﻗﺪﯾﻤﯽ ﺗﺮﯾﻦ ﺣﻤﻼت ﻋﻠﯿﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﺗﺤﺖ وب ﻣﯽ ﺑﺎﺷﺪSQLﺗﺰرﯾﻖ  ﺑﻪ ﺷﮑﻞ ﻧﺎدرﺳﺘﯽ از ورودی SQL رﺷﺘﻪ ﻫﺎی ﻟﯿﺘﺮال ﺟﺎﺳﺎزی ﺷﺪه در ﺟﻤﻼت escapeاﯾﻦ اﺳﯿﺐ ﭘﺬﯾﺮی ﻫﻨﮕﺎﻣﯽ وﺟﻮد دارد ﮐﻪ ﮐﺎراﮐﺘﺮ ﻫﺎی ﮐﺎرﺑﺮ ﻓﯿﻠﺘﺮ ﺷﺪه ﺑﺎﺷﺪ و ﯾﺎ ورودی ﮐﺎرﺑﺮ ﻃﺒﻘﻪ ﺑﻨﺪی ﻧﺸﺪه ﺑﺎﺷﺪ و در ﻧﺘﯿﺠﻪ ﺑﻪ ﺻﻮرت ﻏﯿﺮ ﻣﻨﺘﻈﺮه اﺟﺮا ﻣﯽ ﺷﻮد .اﯾﻦ ﯾﮏ ﻧﻤﻮﻧﻪ از ﮐﻼس ﺟﺎﻣﻌﯽ از اﺳﯿﺐ ﭘﺬﯾﺮی ﻫﺎﺳﺖ ﮐﻪ ﻫﻨﮕﺎﻣﯽ رخ ﻣﯽ دﻫﻨﺪ ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ و ﯾﺎ زﺑﺎن اﺳﮑﺮﯾﭙﺖ ﻧﻮﯾﺴﯽ در داﺧﻞ دﯾﮕﺮی ﺟﺎﺳﺎزی ﺷﺪه اﻧﺪ.

دانلود مقاله SqlInjection و راهکار مقابله

محدود کردن ارسال ایمیل برای یک اکانت در Cpanel

تعداد ارسال ایمیل ساعتی برای همه اکانت ها در فایل زیر ذخیره می شود.
/var/cpanel/maxemailsperhour
برای محدود کردن یک اکانت و دامنه خاص در cpanel باید فایل زیر را ویرایش نمایید:
nano /var/cpanel/maxemails
و خطوط زیر را اضافه کنید.
domain.com=100
بجای domain.com نام دامنه مورد نظر را وارد کنید.
پس از اعمال و ذخیره تغییرات دستور زیر را اجرا کنید.

 

/scripts/build_maxemails_config

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

/var/cpanel/users/username

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

مقدار MAX_EMAIL_PER_HOUR را به عدد مورد نظر تغییر دهید.

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

/usr/local/cpanel/scripts/updateuserdomains