EC2 Ubuntu मशीनों को अद्यतन रखने के लिए सर्वोत्तम अभ्यास


12

ओपनएसएसएल की हालिया हार्दिक भेद्यता के बाद , मैं अपनी ईसी 2 मशीनों को नियमित आधार पर अद्यतन रखना चाहूंगा। भोली दृष्टिकोण सुरक्षा अद्यतन ( sudo apt-get update && sudo unattended-upgrade) के लिए प्रति घंटा क्रॉन नौकरी की स्थापना करेगा ।

क्या ऐसा करने का कोई जोखिम है? क्या EC2 मशीनों के लिए अनुशंसित अपडेट तंत्र है?

जवाबों:


13

अनअटेंडेड-अपग्रेड पैकेज उबंटू में महत्वपूर्ण बग फिक्स और सुरक्षा पैच को स्वचालित रूप से लागू करने का मानक तरीका है।

मैं हर Ubuntu सिस्टम पर इसे स्थापित करने की सलाह देता हूं:

sudo apt-get update &&
sudo apt-get install unattended-upgrades

आपको अपना क्रोन जॉब बनाने की आवश्यकता नहीं है। पैकेज आपके लिए एक स्थापित करता है।

यदि आप इसका व्यवहार बदलना चाहते हैं तो आप डिफ़ॉल्ट कॉन्फ़िगरेशन को संपादित कर सकते हैं: https://help.ubuntu.com/lts/serverguide/automatic-updates.html


उत्पादन सर्वर पर ऐसा करने की सलाह पर कोई विचार? यह मुझे चुपचाप लागू किए गए परिवर्तनों के लिए परेशान करता है और अपडेट के विफल होने या समस्याओं को पेश करने की संभावना को जोखिम में डालता है।
इयंजस

3
"हर" से मेरा मतलब उत्पादन प्रणाली से भी था। मैं कई वर्षों से उबंटू सुरक्षा पैच लागू करने वाला ऑटो हूं और किसी भी गंभीर मुद्दे को याद नहीं कर सकता। यह मुझे परेशान करने वाले सुरक्षा मुद्दों के लिए पैच के बिना एक प्रोडक्शन सर्वर के लिए परेशान करता है और उनके शोषण की संभावना को कम करता है। कहा कि प्रत्येक स्थिति की अलग-अलग आवश्यकताएं होती हैं, इसलिए आप प्रत्येक पैच के लिए कठोर परीक्षण चरण से गुजरना बेहतर हो सकते हैं। हालाँकि, अवगत रहें, कि वे हर समय जारी किए जाते हैं, इसलिए आप व्यस्त रहेंगे।
एरिक हैमंड

1
जब तक आपके पास निरर्थक / क्लस्टर सेटअप नहीं है, मैं इसकी सलाह नहीं देता । उबंटू की अपडेट प्रक्रियाएं सूंघना तक नहीं हैं, मैंने कई बार सेवाओं को बंद कर दिया है और हाल ही में एक टूटे हुए बूट सेक्टर को भी ... और हम कुछ खास नहीं करते हैं - बस अपाचे को रिवर्स प्रॉक्सी और टॉमकैट एप्लिकेशन के रूप में।
15

1

हम unattended-upgrades2015 से 2020 तक बिना किसी मुद्दे के उपयोग कर रहे हैं। हमारे पास एक छोटा सा सेटअप है (DigitalOcean पर):

  • nginx
  • mysql-server
  • php5-fpm php5-curl php5-mysql

पिछले अच्छे प्रदर्शन के आधार पर, इस तरह से अपडेट करना ऐसा नहीं करने की तुलना में अधिक सुरक्षित लगता है। लेकिन यह जरूरी नहीं कि भविष्य के लिए गारंटी हो!

apacheअन्य उपयोगकर्ताओं की रिपोर्ट और apacheअपडेट के मेरे पिछले अनुभव के आधार पर यह इतना अच्छा विचार नहीं हो सकता है । [ऊपर देखें, और यहां ]

साथ unattended-upgrades, मैनुअल हस्तक्षेप अभी भी जब रिलीज दृष्टिकोण की आवश्यकता होगी EOL


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


लेकिन जब से आपने सबसे अच्छे अभ्यास के बारे में पूछा , AWS प्रलेखन में अनुशंसित प्राथमिक दृष्टिकोण है:

  • अपने वर्तमान ऑनलाइन इंस्टेंस को बदलने के लिए नए इंस्टेंस बनाएं और शुरू करें। फिर वर्तमान आवृत्तियों को हटाएं।

    नए उदाहरणों में सेटअप के दौरान सुरक्षा पैच का नवीनतम सेट होगा।

(फरवरी 2020)

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

अन्य लाभ:

  • यदि मानव ध्यान देने की आवश्यकता है unattended-upgrades, तो परीक्षण आपको उन्नत चेतावनी दे सकता है ( जब समस्या के लाइव होने पर आपके उपयोगकर्ताओं को केवल चेतावनी दी जाती है!)

  • यदि आपका सिस्टम समझौता नहीं करता है, या आप प्रदाताओं को स्विच करने का निर्णय लेते हैं, तो इस दृष्टिकोण को एक नई तैनाती को लागू करना आसान बनाना चाहिए। प्राचीन स्मृति के बजाय आपकी परिनियोजन रणनीति स्क्रिप्टेड है।

लेकिन निश्चित रूप से स्थापित करने की तुलना में इस दृष्टिकोण के लिए अधिक सेटअप की आवश्यकता है unattended-upgrades, और अधिक जटिलता है, इसलिए अभी भी त्रुटि के लिए जगह है।


AWS ने "अपडेट डिपेंडेंसीज स्टैक कमांड" के प्रदर्शन का भी उल्लेख किया है, जो ऐसा ही कुछ करने का उनका आधिकारिक तरीका प्रतीत होता है unattended-upgrades। ऐसा लगता है कि उनके इंस्टेंस इंटरफ़ेस से ट्रिगर किया जा सकता है, लेकिन मुझे यकीन नहीं है कि यह स्वचालित हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.