۱۰ نکته کاربردی برای افزایش امنیت وب‌سایت

2.5kviews
در سال‌های اخیر ابزارها و خدمات گسترش وسیعی برای توسعه فضای وب ایجاد شد. سیستم‌های مدیریت محتوا (CMS)  مانند وردپرس، جوملا و بسیاری دیگر به صاحبان کسب و کار اجازه می‌دهد که سریع و کارآمد برای خود یک حضور آنلاین ایجاد کنند. معماری توسعه‌پذیر، ماژول‌ها و پلاگین‌های ارزشمند و اکوسیستم‌های توسعه‌پذیر آنها داشتن یک وب‌سایت را بدون نیاز به سال‌ها آموزش امکان‌پذیر می‌کند.

بدون شک این یک چیز با ارزش است اما از طرف دیگر مشکلی وجود دارد و آن این است که بسیاری از طراحان وب نمی‌دانند که چگونه از امنیت وب‌سایت خود مطمئن شوند و یا حتی درکی از اهمیت امنیت وب‌سایت ندارند. ما در این آموزش ۱۰ مرحله مهم که طراحان وب برای تامین امنیت وب‌سایت خود باید در نظر بگیرند را ارائه می‌دهیم.

۱- به‌روزرسانی، به‌روزرسانی، به‌روزرسانی:

وب‌سایت‌های بسیاری هر روزه در معرض خطر ناشی از استفاده از نرم‌افزارهای منسوخ و ناامنی که بر روی آنها اجرا می‌شوند، هستند. این خیلی مهم است که وب‌سایت خود را با پلاگین‌ها و نسخه CMS جدیدی که در دسترس است بروز رسانی کنید تا امنیت وب‌سایت شما در خطر نباشد. امروزه بیشترین هک‌ها کاملا اتوماتیک هستند توسط ربات‌هایی که به طور مداوم سایت‌ها را اسکن می‌کند و به دنبال بهره‌برداری از فرصت‌ها هستند. بروز رسانی یک‌بار در ماه یا یک‌بار در هفته خیلی کافی نیست زیرا به احتمال بسیار زیاد ربات‌ها قبل از شما یک آسیب‌پذیری برای نفوذ پیدا کرده‌اند. مگراینکه شما درحال اجرای website firewall like CloudProxy باشید که به محض انتشار آن نیاز به بروز رسانی دارید. اگر در حال اجرای وردپرس هستید پلاگین ‘WP Updates Notifier توصیه می‌شود. این ایمیل‌ها به شما اجازه می‌دهد از زمانی که یک پلاگین یا هسته وردپرس برای بروزرسانی موجود باشد، باخبر شوید. شما می‌توانید با دنبال کردن @sucuri_security در توتیتر از بروز رسانی و هشدارهای امنیتی اطلاع پیدا کنید.

۲- انتخاب Passwords قدرتمند برای امنیت وب‌سایت و خودتان:

برای کار کردن به روی سایت مشتری اغلب نیاز است که با استفاده از جزئیات مدیریت کاربران به سایت/سرور آنها وارد شویم. در بسیاری از موارد Root Password آن‌ها امن نبوده ولی کمی ترسناک است که این موضوع به آن‌ها گفته شود، اما admin/admin ترکیب امنی برای Username و Password نیست. اگر Password شما در لیست پسوردهای رایج مشاهده شود باعث می‌شود که سایت شما نقاطی برای هک داشته باشد و امنیت وب‌سایت شما در خطر باشد. حتی اگر Password شما در این لیست وجود نداشته باشد، تصورات اشتباهی در مورد رمز عبور قوی وجود دارد. سهل‌انگاری در مورد انتخاب اندازه Password مناسب بخشی از مشکل است.
هنگامی‌که می‌خواهید یک پسورد مناسب انتخاب کنید باید سه مورد زیر را در نظر بگیرید:
–    پیچیده بودن: Password باید بصورت تصادفی (Random) انتخاب شود. با انتخاب Password تصادفی دیگر کسی با پی بردن به تاریخ تولد یا تیم ورزشی مورد علاقه شما و دیگر موارد نمی‌تواند حساب شما را هک کند.
–    طولانی بودن: Password باید از بیشتر از ۱۲ کاراکتر باشد. وقتی که برای محدودیتی برای وارد کردن رمز عبور وجود نداشته باشد یک رمز عبور ۱۲ کاراکتری به راحتی می‌تواند حدس زده شود. بنابراین بهتر است که رمز عبور طولانی‌تر انتخاب شود و بیش از ۱۲ کاراکتر باشد.

–    منحصربه‌فرد بودن: از Password تکراری استفاده نکنید.

۳- یک سایت = یک ظرف:

من وسوسه شدن را درک می‌کنم. شما یک فضای نامحدودی برای میزبانی وب دارید پس چرا سایت‌های بسیاری بر روی آن قرار ندهید! متاسفانه این یکی از بدترین شیوه‌ها از نظر امنیتی است. با قرار دادن سایت‌های بسیار بر روی یک فضا سطح حمله بزرگی ایجاد می‌کنید. به عنوان مثال شما ممکن است یک سایت که شامل وردپرس و با یک موضوع و  ۱۰ پلاگین است که بر روی آن نصب شده است به طور بالقوه ممکن است مورد هدف مهاجمان قرار گیرد. حال اگر بر روی سروری که مورد حمله مهاجمان قرار گرفته شما میزبان ۵ سایت باشید که سه تا از آنها با وردپرس و دوتا با جوملا طراحی شده باشند با ۵ موضوع و ۵۰ پلاگین که بر روی آنها نصب شده است، وضعیت بدتر خواهد شد. این کار نه تنها باعث می‌شود که تمامی سایت‌های شما هم‌زمان هک شوند بلکه فرآیند پیشگیری و پاکسازی به زمان بیشتری نیاز پیدا می‌کند.

بعد از اینکه پاکسازی با موفقیت انجام شد شما باید به فکر بازنشانی پسورد باشید، به جای اینکه این کار را فقط برای یک سایت انجام دهید اکنون باید برای تمام سایت‌های خود پسورد را بازنشانی کنید. هر پسورد مرتبط با هر وب‌سایت، تمامی سیستم‌های مدیریت محتوا (CMS)، پایگاه داده‌ها، FTP تمامی کاربران سایت‌ها باید تغییر کند. در نهایت بعد از انجام تمامی این موارد به خانه اول بازمی‌گردید و وب‌سایت شما ممکن است که دوباره آلوده شود.

۴- دسترسی محسوس کاربر:

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

وقتی برای هر کاربر حساب جداگانه‌ای داشته باشید می‌توانید رفتار هر کاربر را جداگانه بررسی کنید، بنابراین می‌توانید نقاط ناهنجار را پیدا کنید و شخصی که حسابش در معرض خطر است را تشخیص دهید.

۵- تغییر تنظیمات پیش فرض CMS ها برای بهبود امنیت وب‌سایت:

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

۶- انتخاب توسعه‌پذیری برای بهبود امنیت وب‌سایت:

یکی از زیباترین نکات در مورد برنامه‌های کاربردی CMS های امروزی توسعه‌پذیر بودن آن‌هاست. اما این توسعه‌پذیر بودن بزرگ‌ترین نقطه ضعف آن‌ها است. تعداد زیادی از پلاگین، افزودنی‌ها، و ماژول‌ها وجود دارند که تقریبا هر قابلیتی که شما می‌توانید تصور کنید را ارائه می‌دهند. واقعیت این است که این تعداد بی‌شمار برنامه‌های افزودنی مانند شمشیر دو لبه هستند، اغلب افزونه‌های متعددی پیشنهاد می‌شود که قابلیت‌های مشابه دارند، شما چگونه متوجه می‌شوید که کدام‌یک را نصب کنید؟
در اینجا مواردی را بیان می‌کنیم که معمولا در هنگام تصمیم‌گیری در مورد انتخاب افزونه‌ها برای نصب باید در نظر گرفته شوند:
–    اولین مورد این است که پسوندی که به تازگی بروزرسانی شده انتخاب شود. اگر آخرین بروزرسانی برای یک سال قبل باشد باعث این نگرانی می‌شود که نویسنده دیگر قصد ندارند بر روی آن کاری انجام دهد. بهتر است از افزونه‌هایی  استفاده شود که به طور مداوم نویسنده در حال توسعه آن‌ها هستند.
–    همچنین به قدمت و تعداد نصب افزونه‌های باید توجه شود. افزونه‌هایی که خیلی زیاد نصب شده‌اند نسبت به آن‌هایی که حدود ۱۰۰ مرتبه نصب شده و توسط یک نویسنده برای اولین بار منتشر شده، بیشتر قابل اعتماد است. نه تنها توسعه‌دهنده‌های با تجربه ایده‌های بهتری دارند بلکه احتمال اینکه بخواهند شهرت و محبوبیت خود را با توسعه کدهای مخرب از بین ببرند بسیار کم است.

–    اینکه شما برنامه‌های افزودنی و تم‌های خود را از منابع قانونی دانلود کنید بسیار  مهم است. سایت‌های بسیاری هستند که نسخه‌های رایگانی را به شما برای دانلود پیشنهاد می‌دهند. وب‌سایت‌ها این نسخه‌های رایگان را فقط با یک هدف ارائه می‌دهند: آلوده کردن وب‌سایت شما با نرم‌افزارهای مخرب.

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

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

۸- فایل‌های پیکربندی شده سرور:

شما باید درباره پیکربندی فایل‌های وب سرور خود اطلاعات داشته باشید. وب‌سرورهای آپاچی از فایل .htaccess و سرورهای Nginx از فایل nginx.conf و سرورهای Microsoft IIS از فایل web.config. استفاده می‌کنند که اغلب در root web directory یافت می‌شوند و بسیار قدرتمندند. این فایل‌ها به شما اجازه می‌دهند قوانینی از جمله دستورات بهبود امنیت وب سایت را اجرا کنید.

۹- نصب SSL:

در مورد مقالات بسیاری که  به اشتباه بیان کرده‌اند که نصب SSL همه مسائل امنیتی شما را حل می‌کند دو طرز تفکر وجود دارد. SSL سایت شما را در برابر هیچ حمله مخربی محافظت نمی‌کند و توزیع نرم‌افزارهای مخرب را متوقف نمی‌کند. SSL ارتباط بین دو نقطه A و B – بین سرور وب سایت شما و مرورگر را رمزگذاری می‌کند. این رمزگذاری به این دلیل که مانع از این می‌شود که هر کسی قادر به مشاهده ترافیک و اطلاعات انتقالی شما نباشد بسیار با اهمیت است. SSL برای امنیت وب‌سایت تجارت الکترونیک و هر وب‌سایتی که فرم‌هایی با اطلاعات حساس و شخصی افراد را می‌پذیرد بسیار مهم است. گواهینامه‌های امنیتی SSL انتقال اطلاعات بازدیدکنندگان شما را محافظت می‌کند.

۱۰- مجوزهای دسترسی فایل:

مجوزهای دسترسی تعریف می‌کند  که چه کسی می‌تواند با فایل چه کاری انجام دهد.
هر فایل سه مجوز دسترسی دارد:
–    خواندن (Read): به این سطح دسترسی عدد ۴ داده می‌شود.
–     نوشتن (Write): به این سطح دسترسی عدد ۲ داده می‌شود.
–    اجرا کردن (Execute): به این سطح دسترسی عدد ۱ داده می‌شود.

اگر می‌خواهید چندین اجازه دسترسی را به شخصی بدهید کافی است که اعداد را باهم جمع کنید. به عنوان مثال اگر می‌خواهید به شخصی اجازه خواندن و نوشتن بدهید باید در مجوز دسترسی کاربر عدد ۶ را وارد کنید. اگر علاوه بر خواندن و نوشتن مجوز اجرای فایل‌ها را هم بدهید باید عدد ۷ را وارد کنید.

نتیجه:

با انجام این ده مرحله نسبتا ساده شما می‌توانید به طور چشمگیری امنیت سایت خود را افزایش دهید، هرچند که انجام این مراحل به تنهایی تضمین نمی‌کند که سایت شما هرگز هک نشود اما می‌تواند اکثریت قریب به اتفاق حملات خودکار را متوقف کند.

IPSec: تامین امنیت گردش اطلاعات توسط فایروال ویندوز سرور

3.9kviews

IPSec چیست؟

Internet Protocol Security یا به اختصار IPSec یک پروتکل برای تامین امنیت ارتباطات IP است که این امنیت را توسط Authentication (احراز هویت) و Encryption (کد گذاری) به ازای هر Session از بسته‌های ارتباطی IP تامین می‌کند.
IPSec همچنین شامل پروتکل‌هایی است که با استفاده از کلیدهای کدگذاری شده برای احراز هویت و کد گذاری دو طرفه سمت گیرنده و فرستنده در ابتدای برقراری ارتباط و در طول مدت ارتباط اقدام می‌کند.

چرا از IPSec استفاده کنیم؟

• برای تامین امنیت مورد نیاز ارتباطات و یا برای ارتقای امنیت نرم‌افزارها
• این امکان را به شما می‌دهد که بر مبنی IP محدودیت‌هایی اعمال کنید و در لایه TCP/UDP با اینکه ممکن است نرم‌افزار شما آن را پشتیبانی نکند کدگذاری انجام دهید.

پیش‌نیازها:
• ورودی/خروجی پورت (IP Protocol 50 (ESP
• ورودی/خروجی پورت (IP Protocol 51 (AH
• ورودی/خروجی پورت UDP port 500
• انتخابی: پورت TCP/UDP 88 (در صورت Authentication)
• انتخابی: پورت (UDP 4500 (NAT

با استفاده از Windows Firewall with Advanced Security در دامنه Active Directory
لازم است تمامی مراحل زیر را انجام دهید:

Identity Management یک Policy تحت عنوان CIT-IDM-MachineCertificateAutoEnrollment دارد که به هر کامپیوتری که در یک OU وجود دارد این اجازه را می‌دهد که یک گواهینامه IPSec به ازای هر کامپیوتر ایجاد کند.

۱- یک GPO در OU مورد نظر خود که می‌خواهید توسط IPSec ایمن شود ایجاد نمائید. تمامی ServerFarm ها باید این GPO به آنها Link شده باشد.

۲- مطمئن شوید این Policy به همه سیستم ها اعمال شده و با دستور gpupdate از به روزرسانی آن اطمینان حاصل کنید (پیش‌فرض بروزرسانی ۹۰ دقیقه است).

ایجاد Connection Security Rule بر روی سرور

۱- به سرور وارد شوید.
۲- پنجره Windows Firewall with Advanced Security را باز کنید.
۳- بر روی Connection Security Rule دکمه راست را بزنید و گزینه New Rule را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-01

۴- گزینه Custom را انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-02

۵- در تب Endpoints این موارد را انجام دهید:
• در قسمت Endpoint1 آدرس IP یا آدرسهای IP سرور(های) خود را وارد کنید.
• در قسمت Endpoint2 آدرس IP یا آدرسهای IP کلاینت(های) خود را وارد کنید.
• بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-03

۶- گزینه Require authentication for inbound and outbound connections را انتخاب و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-04

۷- در قسمت Authentication Method گزینه Advanced را انتخاب و Customize را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-05

۸- در پنجره First Authentication Method گزینه Add را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-06

۹- در پنجره Add First Authentication Method گزینه Computer certificate from this certificate authority را انتخاب و مراحل زیر را انجام دهید:
• (Signing algorithm : (default
• (Certificate store type: (default
• گزینه Browse را زده و مرجع صادرکننده گواهینامه را انتخاب کنید.
• بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-07

 

How-to-Secure-Windows-Traffic-with-IPsec-08

۱۰- در پنجره Customize Advanced Authentication Methods بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-09

۱۱- مجددا پنجره New Connection Security Rule Wizard: Authentication Method را مشاهده خواهید کرد. بر روی OK کلیک کنید.
۱۲- در باکس To which ports and protocols does this rule apply سرویس‌ها و پروتکل‌های موردنظر خود (برای مثال SMB, TCP 445) را انتخاب کنید و بر روی Next کلیک کنید.
از آنجایی که این سرویس فقط در Endpoint1 ارائه می‌شود، شماره پورت موردنظر را وارد کنید و در قسمت Endpoint2 بر روی All Ports باشد.

How-to-Secure-Windows-Traffic-with-IPsec-10

۱۳- در باکس When does this rule apply تمامی چک باکس‌ها فعال باشد و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-11

۱۴- یک نام برای این Rule انتخاب کنید و گزینه Finish را بزنید.

تنظیمات امنیتی سمت Client

۱- به ماشین Client وارد شوید.
۲- تمامی مراحل بالا را از مرحله ۳ تا ۱۴ برای کلاینت نیز تکرار کنید. (تمامی مراحل حتی قسمت Endpoint ها یکسان است.)
۳- ارتباط خود را تست کنید و مطمئن شوید کماکان فعال است.
نکته: ممکن است در ابتدای ارتباط شما یک وقفه وجود داشته باشد که این مورد به دلیل شروع Negotiationارتباط است.
۴- در قسمت Monitoring شما باید ارتباط احراز هویت شده خود را فی‌مابین سیستم‌ها مشاهده کنید.

How-to-Secure-Windows-Traffic-with-IPsec-12

۵- توجه کنید در همین قسمت در زیر منوی Quick Mode مقدار ESP Encryption بر روی None است. این گزینه به این معناست که احراز هویت سیستم مقابل تامین شده است اما اطلاعات رد و بدل شده توسط IPSecایمن نشده است!

How-to-Secure-Windows-Traffic-with-IPsec-13

تنظیمات فایروال سمت سرور

۱- به سرور وارد شوید.
۲- یک New Rule از قسمت Inbound Connections ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-14

۳- بر روی Custom کلیک کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-15

۴- گزینه All Programs را انتخاب کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-16

۵- پورت ورودی سمت سرور (مثلا ۴۴۵ SMB) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-17

۶- آدرس IP های موردنظر خود را مانند بالا انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-18

۷- گزینه Allow the connection if it is secure را انتخاب و سپس Customize را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-19

۸- گزینه Require the connections to be encrypted را انتخاب و بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-20

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Users نیز OK را بزنید.
۱۱- در منوی Computer نیز OK را بزنید.

 

How-to-Secure-Windows-Traffic-with-IPsec-21

۱۲- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۳- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تنظیمات فایروال سمت کلاینت

۱- به کلاینت وارد شوید.
۲- یک Rule جدید در قسمت Outbound Rules ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-22

۳- انتخاب گزینه Custom و سپس مرحله بعد.
۴- انتخاب گزینه All Programs و سپس مرحله بعد.
۵- گزینه Remote Port (در این مثال SMB 445) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-23

۶- آدرس IP های مورد نظر را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-24

۷- گزینه Allow the connection if it is secure را انتخاب کنید و بر روی Customize کلیک کنید.
۸- گزینه Require the connections to be encrypted را انتخاب کنید و OK را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-25

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Computer نیز OK را بزنید.
۱۱- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۲- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تست ارتباط نهایی با IPSec

۱- از سمت کلاینت ارتباط را تست کنید که فعال باشد.
۲- در قسمت Windows Firewall -> Security Associations -> Quick Mode باید گزینه ESP Encryption دارای مقدار موردنظر باشد. این نشانگر امنیت تبادل اطلاعات شماست.

 

How-to-Secure-Windows-Traffic-with-IPsec-26

 

مواردی که می‌بایست در نظر داشت:

• برای سیستم‌هایی که به دامنه متصل نیستند می‌توانید از PreShared Key استفاده کنید. این کلیدها به صورت یک متن ساده هستند که در سمت کلاینت و سرور ذخیره می‌شود. برای امنیت اطلاعات در یک شبکه کابلی کماکان مناسب است.

• در قسمت Connection Security Rule باید به جای Computer Certificate گزینه Use PreShared Key را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-27

• برای سیستم عامل‌های قدیمی‌تر از Vista استفاده از این امکان وجود ندارد. در صورت امکان سیستم خود را ارتقا دهید. در صورتی که امکان ارتقا ندارید می‌توانید از IPSec بر روی سیستم استفاده نمائید. در این روش فقط به ازای هر سیستم یک ارتباط می‌توانید تعریف کنید و امکان تعریف آن بصورت یک Rule در فایروال وجود ندارد. این روش برای یک‌بار تنظیم قابل استفاده است اما در یک سازمان Enterprise مناسب نیست مگر آنکه تمامی سیستم‌ها از یک تنظیمات استفاده نمائید. اطلاعات بیشتر

• لینوکس و OSX نیز امکان IPSec دارند اما در سمت کلاینت به نرم‌افزارهای جانبی نیاز خواهید داشت.

• آدرسهای IPv6 بصورت پیش‌فرض شامل IPSec هستند و به صورت خودکار تنظیم می‌شوند.

جوملا: راه‌کارهای افزایش امنیت وب‌سایت

1kviews

۱- محافظت از طریق .htaccess

کلیه فرآیندهای جوملا براساس ۲ فایل index.php و index2.php انجام می‌شود به همین منظور شما می‌توانید با استفاده از کدهای زیر از اجرای سایر فایل‌های PHP که ممکن است در میان فایل‌های شما آپلود شده باشند و در درون آنها backdoor وجود داشته باشد خودداری نمایید.
کد:

<Filesmatch ".(php)$">
order deny,allow
deny from all
Filesmatch>

<Filesmatch "^index.php">
order allow,deny
allow from all
Filesmatch>

<Filesmatch "^index2.php">
order deny,allow
allow from all
Filesmatch>

البته ممکن است یک هکر دانا یک backdoor را با نام index.php در یکی از پوشه‌های جوملا شما آپلود نماید به همین منظور از کد زیر در همه زیر پوشه‌ها استفاده نمایید:

<Files ~ ".(php)$">
Deny from all
Files>

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

<Files ~ ".(php)$">
Deny from all
<Files

 

۲- محافظت از طریق FTP

می‌دانید که مشخصات FTP هاست شما در درون فایل configuration.php برای استفاده جوملا وجود دارد و در صورت دست یافتن هکر به این اطلاعات ، هکر می‌تواند به سادگی سایت شما را هک نماید.
به همین منظور شما می توانید دسترسی به FTP را به IP خود سرور و مثلا IP خودتان محدود نمایید.
مثال زیر برای proftpd می‌باشد و این امر برای سایر سرویس دهنده‌های FTP کمی متفاوت است.
در فایل /etc/proftpd.conf خط زیر را اضافه نمایید.

<Limit LOGIN>
Order allow,deny
Allow from 11.22.33.44
Allow from 127.0.0.1
Deny from all
Limit>

IP شماره ۱۱٫۲۲٫۳۳٫۴۴ مثلا متعلقه به کامپیوتر شما است و IP شماره ۱۲۷٫۰٫۰٫۱ متعلق به سرور است تا بتواند از FTP استفاده نماید

۳- بلوک کردن IP‌ها

معمولا اکثر سایت‌ها نیازی به مراجعه کاربران از کشورهای هکرخیز مانند چین و روسیه ندارند به همین منظور می‌توانید با استفاده از سایت زیر ، بازه IP‌های کشور مورد نظر را یافته و مسدود نمایید:

<countryipblocks.net/country-blocks/select-formats>
/sbin/iptables -I INPUT -s 88.147.196.0/88.147.253.255 -j DROP

۴- فایل‌ها و پوشه‌ها در جوملا

اکنون زمان محافظت از فایل‌ها و پوشه‌ها است. مالک فایل‌ها و پوشه‌ها کاربر FTP و دسترسی پوشه‌ها ۷۵۵ و دسترسی فایل‌ها ۶۴۴ می‌باشد به همین منظور دستور زیر را اجرا نمایید.

Navigate to joomla root chown -R user:group ./ chmod -R 0644 ./ find . -type d -exec chmod 755 {} ;

با این کار مالک فایل‌های شما تغییر کرده و دیگر PHP قادر به نوشتن بر روی فایل‌ها نیست.

البته فراموش نکنید که باید به صورت دستی دسترسی cache و backupsرا ۷۷۷ نمایید.

نکته: این کار را از طریق کنترل پنل و FTP ‌هم میتوانید به راحتی انجام دهید.

۵- جوملا خود را به روز نگه دارید

شما همواره باید جوملا خود را به‌روز نگه دارید و پس از انتشار هر نسخه جدید، سریعا جوملا خود را به نسخه جدیدتر ارتقا دهید.

۶- محافطت از پوشه administrator در جوملا

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

۷- کاهش دسترسی کاربر admin در جوملا

کاربر admin که مدیرکل جوملا می‌باشد همواره یکی از اهداف حمله هکرها است. به همین منظور یک کاربر مدیر کل دیگر ایجاد نموده و سپس با آن وارد بخش مدیریت شده و دسترسی کاربر admin را به “کاربر ثبت شده” تغییر دهید.

۸- نصب پلاگین jSecure Authentication

نصب این پلاگین باعث ایجاد امنیت بیشتر در مسیر ورودی به مدیریت جوملای شما می‌شود.

۹- تغییر پیشوند جداول دیتابیس

از دیتابیس خود بکاپ بگیرید.

وارد مدیریت جوملا شوید.

در تنظیمات کلی وارد بخش دیتابیس شوید.

پیشوند جداول را به مثلا به rthf_ تغییر داده و سپس ذخیره نمایید.

وارد phpMyAdmin شوید.

وارد export شده و از دیتابیس خود خروجی ساده بگیرید.

کل خروجی ایجاد شده را کپی نمایید.

در phpMyAdmin کلیه جدول‌ها را حذف نمایید.

در notepad عبارت jos_ را مثلا با rthf_ جایگزین نمایید.

وارد تب SQL شده و متن را از notapad کپی و سپس بر روی دکمه Go کلیک نمایید.

نتیجه‌گیری

با انجام کارهای بالا سایت شما بیش از ۹۹٫۹۹% از احتمال هک شدن مصون می‌گردد.

راه‌کارهای افزایش امنیت در وردپرس

537views

۱- همیشه بروز باشید!

یکی از اصلی ترین نکات، بروزرسانی هسته وردپرس است. همیشه وردپرس خود را بروز نگهدارید.

۲- نام کاربری مدیر را admin انتخاب نکنید!

سعی کنید نام کاربری مدیر را چیزی انتخاب کنید که به راحتی قابل حدس زدن نباشد. مواردی مثل admin – modir – administrator و… را انتخاب نکنید.

۳- رمز عبور مناسب انتخاب کنید.

سعی کنید در رمز عبور خود از حروف نامتعارف و کاراکترهای جانبی استفاده کنید. حدالامکان از password generator های قدرتمند برای این‌کار استفاده ببرید.

۴- سطح دسترسی پوشه های زیر را روی ۷۵۵ (user account) قرار دهید:

/wp-admin/
/wp-includes/
/wp-content/
/wp-content/themes/
/wp-content/plugins/

و سطح دسترسی فایل‌های داخل آنها بر روی ۶۴۴ قرار گیرد.

۵- امنیت پوشه wp-includes را به کمک قرار دادن کدهای زیر (در htaccess) بالاتر ببرید:

 

# Block the include-only files.
RewriteEngineOn
RewriteBase
RewriteRule^wp-admin/includes/-[F,L]
RewriteRule!^wp-includes/-[S=3]
RewriteRule^wp-includes/[^/]+\.php$ -[F,L]
RewriteRule^wp-includes/js/tinymce/langs/.+\.php -[F,L]
RewriteRule^wp-includes/theme-compat/-[F,L]

۶- امنیت فایل wp-config.php را به کمک قرار دادن کدهای زیر (در htaccess) بالاتر ببرید:

< fileswp-config.php
order allow,deny
deny from all >

۷- در پایگاه داده، پیشوند (_prefix) پیشفرض (wp_) را تغییر دهید.

۸- بصورت مرتب از پایگاه داده خود پشتیبان بگیرید.

اسکریپت powershell

اسکریپت Powershell برای فشرده‌سازی فایل‌های VHDX

670views

اسکریپت powershell شامل یک تابع به نام Compact-VHDX است که می‌توان با استفاده از آن سایز دیسک‌های VHDX را که به صورت Dynamic تعریف شده‌اند و بیشتر از فضای واقعی درون آن‌ها را اشغال کرده‌اند را کاهش داد.

فایل VHDX باید حتما در ابتدا غیرفعال یا dismount شود تا اسکریپت powershell بتواند به آن دسترسی داشته باشد.

برای استفاده فایل زیر را از گالری Technet دریافت نمائید و مطابق راهنمای فراهم شده به شرح ذیل از آن استفاده نمائید.

https://gallery.technet.microsoft.com/scriptcenter/Powershell-Script-to-ae5c00ba/file/126931/1/Compact-VHDX.rar

دریافت راهنما:

Help Compact-VHDX -Full

مثال:

Compact-VHDX -VHDXPath D:\Dynamic1.vhdx -SDelete .\sdelete.exe

راهنما:

NAME
Compact-VHDX

SYNOPSIS
Function to remove unused space in Dynamic VHDX file

SYNTAX
Compact-VHDX [-VHDXPath] [-SDelete] [[-LogFile] ] [-WhatIf] [-Confirm] []

DESCRIPTION
Function is designed to work on Dynamic VHDX files – not Fixed.

To reduce size of Fixed VHDX file convert it to dynamic first then use this function.
For example:
Dismount-VHD -DiskNumber 13 -Confirm:$false
Convert-VHD -Path ‘d:\Fixed1.vhdx’ -DestinationPath ‘d:\Dynamic2.vhdx’ -VHDType Dynamic
Where ’13’ is the disk number as shown in Disk Management/Computer Management.

Before using this script, empty space on the VHDX disk first by deleting un-needed and
temporary files, and emptying the recycle bin

PARAMETERS
-VHDXPath
Path to VHDX file

Required? true
Position? 1
Default value
Accept pipeline input? true (ByValue, ByPropertyName)
Accept wildcard characters? false

-SDelete
Path to the SDelete.exe tool.
The tool is bundled with this script for ease of use. It can be downloaded from
http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

Required? true
Position? 2
Default value .\SDelete.exe
Accept pipeline input? false
Accept wildcard characters? false

-LogFile

Required? false
Position? 3
Default value “.\Compact-VHDX-$(Get-Date -format yyyyMMdd_hhmmsstt).txt”
Accept pipeline input? false
Accept wildcard characters? false

-WhatIf []

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Confirm []

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

NOTES
Function by Sam Boutros
v1.0 – 10/12/2014

————————– EXAMPLE 1 ————————–

C:\ZAGRIO.COM\PS>Compact-VHDX -VHDXPath D:\Dynamic1.vhdx -SDelete .\sdelete.exe

RELATED LINKS
https://superwidgets.wordpress.com/category/powershell/
https://www.zagrio.com/

نحوه ساختن شناسه کاربری در NIC.ir

1.1kviews

مطابق قوانین فیزیک نظری NIC.ir (مرکز ثبت دامنه های ملی) هر دامنه باید تحت عنوان صاحب امتیاز آن ثبت شود.

از این رو در مراحل ثبت این نوع دامنه از طریق میزبانی زاگریو از شما شناسه (Handle) صاحب امتیاز آن در این مرکز درخواست می‌شود.

به منظور ثبت این نوع دامنه ابتدا لازم است با مراجعه به لینک زیر ابتدا نسبت به ساخت شناسه کاربری اقدام و سپس آن شناسه که ساختار آن بصورت XXXXX-irnic است را وارد نمائید.

https://www.nic.ir/Create_New_Handle

این شناسه کاربری بسته به نوع آن (حقیقی، حقوقی، سازمانی، آموزشی و محدود) در زمان ثبت قابل انتخاب است.

چرا موفق به ثبت دامنه یا تمدید دامنه ir نمی‌شوم؟

933views

شما باید این اجازه را به میزبانی زاگریو بدهید تا از طرف شما نسبت به ثبت دامنه و یا تمدید دامنه با نام شما اقدام نماید.

 از این رو لازم است به سامانه NIC.ir وارد شوید، سپس مراحل ذیل را ادامه دهید:

 ۱- از منوی شناسه روی مدیریت رابطه‌های مجاز کلیک کنید و همانند تصویر در قسمت‌های مربوطه گزینه خودم و تیک شناسه‌های آشنا و نمایندگان را انتخاب و دکمه اعمال را بزنید.

nic

۲- سپس از منوی شناسه بر روی مدیریت شناسه‌های آشنا کلیک کنید و در قسمت مربوطه مقادیر زیر را نمائید و دکمه اعمال را بزنید.

 

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

domain terms

شرایط دامنه‌های بین‌المللی

767views

دامنه‌های بین‌المللی ثبت شده در میزبانی زاگریو با همکاری مرکز ثبت WebNIC ثبت و مدیریت می‌شوند.

هر شرکت ثبت‌کننده تابع قوانین بین‌المللی و بعضا قوانین خودشان در خصوص مدیریت، تایید، انتقال و ثبت دامنه‌ها شرایط و ضوابطی را اعمال می‌نمایند.

همچنین این قوانین بر اساس پسوند دامنه در خصوص مدت زمان، شرایط تمدید، ثبت، حذف و غیره متفاوت است.

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

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

قوانین و شرایط کلی دامنه ها
ثبت دامنه
بازیابی دامنه
تمدید دامنه
حذف دامنه
انتقال دامنه
انتقال نمایندگان
مدیریت دامنه
تایید دامنه

در صورت داشتن هر گونه پرسش در زمینه دامنه‌های بین المللی در تماس با ما تردید نفرمائید.

خطای Internal Server Error 500 چیست؟

1.8kviews

در صورتیکه روی سایت خود با خطای ۵۰۰ Internal Server Error مواجه شدید، لطفا موارد زیر را بررسی نمایید:

۱- بررسی کنید که برنامه شما با دسترسی حداکثر ۷۵۵ درحال اجرا باشد. چنانچه از دسترسی ۷۷۷ استفاده می‌کند، موجب بروز خطای ۵۰۰ (خطای اینترنال سرور) را می‌دهد. معمولا فایل‌های اسکریپت را با دسترسی ۶۴۴ استفاده می‌کنند.

۲- بررسی کنید که شاخه‌ای برنامه در آن اجرا می‌شود و همچنین کلیه شاخه‌هایی که به این اسکریپت مربوط می‌شود، دسترسی ۷۵۵ داشته باشد.

۳- بررسی کنید که مالکیت فایل با خودتان باشد! احتمال دارد مالیک فایل‌های شما به شکل nobody باشد که در این صورت با ارسال مسیر اسکرپیت به پشتبانی، مالکیت فایل‌ها به کاربری شما تغییر خواهد کرد.

۴- htaccess خود را چک کنید. چنان‌چه در آن تغییراتی برای php_value صورت گرفته باید از این فایل حذف گردد (این تغییرات باید در فایل php.ini اعمال گردد)

۵- چنان‌چه به نتیجه‌ای نرسیدید، برای بررسی بیشتر اطلاعات ورود به CPanel خود را به پشتیبانی ارسال نمایید .