داستاني از يک برنامهنويس بر سر زبانها افتاد که به خاطر تخريب اتفاقي يک پايگاهداده توليد در روز اول کارش، اخراج شده بود. اين ماجراي غمانگيز که توسط همين کارمند اخراجي بداقبال در سايت Reddit منتشر شده بود، نکات مهمي را آشکار ميکند؛ از جمله اين که کارمندان تازهاستخدامشده از دسترسي راهبري به محيط توليد برخوردار هستند، اسناد راهنما حاوي اطلاعات غيردقيق هستند و باعث بروز چنين اشتباهي شدند و بدتر از همه، هيچ نسخه پشتيباني از پايگاه دادهها وجود نداشته و باعث تشديد پيامدهاي اين بحران شده است. کارشناسان يا سازمانهاي IT ميتوانند درسهاي بسياري از اين اشتباه بياموزند. چنين اتفاقاتي نشاندهنده لزوم بهرهگيري از تجربيات برتر در محيطهاي توليد هستند. بر همين اساس، در ادامه به تشريح ۱۰ مؤلفه کليدي ميپردازيم که هر محيط توليدي بايد از آنها برخوردار باشد تا از حداکثر زمان فعاليت، پايداري و البته امنيت شغلي براي کساني که اين محيطها را نگهداري ميکنند، اطمينان حاصل گردد.
۱. تجهيزات جايگزين
برخورداري از تجهيزات جايگزين احتمالاً يکي از مهمترين اجزاي سازنده يک محيط توليد موفق است. اگر وجود يک سيستم يا سرويس براي سازمان حياتي است، چه از جنبه توليد درآمد يا پيشگيري از کاهش درآمد، هرگز نبايد فقط به يک نمونه از آن بسنده کرد. بايد از نمونههاي جايگزين براي سيستمها و برنامههاي کاربردي استفاده کرد تا تضمين شود که در صورت از دست دادن يک سرور به طور کامل، سازمان ميتواند به کار خود ادامه دهد. اتصالات شبکه و برق هم بايد نمونههاي جايگزين داشته باشند. برخي سازمانها حتي يک نمونه جايگزين از کل تأسيسات يک سايت را ايجاد ميکنند تا بتوانند عمليات را در يک مکان کاملاً متفاوت ادامه دهند. تحميل هزينه اضافي اغلب به عنوان يک عامل بازدارنده در بهکارگيري تجهيزات جايگزين قابلاتکا عنوان ميشود، اما در نظر داشته باشيد که سرمايهگذاري در تجهيزات جايگزين، گرچه ابتدا سنگين و پرهزينه است، اما در ادامه مسير ميتواند به سود چشمگيري منتهي شود؛ حتي اگر اين سود فقط در حد آرامش خيال باشد.
۲. قابليت بازيابي پس از حادثه
«حادثه» ميتواند معناي مبهمي داشته باشد. اين واژه به هر گونه خرابي يا حادثه غيرمنتظره اطلاق ميشود، از توقف کار يک برنامه کاربردي گرفته تا از دست دادن کل يک سايت تأسيساتي به علت قطعي برق. براي مواجهه با حوادثي که بر توانايي شما در اداره يک محيط توليد تأثير ميگذارند، برنامهريزي کنيد و اطمينان حاصل نماييد که راهحلهاي مناسبي در اختيار داريد. براي مثال:
• هر شب از همه سيستمها پشتيبانگيري کنيد و عملکرد سيستمهاي بازيابي را تأييد نماييد.
• هارد درايوها و حافظههاي پشتيبان را به مکاني ديگر منتقل کنيد و يا دادهها را در ابر کپي کنيد تا از راه دور نيز قابل دسترسي باشند.
• از ماشينهاي مجازي و دادههاي شبکه ذخيرهسازي (SAN)، تصاوير لحظهاي تهيه کنيد تا در صورت بروز حادثه بتوانيد آنها را به وضعيتهاي مناسبي که در گذشته ثبت کردهايد، بازگردانيد.
• براي مواقع اضطراري، هارد درايو، کارت شبکه و سرورهاي اضافي در دسترس داشته باشيد.
• يک ژنراتور نصب نماييد تا از سيستمها در مقابل قطعي برق حفاظت کنيد.
۳. دسترسي امن
در داستان بالا که منجر به پاک شدن پايگاهداده توليد توسط يک برنامهنويس تازهوارد شد، اگر آن سازمان تنها يک دستورالعمل ساده را رعايت کرده بود، چنين حادثهاي هرگز اتفاق نميافتاد. آن دستورالعمل اين است: دسترسي به محيط توليد را فقط به افرادي ارائه کنيد که واقعاً به آن نياز دارند و مجوزها را بر حسب وظايف شغلي آنها پيکربندي نماييد. تمامي گذرواژههاي متعلق به حسابهاي کاربري سيستمها يا سرويسها را در يک پايگاهداده مرکزي امن ذخيره کنيد. کليد ورود به محيط توليد را به هيچ يک از کارکنان جديد ندهيد، مگر آن که آنها از همان روز اول بايد مستقيماً در محيط توليد کار کنند. اگر آنها واقعاً نيازمند دسترسي به محيط توليد هستند، ببينيد آيا صدور مجوز «خواندن» براي آنها کافي است يا خير، تا آنها در عمل نتوانند دادهها را تغيير دهند. اگر کارکناني که به محيط توليد دسترسي دارند، سازمان را ترک ميکنند، اطمينان حاصل نماييد که حساب کاربري آنها را قفل يا غيرفعال ميکنيد. اگر راهبراني که داراي دسترسي به محيط توليد هستند از سازمان شما جدا ميشوند، همه گذرواژههاي مرتبط نظير گذرواژههاي راهبري يا روت را تغيير دهيد.
۴. دسترسي استانداردشده
روشهاي متنوعي براي دسترسي به دادههاي توليد وجود دارد؛ براي مثال از طريق مرورگر وب، اتصال SSH، دسکتاپ راه دور، يک کلاينت پايگاه داده Squirrel، پروتکل FTP امن و شيوههاي مختلف ديگر. در مواردي که کلاينت يا پورتال يکسان است، مطمئن شويد که کاربران از يک روش استاندارد براي دسترسي به محيط توليد برخوردارند. استفاده از يک سرور واسط jump box يا رايانه ميزبان سنگر براي اين که کاربران ابتدا به آن و سپس به محيط توليد متصل شوند نيز اقدامي منطقي است. براي مثال، ميتوان يک سرور ويندوز، که کاربران ميتوانند از طريق يک دسکتاپ راه دور به آن وارد شوند، را با استفاده از برنامههاي کاربردي استانداردي نظير فايرفاکس، Putty و Squirrel پيکربندي و راهاندازي کرد تا ثبات اين سرور و توانايي آن در پشتيباني آسان از نيازهاي کاربران، تضمين شود. اين کار همچنين به تأمين امنيت بهتر محيط توليد کمک ميکند.
۵. کمينه کردن
سيستمهاي محيط توليد شما بايد فقط حاوي سرويسها يا برنامههاي کاربردي ضروري باشند. در اين صورت، نياز کمتري به عيبيابي و بهروزرساني سيستمها بود. اين سادگي همچنين تضمين ميکند که محيط شما قابليت پيشبيني و مديريت پذيري بيشتري خواهد داشت. به علاوه، اين راهبرد ردپاي حملات احتمالي را هم کاهش ميدهد. يک وبسرور بايد فقط پلتفرم IIS، آپاچي يا Tomcat را اجرا کند؛ سرور FTP بايد فقط سرويس FTP امن را اجرا نمايد؛ سرور فايل نيز بايد فقط دادهها را ميزباني کند؛ و ديگر سرورها نيز به همين ترتيب. اگر برنامههاي کاربردي يا سرويسها ديگر مورد استفاده قرار نميگيرند، آنها را حذف نماييد.
۶. راهبرد وصلهزني
وصلهزني و بهروزرساني، يک کار پردردسر اما ضروري است. يک سازوکار وصلهزني تدوين کنيد تا اطمينان حاصل گردد که سيستمهاي توليد دستکم به صورت ماهانه بهروزرساني ميشوند. ريبوت کردن سيستمهاي توليد گرچه کار لذتبخشي نيست، اما در مقايسه با دردسرهاي ناشي از وقوع رخنه به دادهها بسيار هم خوشايند خواهد بود. به علاوه، اگر شما از تجهيزات جايگزين برخوردار هستيد، بايد اين توانايي را داشته باشيد که مثلاً يک جفت سيستم بههمپيوسته را وصلهزني و ريبوت کنيد، بدون اين که هيچ تأثيري روي کاربران بگذارد. با اين وجود، پس از وصلهزني سيستمهاي اصلي، دستکم يک يا دو روز تا وصلهزني تمام سيستمهاي جايگزين فاصله بيندازيد؛ صرفاً از اين جهت که ممکن است فرايند وصلهزني تأثير نامطلوبي داشته باشد و نياز به استفاده از سيستمهاي جايگزين باشد.
۷. شبکههاي مجزا
سيستمهاي توليد شما هيچگاه نبايد روي همان شبکهاي باشند که ديگر سرورها روي آن قرار دارند، چه برسد به ايستگاههاي کار کارمندان. بنابراين، آنها را در زيرشبکه اختصاصي خودشان قرار دهيد و دسترسي آنان را از طريق يک فايروال برقرار نماييد؛ فايروالي که تنها به سيستمهاي معين اجازه ميدهد تا اتصال خود را فقط از طريق پورتهاي لازم، برقرار کنند. اين کار به تضمين امنيت و همچنين دستيابي به وضعيت مينيمالي که در بالا به آن اشاره شد، کمک مينمايد. ممکن است تعيين اين که کدام پورتها بايد در فايروال باز بمانند، کار پرزحمتي باشد؛ اما اين کار را همانند يک سرمايهگذاري جهت يادگيري بيشتر در مورد نحوه کار محيط توليد خود در نظر بگيريد؛ کاري که در موقع عيبيابي و پشتيباني از سيستمها بسيار سودمند خواهد بود.
۸. مديريت تغييرات
مديريت تغييرات عبارت است از فرايند مستندسازي تغييرات پيشنهادي و تأثيرات مورد انتظار از آنها و سپس، ارائه يک درخواست براي بازبيني و تأييد اين تغييرات. در حالت ايدهآل، بهتر است اين درخواست موارد زير را شامل شود: ليستي از سيستمهاي تحت تأثير، برنامه اعمال تغييرات، شيوههاي اعتبارآزمايي تغييرات از ديدگاه راهبر سيستم و از ديدگاه کاربر نهايي، و يک برنامه براي بازگشت و انصراف. ساير افراد فني نيز بايد اين فرايند را براي يافتن ايرادهاي احتمالي، بازرسي نمايند و پيش از پيادهسازي تغييرات، اين درخواست بايد به تأييد مدير برسد. بيشتر سازمانهاي بزرگ، به خصوص مؤسسات مالي، از دستورالعملهاي سختگيرانهاي براي مديريت تغييرات استفاده ميکنند که البته، سازمانهاي کوچکتر نيز از آن سود ميبرند. اين ميتواند کار پرزحمتي باشد و باعث آشفتگي يا بيميلي کارشناسان پرمشغله IT گردد، اما انجام آن تضمين ميکند که کمترين تأثيرات منفي ممکن به محيطهاي توليد وارد ميشوند. اين کار همچنين باعث ميشود که اگر اعمال يک تغيير منجر به قطعي ناخواسته سرويسها شود، افراد بتوانند کارهاي خود را ادامه دهند؛ زيرا قبل از اعمال تغيير، وقوع آن پيشبيني و تأييد شده است و کاري نيست که به خاطر اشتباه يک راهبر رخ داده باشد.
۹. مميزي، گزارشگيري و هشدار
اگر از مميزي، گزارشگيري و ارسال هشدار استفاده نشود، سطح اثربخشي بسياري از اقدامات بالا کمتر ميشود يا به کلي معناي خود را از دست ميدهد. تمامي فعاليتهاي صورتگرفته در يک سيستم توليد بايد ثبت شوند و بسته به حساسيت آنها و در صورت لزوم، اعلام هشدار شود. به عنوان نمونه، در صورت ورود به سيستم با دسترسي سطح روت بايد هشداري براي کارکنان IT و يا گروه امنيتي ارسال شود تا آنها بتوانند ارزيابي کنند که چه اتفاقي در حال وقوع است و آيا اقدام خلافقانوني رخ داده است يا خير. همين شرايط براي سختافزارهايي که ممکن است داراي نقص باشند نيز صادق است. جمله معروفي وجود دارد که ميگويد: «کاربران شما بايد آخرين نفراتي باشند که متوجه ميشوند محيط توليد از کار افتاده است». هارد درايوهايي که در حال پر شدن هستند، بايد کارکنان مربوطه را باخبر سازند. همين کار بايد در خصوص استفاده بيش از حد از پهناي باند، حافظه در دسترس اندک، مشکل اتصالات داراي اختلال يا ساير مسائل عملياتي نيزانجام شود.
۱۰. مستندسازي مناسب
يک ضربالمثل چيني ميگويد: «کمرنگترين جوهرها بهتر از قويترين حافظهها هستند». دانش، ابزار قدرتمندي است، اما توانايي بهاشتراکگذاري درست آن با ديگران حتي از آن هم قدرتمندتر است. تغيير کارکنان يک واقعيت است؛ اما جدا شدن کارمنداني که اطلاعات مهم در مورد محيط توليد سازمان فقط در ذهن آنها ذخيره شده است، يک ضرر بزرگ براي سازمان به حساب ميآيد. مستندسازي محيط توليد بايد به شيوهاي جامع انجام گردد و دائماً بهروزرساني شود. اين مستندات بايد شامل اطلاعات سختافزار، نرمافزار، جزئيات شبکه، اطلاعات ارائهدهندگان، اطلاعات پشتيباني، وابستگيها به ساير سيستمها يا برنامههاي کاربردي و هر گونه جزئيات ضروري ديگر براي حفظ نظم و ساختار سيستمها باشند. بايد هر سه ماه يکبار، فرايند بازبيني انجام شود و اطمينان حاصل گردد که همه کارکنانِ مسئول در محيط توليد، با فرايند مستندسازي آشنا هستند و براي مواجهه با حوادث، از اين مستندات پشتيبانگيري شده است.