امنیت سرور و وب سایت ها از اهمیت بسیار بالایی برخوردار است. در این پست راهکارهایی را برای حفظ و افزایش امنیت وبسایت و سرور به شما آموزش داده می شود.
شش گام عالی برای امنیت وب سرور
برای امنیت وب سرور دنبال چک لیست میگردید؟ شما خوش شانسید. در این راهنما، مایک چپل شش اقدام ساده را بیان میکند که شما را در امنتر کردن وب سرورتان کمک میکند.
اطمینان از امنیت وب سرور یکی از مهمترین وظایف مسئولین امنیت اطلاعات در بحث امنیت در اینترنت و شبکه است. شما باید تعادل را حفظ کنید …
صدور اجاره دسترسی قانونی به منابع وب برای عموم، همزمان با تلاش برای اجتناب از ورود افراد بد، نقشی متضاد است. شما حتی ممکن است پیاده سازی احراز هویت مبتنی بر دو عامل، مانند RSA SecurID را نیز در نظر بگیرید تا اطمینان بالایی در سیستم احراز هویت خود داشته باشید، اما توزیع توکنها برای تمام کاربران وب سایت شما عملی و یا مقرون به صرفه نخواهد بود.با وجود چنین اهداف متضادی، اینجا شش تاکتیک را شرح میدهیم که می توانند به قفل کردن سرورهای وب شما کمک کنند. لازم است این اصول را در تمام محصولات شبکه از جمله سوفوس و سایبروم مدنظر داشته باشید.
- برای برنامههای داخلی و خارجی از سرورهای جداگانه استفاده کنید.
میدانیم که سازمانها معمولا دارای دو گونه مجزا از برنامههای کاربردی وب هستند، بخشی از آنها که به کاربران داخلی خدمات میدهند و بخشی که به کاربران خارجی خدمات می دهند، جانب احتیاط آن است که این برنامه ها در سرورهای مختلف قرار گیرند. انجام این کار خطرات کاربران مخرب را در نفوذ به سرور خارجی جهت دسترسی به اطلاعات حساس داخلی، کاهش دهد.اگر منابع لازم برای اجرای این مدل را در اختیار ندارید، باید حداقل از کنترل های فنی (مانند جدا سازی فرآیند) استفاده کنید تا مانع از تعامل برنامه های داخلی و خارجی با یکدیگر شوید.
- برای تست و اشکال زدایی برنامهها از سرور توسعه جداگانهای استفاده کنید.
قرار دادن برنامه های کاربردی تست در سرور مستقل وب معقول تر به نظر می رسد — و این درست است! متأسفانه، بسیاری از سازمان ها این اصل اساسی را رعایت نمیکنند و به جای آن به توسعه دهندگان اجازه می دهند که در سرور کاری، کدنویسی کنند و یا به تولید برنامههای جدید بپردازند. این ایده برای امنیت و قابلیت اطمینان بسیار وحشتناک است. کدهای آزمایشی در سیستم های تولید میتواند موجب ناکامی تجربه کاربری کاربران شود (به دلیل احتمال قطع کامل) و نیز میتواند موجب ایجاد آسیب پذیریهای امنیتی گردد، زیرا برنامه نویسان کدهایی را منتشر میکنند که هنوز امتحان نشدهاند و ممکن است آسیب پذیر باشند.اکثر سیستم های کنترل مدرن نسخه (مانند ویژوال SourceSafe مایکروسافت) می توانند به خودکارسازی فرآیند برنامه نویسی، تست و اشکال زدایی کمک کنند.
دیگر منابع تأمین امنیت وب سرورهای
فراگیری چگونگی راهاندازی ایمن وب سرور DMZ
سرور خود را از حملات هک محافظت کنید
اطلاع از مورد چگونگی اعمال بهترین شیوه های امنیتی Apache برای وب سرورها - فعالیت های وب سایت را بررسی کنید و لاگهای مربوطه را در محل امنی ذخیره نمایید.
هر متخصص حرفه ای امنیت از اهمیت نگهداری لاگهای مربوط به فعالیتهای سرور آگاه است.از آنجایی که بیشتر وب سرورها در معرض دید عموم هستند، بسیار حیاتی است که این کار را برای تمام سرویسهای مبتنی بر اینترنت انجام دهید. این بررسیهای مکرر به شما کمک می کند تا حملات را شناسایی و واکنش نشان دهید و شما را قادر میسازد تا مشکلات مربوط به عملکرد سرور را رفع کنید. در محیط های بسیار امن، اطمینان حاصل کنید که لاگهای شما در محلی که بهلحاظ فیزیکی امن است ذخیره میشوند – ایمن ترین (اما پر زحمتترین) روش این است که یک چاپگر خطی داشته باشید که ورودی رکورد را همزمان با لاگ چاپ کند، بنابراین یک سند کاغذی دائمی ایجاد می شود که توسط افراد مزاحمی که دسترسی فیزیکی به محل را ندارد، قابل تغییر نخواهد بود.همچنین شما میتوانید استفاده معادل الکترونیکی آن را بخواهید، مانند قرار دادن لاگها در به یک میزبان امن که با رمزگذاری به صوورت امضاهای دیجیتالی ایمن شده تا از تجسس و تغییر آن پیشگیری کند. - شیوههای کد نویسی امن را به برنامه نویسان بیاموزید.
توسعه دهندگان نرم افزار، بر ایجاد برنامههای کاربردی تمرکز دارند که نیاز کسب و کارها میباشند، و اغلب این نکته نادیده گرفته میشود که مهمترین نیاز حیاتی کسب و کارها، امنیت اطلاعات است.به عنوان یک متخصص امنیت، این وظیفه شما است که به توسعه دهندگان در باره مسائل امنیتی تأثیر گذار بر وب سرورها، آموطش دهند. شما باید توسعه دهندگان را از مکانیزم های امنیتی موجود در شبکه خود مطلع سازید تا اطمینان حاصل کنید که نرم افزارهایی که ایجاد می کنند از این مکانیسمها دور نیست. همچنین در باره مفاهیمی نظیر حملات سرریز بافر و ایزوله سازی فرآیندها آموزشهایی ارائه کنید. این همه مسیری طولانی است تا از شیوههای برنامه نویسی صحیح که به تولید برنامههای امن منتهی میشوند اطمینان حاصل کنیم. - سیستم عامل و سرور وب خود را پچ کنید.
یکی دیگر از موتردی که عقل سلیم به آن حکم میکند آن است که اغلب اشتباهات زمانی رخ میدهند که مدیران شبکه بیشاز حد سرگرم انجام وظایف دیگر شده باشند. بولتن های امنیتی، مانند آنهایی که توسط CERT یا مایکروسافت صادر شده اند، مدام یادآوری میکنند که چگونه اغلب فروشندگان نرم افزار تکههایی را برای اصلاح آسیب پذیری های امنیتی خاص منتشر میکنند.این مهم است که وب سرورهای خود را برای رفع اشکالات امنیتی فعلی پچ کنید. ابزارهایی مانند سرویس به روز رسانی نرم افزار مایکروسافت (SUS) وسرویس RedHat’s up2date مینواند به خودکار سازی این کار کمک کند.در نهایت، هنگامی که یک نقص آشکار شد، اگر شما آن را حل نکنید، بالاخره کسی آن را پیدا میکند و آن را مورد بهره برداری قرار میدهد. - از اسکنر اپلیکیشن استفاده کنید.
اگر مقرون به صرفه باشد، ممکن است بخواهید برای اعتبار سنجی توسعه کد داخلی خود از یک اسکنر اپلیکیشن استفاده کنید. ابزارهایی مانند Watchfire’s AppScan می توانند اطمینان حاصل کنند که کد قابل بهرهبرداری، شکافی ندارد و در محیط کار شکسته نمیشود.
این را به یاد داشته باشید که امنیت یک حالت ذهنی است! طراحی خوب معماری وب سرور باید بر اصول امنیتی صحیح استوار باشد. پیاده سازی این شش گام به شما کمک می کند تا یک پایه قوی ایجاد کنید.
درباره نویسنده:
مایک چپل ، Ph.D.، CISA، CISSP، مدیر ارشد ارائه خدمات فناوری اطلاعات در دانشگاه نوتردام است.او قبلا به عنوان محقق امنیت اطلاعات با آژانس امنیت ملی و نیروی هوایی ایالات متحده همکاری داشته است.