सुझाव है कि इनायत एक (UNIX) उत्पादन सर्वर पर ले लो


10

महीनों की उपेक्षा के बाद, ई-मेल की लपटों और प्रबंधन की लड़ाई हमारे वर्तमान सीसडमिन को निकाल दिया गया और मुझे "सर्वर क्रेडेंशियल्स" सौंप दिया गया। इस तरह के क्रेडेंशियल रूट पासवर्ड में होते हैं और कुछ नहीं: कोई प्रक्रिया नहीं, कोई दस्तावेज नहीं, कोई सुझाव नहीं, कुछ भी नहीं।

मेरा सवाल यह है: यह मानते हुए कि उसने boobytraps को पीछे छोड़ दिया, मैं कैसे कृपापूर्वक सर्वर को यथासंभव कम डाउनटाइम के साथ ले जा सकता हूं?

यहाँ विवरण हैं:

  • तहखाने में एक सर्वर फ़ार्म में स्थित एक उत्पादन सर्वर; ubuntu सर्वर 9.x शायद, grsec पैच के साथ (अफवाहें पिछली बार मैंने व्यवस्थापक से पूछा था)
  • एक आंतरिक सर्वर जिसमें सभी आंतरिक दस्तावेज, फाइल रिपॉजिटरी, विकी आदि शामिल हैं, फिर से, ubuntu सर्वर, कुछ साल पुराना है।

मान लें कि दोनों सर्वरों को अप-टू-डेट किया गया है, तो मैं तब तक अपने तरीके से हैक करने की कोशिश नहीं करूंगा, जब तक कि कोई अच्छा कारण न हो (यानी ऊपरी प्रबंधन को समझाया जा सकता है)।

उत्पादन सर्वर में कुछ वेबसाइटें (मानक अपाचे-php-mysql), एक LDAP सर्वर, एक ZIMBRA ई-मेल सूट / सर्वर, और जहाँ तक मैं कुछ vmware वर्कस्टेशन बता सकता हूं। पता नहीं वहां क्या हो रहा है। संभवतः एक LDAP मास्टर है, लेकिन यह एक जंगली अनुमान है।

आंतरिक सर्वर में एक आंतरिक विकी / सेमी, एक LDAP दास होता है जो उत्पादन सर्वर से क्रेडेंशियल्स, कुछ और vmware वर्कस्टेशन और बैकअप चल रहा है।

मैं सिर्फ सर्वर फ़ार्म के व्यवस्थापक के पास जा सकता था, सर्वर पर इंगित करता था, उन्हें ' sudoउस सर्वर को बंद कर देता' कृपया बताएं, एकल उपयोगकर्ता मोड में लॉग इन करें और इसके साथ मेरा रास्ता तय करें। आंतरिक सर्वर के लिए भी। फिर भी, इसका मतलब यह होगा कि डाउनटाइम, ऊपरी प्रबंधन परेशान, पुराने sysadmin मुझ पर वापस 'कह रही है? आप मेरा काम नहीं कर सकते और अन्य उपद्रव, और सबसे महत्वपूर्ण बात यह है कि मुझे संभावित रूप से कुछ सप्ताह के अवैतनिक समय को खोना होगा।

स्पेक्ट्रम के दूसरे छोर पर मैं बस रूट के रूप में लॉग इन कर सकता हूं और सर्वर को गर्त में लाने की कोशिश कर सकता हूं कि क्या हो रहा है। ट्रिगर आश्चर्य के सभी जोखिमों को पीछे छोड़ दिया।

मैं बीच में एक समाधान की तलाश कर रहा हूं: सब कुछ चालू रखने का प्रयास करें जैसा कि है, जबकि यह समझ में नहीं आता कि क्या हो रहा है और कैसे, और सबसे महत्वपूर्ण रूप से पीछे छोड़ दिए गए किसी भी उल्लसित जाल को ट्रिगर करने से बचें

आपके सुझाव क्या हैं?

अब तक मैंने आंतरिक सर्वर के साथ 'प्रैक्टिस' के बारे में सोचा, नेटवर्क को डिस्कनेक्ट किया, लाइव सीडी के साथ रिबूट किया, रूट फाइल सिस्टम को यूएसबी ड्राइव में डंप किया, और इसे डिस्कनेक्ट किया गया, अलग-अलग वर्चुअल मशीन को समझने के लिए पूर्व के सिडसमिन के तरीके को समझा। सोच (एक-ला 'अपने दुश्मन को जानो')। उत्पादन सर्वर के साथ एक ही करतब खींच सकता है, लेकिन एक पूर्ण डंप किसी को नोटिस करेगा। शायद मैं बस रूट के रूप में लॉग इन कर सकता हूं, क्रेस्टैब की जांच कर सकता हूं, जो लॉन्च किया गया है, उसके लिए किसी भी कमांड के लिए .profile, पिछलेलॉग को डंप करें, और जो भी दिमाग में आए।

और इसीलिए मैं यहां हूं। कोई भी संकेत, चाहे कितना छोटा हो, बहुत सराहना की जाएगी।

समय भी एक मुद्दा है: कुछ घंटों या कुछ हफ्तों में ट्रिगर हो सकते हैं। उन खराब हॉलीवुड फिल्मों में से एक की तरह लगता है, है ना?


5
सीसादीन को क्यों निकाल दिया गया? यह एक जीत की स्थिति की तरह लग रहा है। यदि आप सुनिश्चित नहीं हैं कि सर्वर पर क्या करना है और क्या है तो यह अच्छी तरह से समाप्त नहीं होगा।
cstamas

@cstamas sysadmin को निकाल दिया गया था क्योंकि हमने जो भी अनुरोध किया था (यानी मेलिंग सूची में उपयोगकर्ता जोड़ें, या एक ई-मेल उपनाम, आदि बनाएं) उस समय जो t = 1 दिन और t = 2 महीने के बीच एक यादृच्छिक चर था। सम्मिलित)। और उसने कभी यह स्वीकार नहीं किया। साथ ही अन्य बुरे व्यवहारों का एक गुच्छा जो मैं यहाँ विस्तार में नहीं जाऊँगा।
लॉरेंजोग

@lorenzog अब समझ में आता है। ऐसा लगता है कि यह एक आसान काम नहीं होगा। पहले से ही शानदार जवाब हैं। सौभाग्य!
cstamas

1
@serverhorror: नहीं, उन्होंने इस कंपनी में शामिल होने से पहले बस उसे काम पर रखा था, और अब वह काफी अच्छा नहीं हो पाया। चूंकि मुझे उससे पहले से पता था कि मेरे पास 'उससे निपटने' का काम था। अपनी मान्यताओं के साथ सावधान।
लॉरेंजोग

1
@lorenzog: यह आपके बारे में नहीं है। मुद्दा यह है कि यह वास्तव में प्रबंधकों की गलती है (जो कोई भी है) कि अनजाने बुनियादी ढांचे की स्थिति भी हो सकती है - जैसा कि मैंने कहा: कोई अपराध नहीं बस अवलोकन (एक व्यक्तिपरक अवलोकन)
मार्टिन एम।

जवाबों:


12

जैसा कि दूसरों ने कहा है कि एक ढीली-ढीली स्थिति की तरह दिखता है।

(अंत में शुरू)

  • पूरी तरह से नई तैनाती

बेशक, आप बस सर्वर को नीचे नहीं ले जा सकते हैं और इंस्टॉलर को जादू करते हैं।

सामान्य प्रक्रिया

  • बैकअप सर्वर के लिए बजट प्राप्त करें (डेटा के लिए संग्रहण में बैकअप)
  • डेटा का स्नैपशॉट बनाएं और कुछ भी करने से पहले उन्हें वहां रखें
  • कि प्रबंधन द्वारा हस्ताक्षर किए जाओ!
  • आवश्यकताओं की एक सूची इकट्ठा करें (विकि आवश्यक है, जो VMWare उदाहरणों का उपयोग कर रहा है, ...)
    • प्रबंधन से और
    • उपयोगकर्ताओं से
  • कि प्रबंधन द्वारा हस्ताक्षर किए जाओ!
  • एक सप्ताह के लिए असूचीबद्ध सेवाओं को बंद कर दें (एक समय में एक सेवा - iptables आपका मित्र हो सकता है यदि आप बाहरी सेवाओं को बंद करना चाहते हैं, लेकिन संदेह है कि यह अभी भी उसी होस्ट पर एक एप्लिकेशन से उपयोग किया जा सकता है)
    • कोई प्रतिक्रिया नहीं? -> अंतिम बैकअप, सर्वर से निकालें
    • रिएक्शन? -> सेवा के उपयोगकर्ताओं से बात करें
    • नई आवश्यकताओं को इकट्ठा करें और प्रबंधन द्वारा हस्ताक्षरित गीत!
  • एक महीने के लिए सभी गैर-सूचीबद्ध सेवाएं और कोई प्रतिक्रिया नहीं? -> rm -rf $service(कठोर लगता है लेकिन मेरा क्या मतलब है कि सेवा का डिकमीशन है)
  • एक अतिरिक्त सर्वर के लिए बजट प्राप्त करें
  • एक बार में एक सेवा को अतिरिक्त स्थान पर स्थानांतरित करें
  • कि प्रबंधन द्वारा हस्ताक्षर किए जाओ!
  • माइग्रेटेड सर्वर को बंद करें (पावर ऑफ)
  • यह जानने के लिए कि अधिक लोग आप पर चिल्ला रहे हैं -> याय, आपको बस बचे हुए लोग मिले
  • नई आवश्यकताओं को इकट्ठा करें
  • फिर से शुरू करें और सेवाओं को माइग्रेट करें
  • पिछले 4 चरणों को तब तक दोहराएं जब तक कि आपके एक महीने के बाद आने वाले लोग न हों
  • सर्वर को फिर से तैयार करें (और प्रबंधन द्वारा हस्ताक्षरित प्राप्त करें!)
  • कुल्ला और पूरी प्रक्रिया को दोहराएं।
    • redeployed सर्वर आपका नया स्पेयर है

आपको क्या फायदा हुआ?

  • सभी सेवाओं की सूची (आपके और प्रबंधन के लिए)
  • दस्तावेज़ीकरण (आखिरकार आपको प्रबंधन के लिए कुछ लिखने की आवश्यकता है, इसे ठीक से क्यों न करें और आपके और प्रबंधन के लिए कुछ करें)

वहाँ किया गया है कि, यह कोई मज़ा नहीं है :(

आपको प्रबंधन द्वारा इस पर हस्ताक्षर करने की आवश्यकता क्यों है ?

  • समस्याओं को स्पष्ट करें
  • सुनिश्चित करें कि आप निकाल नहीं दिया जाएगा
  • जोखिमों को समझाने का अवसर
    • यह ठीक है अगर वे आपको ऐसा नहीं करना चाहते हैं, लेकिन आखिरकार यह निर्णय लेने के लिए है कि उनके पास निवेश करने के लिए जज को पर्याप्त इनपुट मिला है, इसके लायक है।

ओह, और शुरू होने से पहले उनके सामने समग्र योजना पेश करें , सबसे खराब और सबसे अच्छे मामले में क्या होगा, इसके बारे में कुछ अनुमानों के साथ।

यदि आपके पास दस्तावेज़ीकरण नहीं है, तो यह बहुत कम समय खर्च करेगा । अगर आपके पास डॉक्यूमेंटिंग नहीं है, तो बैकहोल्ड, IMHO के बारे में सोचने की कोई जरूरत नहीं है। यह कंपनी के लिए वैल्यू डिलीवर करने वाला एकमात्र तरीका है।


यह एक बहुत अच्छा परिप्रेक्ष्य है। धन्यवाद। मैं निश्चित रूप से आपकी सलाह का पालन करूंगा: प्रबंधन से हस्ताक्षरित चीजें प्राप्त करना और सर्वरों की धीमी गति से पुनरावृत्ति करना। यह चोट लगी होगी, लेकिन यह कार्रवाई का सबसे अच्छा उचित पाठ्यक्रम की तरह लगता है।
लॉरेंजोग

उचित प्रलेखन द्वारा मैं यह सुझाव देता हूं: serverfault.com/questions/25404/… (सामान्य विषय को भी देखें) बहुत अच्छी तरह से (कम से कम मेरे लिए) काम करता है
मार्टिन एम।

4

क्या आपके पास यह मानने का कारण है कि पिछले व्यवस्थापक ने कुछ बुरा छोड़ दिया है, या आप बहुत सारी फिल्में देखते हैं?

मैं मुखर होने के लिए नहीं कह रहा हूं, मैं यह जानने की कोशिश कर रहा हूं कि आपको किस तरह का खतरा है और यह कितना संभावित है। अगर आपको लगता है कि संभावनाएं बहुत अधिक हैं, तो किसी प्रकार की गंभीर रूप से विघटनकारी समस्या वास्तव में मौजूद हो सकती है, तो मैं इसका इलाज करने का सुझाव दूंगा जैसे कि यह एक सफल नेटवर्क घुसपैठ था

किसी भी स्थिति में, आपके बॉस यह नहीं चाहते हैं कि आप इससे निपटते समय डाउनटाइम का विघटन करें - सिस्टम में गड़बड़ी होने पर सिस्टम को खराबी होने पर बनाम अनियोजित डाउनटाइम को व्यवस्थित करने के लिए उनका रवैया क्या है? दुष्ट व्यवस्थापक) और यदि उनका रवैया यथार्थवादी है तो आपके द्वारा इस संभावना का आकलन करने से कि आपको वास्तव में यहाँ समस्या होगी।

आप जो कुछ भी करते हैं, निम्नलिखित पर विचार करें:

अब सिस्टम r ight की एक छवि लें । इससे पहले कि आप कुछ और करें। वास्तव में, दो ले लो और एक तरफ रख दो और इसे फिर से न छूएं जब तक आपको पता नहीं है कि क्या, अगर कुछ भी, आपके सिस्टम के साथ हो रहा है, तो यह आपका रिकॉर्ड है कि सिस्टम कैसे था जब आपने इसे लिया था।

कुछ आभासी मशीनों के लिए छवियों के "2" सेट को पुनर्स्थापित करें और इनका उपयोग यह जांचने के लिए करें कि क्या चल रहा है। यदि आप एक निश्चित तिथि के बाद शुरू होने वाली चीजों के बारे में चिंतित हैं, तो वर्चुअल मशीन में एक या एक वर्ष आगे की तारीख निर्धारित करें।


मेरे पास संदेह करने के कारण हैं कि कुछ गुप्त हो सकता है, क्योंकि हमने सर्वोत्तम शर्तों पर भाग नहीं लिया था। पिछला sysadmin एक अच्छा दोस्त था, हम कॉलेज के दौरान रूममेट्स थे और मैंने उसे "बहुत सारे गुर सिखाए थे" बाद में वह एक sysadmin बन गया, जबकि मैंने सॉफ्टवेयर डेवलपमेंट और प्रोजेक्ट मैनेजमेंट का रास्ता अपनाया। क्योंकि इसमें व्यक्तिगत भावनाएँ शामिल हैं (उसने मुझ पर आरोप लगाया कि मैंने उसे निकाल दिया है) मैं एक उचित व्यवहार की उम्मीद नहीं कर सकता। इसे एक पिता / पुत्र के रिश्ते के रूप में लें, जहाँ पुत्र कुछ हद तक पिता को अपनी अच्छाई साबित करना चाहता है।
लॉरेंजोग

4

सबसे पहले, यदि आप अतिरिक्त समय का निवेश करने जा रहे हैं, तो मैं आपको इसके लिए वास्तव में भुगतान करने की सलाह दूंगा । ऐसा लगता है कि आपने एक तथ्य के रूप में अवैतनिक ओवरटाइम को स्वीकार कर लिया है, अपने शब्दों से देखते हुए - यह उस तरह से नहीं होना चाहिए, मेरी राय में, और विशेष रूप से तब नहीं जब आप किसी और की गलती के कारण इस तरह के चुटकी में हों (यह प्रबंधन हो) पुराने sysadmin या शायद दोनों का एक संयोजन)।

रूट के लॉगिन पर चलने वाले कमांड की जांच करने के लिए सर्वरों को नीचे ले जाएं और सिंगल यूजर मोड (init = / bin / sh या 1 grub पर) में बूट करें। डाउनटाइम यहां आवश्यक है, यह प्रबंधन को स्पष्ट कर दें कि कोई विकल्प नहीं है लेकिन कुछ डाउनटाइम अगर वे सुनिश्चित करना चाहते हैं कि उन्हें अपना डेटा रखने के लिए मिलेगा।

बाद में सभी क्रोनोजर को देखो, भले ही वे वैध दिखें। जितनी जल्दी हो सके पूर्ण बैकअप भी करें - भले ही इसका मतलब डाउनटाइम हो। यदि आप चाहें तो अपने पूर्ण बैकअप को चालू वीएम में बदल सकते हैं।

फिर अगर आप नए सर्वर या सक्षम वीएम पर अपने हाथों को प्राप्त कर सकते हैं तो मैं वास्तव में एक-एक करके नए, स्वच्छ वातावरण में सेवाओं को स्थानांतरित कर दूंगा। कथित डाउनटाइम को कम करने के लिए आप इसे कई चरणों में कर सकते हैं। आधार प्रणालियों में आपका विश्वास बहाल करते हुए आपको सेवाओं के गहन ज्ञान की आवश्यकता होगी।

इस बीच आप chkrootkit के रूप में टूल का उपयोग करके रूटकिट्स के लिए जाँच कर सकते हैं । सर्वर पर नेसस चलाएं सुरक्षा छेद देखने के लिए जिसे पुराने व्यवस्थापक उपयोग कर सकते हैं।

संपादित करें: मुझे लगता है कि मैंने आपके प्रश्न के "इनायत" भाग को संबोधित नहीं किया और साथ ही साथ मैं कर सकता था। पहला चरण (लॉगिन जाल के लिए जाँच करने के लिए एकल उपयोगकर्ता मोड में जा रहा है) शायद छोड़ दिया जा सकता है - पुराना sysadmin आपको रूट पासवर्ड दे रहा है और लॉगिन करने के लिए सेटिंग कर रहा है यह rm -rf /बहुत ही समान होगा जो सभी फ़ाइलों को स्वयं हटा रहा है, इसलिए शायद ऐसा करने का कोई मतलब नहीं है। बैकअप भाग के अनुसार: एक rsyncआधारित समाधान का उपयोग करने का प्रयास करें ताकि आप अधिकांश प्रारंभिक बैकअप ऑनलाइन कर सकें और डाउनटाइम को कम कर सकें।


0

मैं यह जानने में समय लगाता हूँ कि कौन से ऐप उन सर्वरों पर चलते हैं। जब आप जानते हैं कि किसी भी समय आप एक नया सर्वर कैसे स्थापित कर सकते हैं। यदि आपको लगता है कि कुछ पिछले दरवाजे हो सकते हैं, तो यह सिंगल मोड में जस्ट बूट करने के लिए एक अच्छा विचार होगा या सर्वर और बाहरी नेट के बीच में कुछ फ़ायरवॉल होगा।


0

आप सुरक्षा के बारे में पागल हो रहे हैं। पंगु होने की कोई जरूरत नहीं है। (b'cos आप बूबी ट्रैप्स के बारे में बात करते हैं)। स्थापित सॉफ्टवेयर सूची के माध्यम से जाओ। देखें कि कौन सी सेवा चल रही है (netstat, ps, etc), क्रोन जॉब्स देखें। खाते को हटाए बिना आसानी से पिछले sys व्यवस्थापक उपयोगकर्ता खाते को अक्षम करें (आसानी से बोलोग्ने को इंगित करके)। लॉग फ़ाइलों के माध्यम से देखें। मुझे लगता है कि इन कदमों के साथ और कंपनी की आपकी जानकारी से आप सर्वर के उपयोग का अनुमान लगा सकते हैं, मुझे लगता है कि आपको उन्हें बिना किसी बड़े नासमझ बनाए रखने में सक्षम होना चाहिए।


1
मैं मानता हूं कि यह पहली जगह में सुरक्षा के बारे में नहीं है (अन्यथा उन्हें पुराने व्यवस्थापक को काम पर नहीं रखना चाहिए)। लेकिन यह इस बारे में है कि कोई कितना मूल्य जोड़ सकता है। मैं बाकी सभी चीजों से पूरी तरह असहमत हूं। चीजों को प्रबंधित करने के लिए किसी प्रकार के इन्वेंट्री के बिना बस कोई रास्ता नहीं है। उपयोगकर्ता कुछ समय बाद आकर आपको मार देगा क्योंकि कुछ ऐसा है जो आपने काम करने से पहले कभी नहीं सुना था। सब के बाद हर उपयोगकर्ता दिखाई सेवा के पीछे काफी कुछ बुनियादी ढांचा है। और उन सेवाओं के बारे में दस्तावेज भी नहीं है ...
मार्टिन एम।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.