برچسب: لینوکس

آموزش نصب راند کیوب ( RoundCube ) بر روی سرور هاست لینوکس و ویندوز

Web mail ابزاری است برای اتصال به میل سرور ( Mail Server ) از طریق مرورگر ، به عبارت دیگر وب میل امکان مشاهده ، دریافت ، ارسال و تنظیمات ایمیل را از طریق مرورگر  برای کاربر ایمیل فراهم می نماید.  برخی از mail server ها ابزار web mail مخصوص خود را دارند و برخی نیز به کاربران امکان نصب web mail های دلخواه را می دهند. راند کیوب ( Roundcube ) و اسکویرل میل ( SquirrelMail ) دو نمونه بسیار معروف نرم افزار های وب میل می باشند. در سوی دیگر می توان از جیمیل ( gmail ) ، یاهو میل ( yahoo mail )  ، هات میل ( hotmail )  و ده ها مورد دیگر به عنوان ارائه دهنده وب میل نام برد که به شما یک ایمیل اختصاصی رایگان و امکان دسترسی به آن از طریق وب میل معروف خود را ارائه می نمایند، در واقع ارائه دهنده گان وب میل ، تنها به شما امکان دسترسی به وب میل خود از طریق ایمیل ارائه شده بر روی میل سرور خود را ارائه می نمایند و طبیعتا شما نمی توانید نرم افزار وب میل آنها را در جای دیگری استفاده نمائید. در این مقاله قصد آموزش نصب یکی از محبوب ترین وبمیل های متن باز ( open source ) به نام Round Cube را داریم.

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

 

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

 

حال مطابق تصویر زیر در اولین مرحله روی کلید next کلیک نمایید.

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

سپس در پایین صفحه مطابق تصویر زیر بر روی دکمه UPDATE CONFIG کلیک نموده و سپس دکمه CONTINUE را بفشارید تا تنظیمات پایان یابد.

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

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


لینک به آموزش


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

بسیاری از مدیران سرور ها نیازمند ابزاری برای مانیتورینگ کل پهنای باند مصرفی دانلود و یا آپلود شده بر روی سرور می باشند. ممکن است مدیر سرور برای مدیریت بهتر سرور از یک کنترل پنل مانند دایرکت ادمین ( Directadmin ) ، سی پنل ( cPanel ) ، پلسک ( Plesk ) ، وب سایت پنل ( WebSitePanel ) و یا کلوکسو ( Kloxo ) بسته به نوع سیستم عامل سرور استفاده نماید، اما هیچکدام از این پنل ها کل ترافیک مصرف شده بر روی سرور را نمایش نمی دهند، این پنل تنها با تقریب ممکن است ترافیک مصرفی یک اکانت را نمایش دهند. اما ملاک هزینه های پهنای باند ، کل ترافیک انتقال یافته بر روی کارت شبکه است که ممکن است صرف آپدیت های سیستم عامل و یا حتی ویروس ها و یا حملات بروت فورس ( Brute Force ) شود و مدیر سرور مجبور به پرداخت هزینه برای ترافیک ناخواسته خود می شود. پیش از این نیز در مقالات دیگری نرم افزار هایی برای مانیتورینگ ترافیک سرور معرفی کرده بودیم، در این مقاله نیز ابزار مفید دیگری به نام vnSTAT  قابل نصب بر روی سیستم عامل های لینوکسی  را معرفی خواهیم نمود که می تواند در تعیین دقیق تر ترافیک مصرفی سرور مفید باشد.

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

نصب نرم افزار vnSTAT   بر روی سیستم عامل لینوکس :

لطفا ابتدا از طریق ssh به سرور خود متصل شوید. سپس دستور زیر را برای نصب vnStat بر روی سیستم عامل CentOS وارد نمائید:

 

حال می بایست به کمک دستورات زیر تنظیم نمائید تا دستور vnstat به کمک کرون هر چند دقیقه یکبار اجرا شود:

 

 

حال می بایست مشخص کنید که vnstat کدام اینترفیس ( interface ) را مانیتور نماید:

 

ممکن است با خطای زیر روبرو شوید:

 

اما مشکلی نخواهد بود، این خطا تنها به این دلیل که اولین بار است که آن  را اجرا می کنید رخ می دهد.

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

 


لینک به آموزش


باز کردن پورت در فایروال لینوکس

اکثر ویرایش ها و ورژن های مختلف لینوکس به صورت پیش فرض از فایروال IPTABLES استفاده میکنند.این فایروال قدرتمنمد در حالت عادی اغلب پورت های لینوکس را در سرور مجازی و سرور اختصاصی بسته نگه میدارد…اگر شما قصد دارید سرویس و برنامه ای بر روی لینوکس سرور خود نصب کنید ، ابتدا باید پورت های مورد نیاز این برنامه را در فایروال IPTABLESS و جدل آی پی های لینوکس باز کنید

برای مثال اگر کنترل پنل وب هاستینگ نصب میکنید ، برای دسترسی به این کنترل پنل باید پورت هایی که کنترل پنل با آن کار میکند را باز کنید.مثلا در کنترل پنل کلوکسو این پورت ۷۷۷۷ و ۷۷۷۸ و در کنترل پنل دایرکت ادمین این پورت ۲۲۲۲ می باشد

در مثال زیر با اجرای این دستورات در محیط SSH لینوکس ، پورت ۷۷۷۸ را که متعلق به کنترل پلنل کلوکسو است را باز میکنیم :

برای راحت تر شدن کار میتوانید به صورت دستی و با ادیتور های لینوکس مانند vi , nano و … فایل iptables را ویرایش کرده و به صورت دستی آی پی و پورت های مورد نظر را برای باز کردن پورت وارد کنید

فایل iptables در این مسیر ذخیره میگردد

با دستور nano ابتدا آن را باز میکنیم

بعد از اضافه کردن آی پی و پورت های مورد نظر با کلید های ترکیبی Crtl + X  فایل را ذخیره میکنیم .

در پایان سرویس فایروال لینوکس جدول آی پی ها یا iptabels باید مجددا راه اندازی شود.برای ریستارت کردن فایروال iptables از دستور زیر استفاده کنید :

پورت مورد نظر شما باز و آماده استفاده شد.


لینک به آموزش


آموزش نصب و کانفیگ VNC روی لینوکس اوبونتو

VNC و یا “Virtual Network Computing”، یک سیستم اتصال است که به شما اجازه می دهد با استفاده از صفحه کلید و ماوس با محیط گرافیکی دسکتاپ بر روی یک سرور، از راه دور در تعامل باشید. VNC فایل ها و  نرم افزارها را مدیریت کرده و تنظیمات سرور از راه دور را برای کاربرانی که هنوز با کار کردن با خط فرمان راحت نیست آسان تر میکند.

در این راهنما، راه اندازی VNC بر روی سرور لینوکس اوبونتو ۱۴٫۰۴ و اتصال با امنیت بالا از طریق یک تونل SSH آموزش داده خواهد شد. سروری که در این آموزش  استفاده میکنیم TightVNC میباشد که به عنوان یک پکیج کنترل از راه دور سبک و سریع شناخته شده است.

پیش نیازها 

قبل از شروع راه اندازی VNC ، سرور لینوکس اوبونتو ۱۴٫۰۴ باید بر روی سیستم نصب و پیکربندی شود. در این آموزش به کاربر غیر روت با دسترسی sudo نیز نیاز خواهید داشت.

مرحله اول – نصب محیط دسکتاپ و VNC server

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

شما می توانید پکیج های XFCE را به همراه پکیج TightVNC با استفاده از apt  به طور مستقیم از مخازن اوبونتو دریافت کنید.

برای تکمیل تنظیمات اولیه VNC server ، از دستور vncserver برای تعیین یک پسورد امن استفاده کنید:

 

(پس از تنظیم رمز عبور ، از شما خواسته میشود که اگر می خواهید یک پسورد view-only  نیز وارد کنید. کاربرانی که با این پسورد وارد میشوند قادر به کنترل VNC با ماوس یا صفحه کلید خود نیستند. این گزینه زمانی مفید خواهد بود که بخواهید با استفاده از VNC server چیزی به افراد دیگر نشان دهید.)

دستورvncserver فرایند نصب VNC را با ایجاد یک فایل پیکربندی پیش فرض و اطلاعات مربوط به اتصال به سرور تکمیل می کند. اکنون با این پکیج های نصب شده، برای پیکربندی سرور VNC و دسکتاپ گرافیکی خود آماده هستید.

مرحله دوم – پیکربندی VNC

ابتدا باید مشخص کنیم که سرور VNC برای اجرا به چه دستوراتی نیاز دارد . این دستورات در یک فایل پیکربندی به نام xstartup واقع شده است که به منظور استفاده از برخی از دستورات برای دسکتاپ XFCE باید تغییراتی در آن صورت گیرد.

هنگامی که VNC برای اولین بار راه اندازی شود، به طور پیش فرض بر روی پورت ۵۹۰۱ اجرا خواهد شد. این پورت یک display port است که در VNC به عنوان ۱: معرفی شده و میتواند بر روی پورت های دیگری مانند :۲ و :۳ و … هم اجرا شود. به یاد داشته باشید که :X display port است و به پورت ۵۹۰۰ + X اشاره دارد.

از آنجا که میخواهیم در پیکربندی سرور VNC تغییراتی ایجاد کنیم، به عنوان اولین تغییر باید از اجرا شدن VNC بر روی پورت ۵۹۰۱ جلوگیری کنیم:

 

 

پس از تایید اتصال VNC ، سرویس VNC خود را به سرویس پیش فرض اضافه کنید ، به طوری که پس از بوت شدت سرور، به طور خودکار اجرا شود:

 

نتیجه

شما هم اکنون یک  VNC server  امن بر روی سرور اوبونتو ۱۴٫۰۴ خود راه اندازی کردید و قادر خواهید بود فایل ها ، نرم افزار و تنظیمات سرور را با یک رابط گرافیکی آسان مدیریت کنید.


لینک به آموزش


آموزش تغییر مجوز فایل ها در لینوکس

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

chgrp: تغییر گروه کاربری فایل

Chown: تغییر صاحب فایل

chmod: تغییر مجوز فایل

آموزش تغییر مجوز فایل ها در لینوکس

تغییر گروه کاربری: chgrp

تغییر گروه کاربری یک فایل، بسیار ساده است و به طور مستقیم با استفاده از دستور chgrp قابل تغییر می باشد. این دستور مخفف change group است. به یاد داشته باشید، که نام گروه تغییر یافته، باید در فایل /etc/group باشد، در غیر این صورت این عملیات غیرممکن خواهد بود.

یا

 

به منظور تغییر گروه کاربری یک فایل ترمینال را باز کنید و با استفاده از دستور زیر گروه فایل “test.log” را به گروه دیگری به نام “users” تغییر دهید:

 

دستور زیر با سوئیچ  –R ، گروه همه ی فایل های داخل یک دایرکتوری را تغییر میدهد:

تغییر صاحب فایل: chown

اگر می خواهید گروه هر فایل را در لینوکس تغییر دهید، باید از دستور chgrp استفاده کنید اما برای تغییر صاحب هر فایل می توانید از دستور chownn استفاده کنید.

به خاطر داشته باشید که اطلاعات مربوط به کاربران باید در سیستم  /etc/passwd وجود داشته باشد.

 

یا

 

به منظور تغییر صاحب فایل، یک فایل ترمینال را باز کرده و با استفاده از دستور زیر صاحب فایل “test.log” را به کاربر دیگری به نام “itadmin”  تغییر دهید:

برای تغییر صاحب و گروه فایل “test.log” به کاربر root و گروه root دستور زیر را اجرا کنید:

 

تغییر مجوز فایل : chmod

چگونه مجوز های یک فایل را در سیستم لینوکس یا یونیکس تغییر دهیم ؟ دو راه برای تغییر مجوز فایل وجود دارد :

  1. مجوزهای نمادین

u : صاحب فایل
g : گروه وابسته به فایل
o : سایرین ؛ کاربرانی که صاحب یا در گروه نیستند
a همه کاربران ( u,g,o )
r : خواندن فایل یا مشاهده محتویات یک دایرکتوری
w : ویرایش و حذف فایل یا اضافه کردن و حذف محتویات یک دایرکتوری
x : اجرای یک فایل و یا ورود به یک دایرکتوری و زیرشاخه های آن

  1. مجوزهای عددی

مجوز خواندن : ۲

مجوز نوشتن : ۴

مجوز اجرا : ۱

مثال:

برای تنظیم مجوزهای فایل ” test.log” به مجوز “read/write by owner” و ” read only by the group and others users” دستورات زیر را اجرا کنید :

یا


لینک به آموزش


آموزش جستجو و پیدا کردن فایل در لینوکس

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

 

۱٫پیدا کردن یک فایل با نام فایل file name

در این دستور از سوئیچ -name  استفاده میکنیم . در مثال زیر مشاهده میکنید که با جستجوی نام  host.conf در داخل کوتیشن (“”) دایرکتوری و زیر دایرکتوری که این فایل در آن واقع شده نشان داده خواهد شد . –name به  کوچکی و بزرگی حروف حساس است .

۲٫ پیدا کردن یک فایل با نام آن و بدون در نظر گرفتن کوچکی و بزرگی حروف

سوئیچ -iname نیز همانند سوئیچ –name عمل میکند با این تفاوت که در جستجوی -iname کوچکی و بزرگی حروف در نظر گرفته نمیشود و با جستجوی نام  host.conf تمام دایرکتوری و زیر دایرکتوری های حاوی فایل هایی با این نام نشان داده خواهد شد .

 

۳٫ استفاده از دستور mindepth و maxdepth برای جستجو محدود در فولدر خاص

یافتن فایل passwd در دایرکتوری روت و زیر دایرکتوری های آن

یافتن فایل passwd در دایرکتوری روت فقط تا یک سطح بعد از دایرکتوری روت

یافتن فایل passwd در دایرکتوری روت تا حداکثر دو سطح بعد از دایرکتوری روت

 

یافتن فایل passwd بین زیر دایرکتوری دوم و چهارم

 

۴٫ استفاده از شماره inode  (آی نود ) برای پیدا کردن فایل

هر فایل تنها دارای یک شماره inode  میباشد که به منظور تشخیص آن،میتوانید دو فایل با نام های مشابه ایجاد کرده و در انتهای یکی از آنها یک فضای خالی با دکمه spacee  ایجاد کنید .

 

خروجی دستور “ls” نمی تواند فضای خالی انتهای فایل را تشخیص دهد. با استفاده از گزینه i-  ، شماره inode  فایل نشان داده خواهد شد و از این طریق میتوانید بین دو فایل تمایز قائل شوید.

همانطور که در مثال زیر مشاهده میکنید ، می توانید یک شماره  inode را مشخص کرده و با استفاده از دستور Find  نام یک فایل را با inode تغییر دهید :

۵٫ یافتن فایل های تهی همه دایرکتوری ها و زیر دایرکتوری ها (۰ بایت)

 تنها فهرستی از فایل های تهی موجود در دایرکتوری اصلی را نشان میدهد

 

تنها فهرست دایرکتوری های  تهی و غیر مخفی را نشان می دهد

۶٫ یافتن ۵ تا از بزرگترین فایل ها

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

۷٫ یافتن ۵ تا از کوچکترین فایل ها

 

۸٫استفاده از سوئیچ –type برای یافتن فایل ها بر اساس نوع فایل

 فقط فایل سوکت را پیدا میکند

دایرکتوری فایل را در دایرکتوری جاری پیدا میکند

 

همه فایل های معمولی را پیدا میکند


لینک به آموزش


جلوگیری از اجرا شدن شل در سرور لینوکس و هاست

شل (shell) یک اصطلاح بسیار کلی برای اسکریپت ها و کد ها مخربی است که در صورت آپلود شدن داخل هاست و سرور ، به هکر دسترسی های غیر مجاز تا مرز دسترسی root access خواهند داد . جلوگیری از اجرا شدن شل در سرور لینوکس و سرویس های هاست و میزبانی وب کاملا نسبی است و هیچ راه ۱۰۰٪ و قابل اطمینانی برای جلوگیری از اجرا شدن شل در سرور لینوکس وجود ندارد . در واقع فقط در صورتی میتوانید با اطمینان اعلام کنید که موفق به جلوگیری از اجرا شدن شل در سرور لینوکس شده اید کهSSH ، CRON , PHP ، Perl ، Python ، CGI و … را به طور کامل غیر فعال کرده باشید که در این صورت نه تنها شل ، بلکه هیچ وب سرور و سایتی هم روی سرور لینوکس شما کار نخواهد کرد . راه هایی برای محدود کردن هکر ها و فعالیت های مخرب روی سرور های اشتراکی وجود دارد که در ادامه به معرفی این راهکار ها میپردازیم .

جلوگیری از اجرا شدن شل در سرور لینوکس و هاست

با توجه به اینکه ساختار اغلب این شل ها بر اساس کد های php  است ، ابتدا به راه های امن سازی  php می پردازیم .

غیر فعال کردن توابع و function های خطرناک php

برای این غیر فعال کردن توابع و فانکشن های خطرناک و یا بدون استفاده زبان PHP در سرور لینوکس ، باید لیست توابع را به فرمت زیر در فایل php.ini اضافه کنیم :

disable_functions = function1, function2, function3

به عنوان یک مثال ، ما در سرور های چت روم بر پایه ET-CHAT توابع را به شکل زیر محدود میکنیم :

disable_functions = detcwd, dl, escapeshellarg, escapeshellcmd, exec, fpassthru, imap_list, ini_alter, ini_restore, link, mysql_list_dbs, openlog, passthru, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, pfsockopen, phpinfo, popen, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, readlink, shell_exec, snmpget, socket_accept, socket_bind, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_select, socket_strerror, stream_select, symlink, syslog, system, posix_getpwuid, posix_getgrgid, ini_set, show_source, allow_url_fopen, xmlrpc_entity_decode, posix_uname, posix_setuid, posix_setsid, posix_setpgid, posix_mkfifo, posix_kill, phpAds_xmlrpcEncode, phpAds_xmlrpcDecode, phpAds_XmlRpc, phpAds_remoteInfo, php_uname, mysql_pconnect, inject_code, ini_get_all, highlight_file, ftp_rawlist, ftp_raw, ftp_put, ftp_nb_fput, ftp_login, ftp_get, ftp_exec, ftp_connect, fput, fp, eval, define_syslog_variables, apache_setenv, apache_child_terminate

توابع محدود شده باید بر اساس نوع کاربری سرور ، نوع اسکریپت ها ، ماژول ها و کامپوننت های استفاده شده در سرور انتخاب شوند . در یک سرور هاستینگ بر پایه سی پنل ، در صورت بستن تمام توابع فوق ، قطعا با مشکلاتی مانند اجرا نشدن بعضی از کد های PHP و سیستم های مدیریت محتوا مواجه خواهید شد . بعد از ذخیره کردن فایل php.ini اقدام به ریستارت کردن وب سرور آپاچی (یا php-fpm در صورت استفاده) میکنیم .

 

سایر موارد مورد نیاز برای افزایش امنیت php

فایل php.ini سرور را ویرایش کرده و مقادیر مورد نظر را به شکل زیر مقدار دهی کنید :

 

بعد از ذخیره کردن فایل php.ini اقدام به ریستارت کردن وب سرور آپاچی (یا php-fpm در صورت استفاده) میکنیم .

 

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

نصب پچ امنیتی php-suhosin

پچ امنیتی suhosin یک سیستم محافظ هوشمند PHP است که با الگوریتم خود php را نسبت به بسیاری از بد افزار های شناخته شده و شناخته نشده امن خواهد ساخت . suhosin بر اساس رفتار و چگونگی اجرای کد ، مخرب یا مفید بودن آن را تشخیص خواهد داد . این دقیقا همان چیزی است که برای محدود کردن شل های اختصاصی و ناشناخته به آن نیاز داریم .

نصب ModSecurity v2.7 یا بالاتر

ماژول ModSecurity یک فایروال وب بیس وب سرور است که در صورت استفاده از رول های صحیح قابلیت های بسیار زیادی از جمله اسکن لحظه ای و realtime فایل های در حال آپلود به سرور توسط pure-ftpdd را دارا است . این ماژول قدرتمند در حال حاضر از وب سرور های آپاچی ، انجین اکس و همچنین IIS پشتیبانی میکند ولی بیشترین سازگاری آن با وبسرور Apache است . با کمک این ماژول امنیتی وب سرور ، جلوی اجرا شدن بسیاری از شل های معروف را خواهید گرفت .

نصب فایروال CSF

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

استفاده از اجرا کننده suPHP

در محیط های اشتراکی (در صورت استفاده از وب سرور آپاچی) حتما از php-handler امن و قدرتمند suphp استفاده کنید . با کمک این اجرا کننده php در صورت هک شدن یکی از یوزر های هاست ، دسترسی گرفتن از محیط خارج از هاست هک شده برای هکر بسیار دشوار و در مواردی غیر ممکن خواهد شد .

امنیت اسکریپت و سیستم مدیریت محتوا

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

 

 نصب و کانفیگ آنتی ویروس CLAMAV

همیشه آخرین نسخه آنتی ویروس ClamAV را روی لینوکس خود نصب کرده و آن را به روز نگه دارید . اسکن های روزانه و هفتگی به شما امکان حذف حد اقل بعضی از ویروس ها و شل های شناخته شده را خواهد داد . به هر حال اگر شل اختصاصی یا کد شده باشد ،‌معمولا ClamAV قادر به شناسایی آن نخواهد بود .

نصب آنتی شل CXS در سرور های سی پنل

آنتی شلر CXS یک برنامه ضد شل بسیار قوی و مفید است که فقط امکان نصب در سرور های cPanel را دارد . با خرید لایسنس آنتی شل CXS سرور خود را به قابلیت اسکن لحظه ای و realtime پراسس های در حال اجرا و همچنین در حال آپلود مجهز خواهید کرد .

نصب و کانفیگ آنتی شل Maldet

آنتی شل Maldet یک برنامه آنتی ویروس و ضد شل رایگان و متن باز است که با کمک انجین ClamAV اقدام به اسکن و شناسایی شل ها و تروژان های سرور های لینوکس خواهد کرد . اگر امکان خرید CXS را ندارید یا سرور شما از پنلی به جز cPanel استفاده میکند ، استفاده از این ضد شل قوی را به شما توصیه میکنیم . با کانفیگ صحیح این آنتی شلر رایگان‌ ، امکاناتی مانند اسکن لحظه ای و realtime به سرور شما اضافه خواهد شد .

موارد فوق تنها بخشی از راه های امن کردن سرور و جلوگیری از اجرا شدن شل های معروف روی هاست بود ، راه های بسیار دیگری نیز مانند محدود کردن perl و python و … وجود دارند که مسئول کانفیگ و ادمین سرور با پیاده سازی صحیح آن ، امنیت سرور را افزایش خواهد داد . در مقیاس بزرگ و کلاس Enterprise فایروال های سخت افزاری در لایه های شبکه ، پکت های ارسالی و دریافتی را باز کرده و signature آن ها را با دیتابیس خود مطابقت میدهند و در صورت مخرب بودن کد ، آن را در میانه راه و قبل از رسیدن به سرور حذف میکنند . همانطور که در ابتدای بحث اشاره کردیم ، امنیت نسبی است و هیچ راه تضمینی و قطعی برای جلوگیری از اجرا شدن شل در سرور وجود ندارد .


لینک به آموزش


مشاهده لیست IPهای سرور در دایرکت ادمین

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

 

با استفاده از برنامه putty با ssh وارد محیط خط فرمان سرور خود شود.

 

در محیط خط فرمان به مسیر زیر برید.

 

در این قسمت میتوانید با استفاده از دستور cat یا ابزار nano یا هر ابزار دیگر فایل ip.list را مشاهده کنید .

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


لینک به آموزش


پیغام Internal Server Error فایل های CGI در دایرکت ادمین

در صورت مشاهده ارور و پیام خطا و پیغام Internal Server Error در هنگام اجرای اسکریپت های CGI توسط آپاچی و در کنترل پنل وب هاستینگ دایرکت ادمین ، باید موارد زیر را بررسی کنید .

قبل از هر چیز باید لاگی suexec واقع در مسیر زیر را بررسی کرد :

 

کلیه ارور های مربوط به Permission ها یا همان سطح دسترسی ها در این فایل ذخیره و لاگ میشوند . فایل باید در پوشه cgi-bin و تحت مالکیت همان یوزر و گروه (owner/group) مادر باشد و در غیر این صورت به درستی اجرا نخواهد شد .

پیغام Internal Server Error فایل های CGI در دایرکت ادمین

سطح دسترسی و CHMOD مربوط به پوشه های میبایست روی ۷۵۵ باشد و در غیراین صورت اسکریپت CGI برای اجرا شدن با مشکل مواجه خواهد شد . فقط پوشه public_html است که میتواند با سطح دسترسی ۷۵۰ نیز بدون مشکل کار کند (در صورتی که زیر مجموعه group یوزر apache باشد)

ساده ترین راه برای مشاهده ارور های اسکریپت CGI اجرای آن از طریق محیط SSH و به شکل زیر است :

 

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

 

 

برای ست کردن مجدد مالکیت ها و ownership ها در لینوکس مبتنی بر کنترل پنل دایرکت ادمین مطابق زیر عمل کنید :

 

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


لینک به آموزش


آموزش نصب و کانفیگ SpamAssassin روی لینوکس

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

در این مقاله، مراحل نصب و کانفیگ SpamAssassin روی لینوکس CentOS 6.0 با استفاده از سرویس های Postfix  و Dovecot را آموزش خواهیم داد. SpamAssassinn با اکثر نرم افزارهای رایج سرور ایمیل سازگار بوده و امکان نصب آن در سیستم عامل های دیگر نیز وجود دارد .

 

آموزش نصب و کانفیگ SpamAssassin روی لینوکس

  • نصب و راه اندازی :

با اجرای دستور زیر باید توزیع CentOS لینوکس خود را آپدیت کنید :

 

پس از آپدیت CentOS میتوانید SpamAssassin را با استفاده از دستور yum نصب کنید:

 

بعد از نصب SpamAssassin بر روی سرور ایمیل ، باید با ویرایش قوانین آن در فایل local.cf تنظیمات فیلتر مورد نظر را اعمال کنید.

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

  • تنظیمات :

به تنظیمات پیش فرض فایل local.cf در SpamAssassin نگاهی خواهیم داشت. برای این کار باید فایل را با استفاده از یک ادیتور باز کرده و تغییراتی در آن ایجاد کنیم؛ در این مثال از nanoo استفاده شده است:

 

خطوط زیر را uncomment کرده(# پشت هر خط را حذف کنید) ومقادیر زیر را جایگزین کنید :

Required_hits: بالانس فیلتر را مشخص میکند. پایین ترین امتیاز، فیلتر سختگیرانه اعمال میکند، در صورتی که  امتیاز  ۵٫۰ به طور کلی برای یک سازمان کوچک و یا یک کاربر موثر خواهد بود. این امتیاز ها را با توجه به نیازهای سازمان خود تنظیم کنید.

Report_safe: این خط تعیین میکند که اسپم یا حذف شود و یا در حالیکه عنوان اسپم در خط subject اضافه شده، به inbox وارد شود. سطوح مورد نظر برای این خط ۰ و ۱ در نظر گرفته شده است . عدد ۱ اسپم را حذف خواهد کرد، در حالی که عدد ۰۰ اسپم را به inbox ارسال و موضوع آن را بازنویسی میکند. در این آمورش ما از عدد ۰ استفاده میکنیم.

Required_score: این خط امتیاز اسپم را با اعداد بین ۰ تا ۵ برای همه ایمیل های وارد شده به دامین شما تنظیم خواهد کرد. عدد ۰ یک ایمیل درست و عدد ۵ اسپم را مشخص میکند. در این آموزش از عدد ۵۵ استفاده شده، اما شما میتوانید این مقدار را با توجه به اولویت خود تغییر دهید.

Rewrite_header: همانطور که از نام  این خط پیداست، هر پیامی که اسپم در نظر گرفته شود ، خط subject با توجه به عبارت تعیین شده در این خط ، بازنویسی خواهد شد. برای این آموزش از subject پیش فرض (***SPAMM***) استفاده میکنیم.

  • تنظیمات Spamd :

قبل از شروع تنظیمات ، بهتر است بدانید Spamd و spamc دو تابع موردنیاز برای بهبود عملکرد SpamAssassin هستند. Spamd و توابع وابسته به آن، تمام پیام های دریافتی را قبل از دریافت توسط سرور ایمیل ، رهگیری و پردازش میکنند.

باتوجه به ماهیت spamd ما باید یک کاربر و گروه منحصر به فرد ایجاد کنیم. برای اینکار از دستورات زیر استفاده کنید:

پس از کانفیگ فایل local.cf در SpamAssasin به همراه spamd ، باید فایل master.cf در Postfix را نیز برای استفاده از اسکریپت های SpamAssassin و تنظیم امتیاز هایی که اعمال کردیم ، پیکربندی کنیم.

  • Postfix

با استفاده از یک ادیتور فایل master.cf را در Postfix ویرایش کنید:

 

فایل master.cf را تغییر دهید:

 

خط زیر را به انتهای فایل اضافه کنید :

قبل از شروع به کار سرویس SpamAssassin ، باید spamd را با استفاده از دستور sa-update از یک cronjob آپدیت کنید.

 

حال باید با استفاده از دستور زیر، سرویس SpamAssassin را اجرا و سرویس Postfix را ریلود کنید :


لینک به آموزش


تلگرام