Ubuntu 24.04లో unattended-upgrades డిఫాల్ట్గా ఆన్లో
Ubuntu 24.04లో unattended-upgrades ఎలా పనిచేస్తాయో తెలుసుకోండి. 20auto-upgrades ఫైల్ ద్వారా ఇది ఎలా ఎనేబుల్ అవుతుంది, ఆటోమేటిక్ రీబూట్ సెట్టింగ్ మరియు డ్రై రన్ ఎలా చేయాలో చూడండి.
ఆటోమేటిక్ సెక్యూరిటీ అప్డేట్లను ఎందుకు సెటప్ చేయాలి
ప్యాచ్ చేయని సర్వర్ ఇంటర్నెట్లో అత్యంత సులభమైన లక్ష్యం. చిన్న సర్వర్ల బ్రీచ్లలో ఎక్కువ భాగం తెలివైనవి కావు; అవి యజమాని ఎప్పుడూ అప్డేట్ చేయని పాత ప్యాకేజీలోని తెలిసిన బగ్లు. Ubuntu ఈ లోపాన్ని స్వయంగా సరిదిద్దే ఒక సాధనాన్ని అందిస్తుంది: unattended-upgrades సెక్యూరిటీ అప్డేట్లను మీరు లాగిన్ అవ్వాల్సిన అవసరం లేకుండానే, షెడ్యూల్ ప్రకారం ఆటోమేటిక్గా ఇన్స్టాల్ చేస్తుంది. VPSలో ఇది అత్యంత తక్కువ ఖర్చుతో కూడిన భద్రతా చర్య, మరియు Ubuntuలో దీనిని సెటప్ చేయడానికి కొన్ని నిమిషాలు మాత్రమే పడుతుంది.
ఈ సాధనం ఉద్దేశపూర్వకంగానే సంప్రదాయబద్ధంగా (conservative) ఉంటుంది. డిఫాల్ట్గా ఇది ప్రతి ప్యాకేజీ అప్గ్రేడ్ను కాకుండా, కేవలం సెక్యూరిటీ అప్డేట్లను మాత్రమే వర్తింపజేస్తుంది. ఎందుకంటే సెక్యూరిటీ ప్యాచ్ తక్కువ ప్రమాదకరమైనది మరియు సమీక్ష లేకుండానే తీసుకోవచ్చు, కానీ ఫీచర్ అప్గ్రేడ్ మీరు ఆధారపడిన ప్రవర్తనను మార్చవచ్చు. చాలా సర్వర్లకు ఈ డిఫాల్ట్ సరైనది, మరియు ఈ గైడ్ ఆ డిఫాల్ట్ను అలాగే ఉంచుతూ, మార్చవలసిన కొన్ని సెట్టింగ్లను మీకు చూపుతుంది.
దశ 1: ఇన్స్టాల్ చేసి ఎనేబుల్ చేయడం
Ubuntu 24.04లో ఈ ప్యాకేజీ తరచుగా ఉంటుంది కానీ ఎల్లప్పుడూ ఎనేబుల్ చేయబడి ఉండదు. దీనిని ఇన్స్టాల్ చేసి ఆన్ చేయండి:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesdpkg-reconfigure ప్రాంప్ట్ ఒకే ఒక అవును/కాదు (yes-or-no) ప్రశ్నను అడుగుతుంది, అంటే స్టేబుల్ అప్డేట్లను ఆటోమేటిక్గా డౌన్లోడ్ చేసి ఇన్స్టాల్ చేయాలా అని. అవును అని సమాధానం ఇవ్వండి. ఇది రోజువారీ పనిని ప్రారంభించే ఫైల్ను రాస్తుంది:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";మొదటి లైన్ ప్యాకేజీ జాబితాను ప్రతిరోజూ రిఫ్రెష్ చేస్తుంది; రెండవది ప్రతిరోజూ unattended upgrade ను రన్ చేస్తుంది. రెండూ 1 కి సెట్ చేయబడి ఉండటం అంటే, మీ ప్రమేయం లేకుండానే, systemd టైమర్ ద్వారా మెషిన్ ప్రతిరోజూ సెక్యూరిటీ అప్డేట్ల కోసం తనిఖీ చేసి వాటిని వర్తింపజేస్తుంది.
దశ 2: ఏవి ఆటోమేటిక్గా వర్తించాలో నిర్ణయించుకోవడం
దీని పాలసీ /etc/apt/apt.conf.d/50unattended-upgrades లో ఉంటుంది. దానిని తెరిచి, పైన ఉన్న Allowed-Origins బ్లాక్ను చూడండి:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
};-security లైన్లు ముఖ్యమైనవి, మరియు అవి డిఫాల్ట్గా ఎనేబుల్ చేయబడి ఉంటాయి. ఇది సంప్రదాయబద్ధమైన పాలసీ: సెక్యూరిటీ అప్డేట్లు లోపలికి వస్తాయి, సాధారణ ఫీచర్ అప్డేట్లు మీరు ఎంచుకున్నప్పుడు మాన్యువల్గా అప్లై చేయడానికి వదిలివేయబడతాయి. మీరు అన్ని అప్డేట్లను ఆటోమేటిక్గా అప్లై చేయడానికి "${distro_id}:${distro_codename}-updates" ఆరిజిన్ లైన్ను జోడించవచ్చు, కానీ మీరు ముఖ్యమైన సేవలను హోస్ట్ చేసే సర్వర్ కోసం, కేవలం సెక్యూరిటీ ప్యాచ్లను మాత్రమే ఆటోమేటిక్గా తీసుకోవడం సురక్షితమైన డిఫాల్ట్. మీకు ప్రత్యేక కారణం లేకపోతే, అది ఉన్నట్లుగానే వదిలేయండి.
దశ 3: రీబూట్లను నిర్వహించడం
కొన్ని అప్డేట్లు, ఉదాహరణకు కెర్నల్ లేదా కోర్ లైబ్రరీ, రీబూట్ తర్వాత మాత్రమే పూర్తిగా అమల్లోకి వస్తాయి. మీరు చెప్పకపోతే unattended-upgrades మీ సర్వర్ను రీబూట్ చేయదు, అంటే ప్యాచ్ చేయబడిన కెర్నల్ మీరు రీస్టార్ట్ చేసే వరకు ఉపయోగించబడకుండా ఉండవచ్చు. దీనిని ఎలా నిర్వహించాలో నిర్ణయించుకుని, 50unattended-upgrades లో స్పష్టంగా సెట్ చేయండి:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";ఇది అప్డేట్కు అవసరమైనప్పుడు మాత్రమే, తెల్లవారుజామున నాలుగు గంటలకు సర్వర్ను రీబూట్ చేస్తుంది. ఫెయిలోవర్ క్లస్టర్ లేని ఒకే VPSలో, కెర్నల్ ఫిక్స్లను తాజాగా ఉంచడానికి తెల్లవారుజామున జరిగే చిన్న రీబూట్ సాధారణంగా సరైన ఎంపిక. మీ సర్వర్ ఎప్పుడూ ఆగిపోకూడని సేవలను నడుపుతుంటే, రీబూట్ను ఆఫ్ చేసి ఉంచండి మరియు /var/run/reboot-required తనిఖీ చేసిన తర్వాత మీరే స్వయంగా రీబూట్ చేసే అలవాటు చేసుకోండి.
దశ 4: ఇది పనిచేస్తుందని నిరూపించడం
పని జరుగుతుందో లేదో తెలుసుకోవడానికి ఒక రోజు వేచి ఉండకండి. ఏమీ మార్చకుండానే, ఖచ్చితంగా ఏమి అప్లై అవుతుందో చూపే డ్రై రన్ను ట్రిగ్గర్ చేయండి:
sudo unattended-upgrade --dry-run --debugఅవుట్పుట్ అది పరిగణనలోకి తీసుకునే ప్యాకేజీలను మరియు అవి ఏ ఆరిజిన్ నుండి వస్తున్నాయో జాబితా చేస్తుంది, కాబట్టి మీరు పాలసీని పనిలో చూడవచ్చు. అసలైన పని కనీసం ఒక్కసారైనా జరిగిన తర్వాత, దాని రికార్డు ఇక్కడ ఉంటుంది:
cat /var/log/unattended-upgrades/unattended-upgrades.log"నా సర్వర్ నిజంగా ప్యాచ్ అవుతుందా" అనే ప్రశ్నకు ఆ లాగ్ సమాధానం. అది సెక్యూరిటీ ప్యాకేజీలు షెడ్యూల్ ప్రకారం ఇన్స్టాల్ అవుతున్నట్లు చూపిస్తే, ఆ పని జరుగుతున్నట్లే.
ఇది ఎక్కడ సరిపోతుంది
ఆటోమేటిక్ అప్డేట్లు హార్డెన్డ్ సర్వర్లో ఒక పొర మాత్రమే, మొత్తం కాదు. అవి తెలిసిన బగ్లు అలాగే ఉండిపోకుండా చూస్తాయి, కానీ ఎవరు లాగిన్ అవ్వాలి లేదా ఏమి బహిర్గతం కావాలి అనే దానిపై అవి ఏమీ చేయవు. వీటిని కీ-ఓన్లీ SSH hardening తో జత చేయండి, తద్వారా ఫ్రంట్ డోర్ను బ్రూట్-ఫోర్స్ చేయలేరు; డిఫాల్ట్-డెనై UFW firewall తో మీకు కావలసినవి మాత్రమే అందుబాటులో ఉండేలా చూడండి, మరియు unprivileged service users తో ఒక బ్రీచ్ అయిన యాప్ మొత్తం బాక్స్ను తీసుకోకుండా నిరోధించండి. మీరు హోస్ట్ చేసే యాప్లు వీటన్నింటి పైన తమ సొంత రహస్యాలను కలిగి ఉంటాయి, కాబట్టి ఈ బాక్స్ సెల్ఫ్-హోస్టెడ్ పాస్వర్డ్ వాల్ట్ను నడుపుతుంటే, ఒక Vaultwarden hardening pass అడ్మిన్ టోకెన్ మరియు బ్యాకప్ ఫైల్ను రక్షిస్తుంది, దీనిని ఏ apt ప్యాచింగ్ కూడా చేయలేదు. ప్యాచింగ్ మీకు తెలిసిన రంధ్రాలను మూసివేస్తుంది; ఇతర పొరలు మీకు తెలియని వాటి వల్ల కలిగే నష్టాన్ని పరిమితం చేస్తాయి.
FAQ
unattended-upgrades ప్రతి అప్డేట్ను అప్లై చేస్తుందా లేదా సెక్యూరిటీ అప్డేట్లను మాత్రమేనా?
డిఫాల్ట్గా, కేవలం సెక్యూరిటీ అప్డేట్లను మాత్రమే. /etc/apt/apt.conf.d/50unattended-upgrades లోని Allowed-Origins బ్లాక్ -security ఆరిజిన్లను ఎనేబుల్ చేస్తుంది మరియు సాధారణ ఫీచర్ అప్డేట్లను మీరు మాన్యువల్గా అప్లై చేయడానికి వదిలివేస్తుంది. ఇది ఉద్దేశపూర్వకమైనది: సెక్యూరిటీ ప్యాచ్లు తక్కువ ప్రమాదకరమైనవి మరియు ఆటోమేటిక్గా తీసుకోవచ్చు, కానీ ఫీచర్ అప్గ్రేడ్లు ప్రవర్తనను మార్చగలవు, కాబట్టి చాలా సర్వర్లు ఈ సంప్రదాయబద్ధమైన డిఫాల్ట్ను ఉంచుకోవాలి.
ఆటోమేటిక్ అప్డేట్లు నా సర్వర్ను రీబూట్ చేస్తాయా?
మీరు చెబితేనే చేస్తాయి. కాన్ఫిగరేషన్లో Unattended-Upgrade::Automatic-Reboot "true" మరియు Automatic-Reboot-Time సెట్ చేయండి, అప్పుడు అప్డేట్కు అవసరమైనప్పుడు సర్వర్ రీబూట్ అవుతుంది, ఉదాహరణకు కెర్నల్ ప్యాచ్ తర్వాత. ఆఫ్ చేసి ఉంచితే, ప్యాచ్ చేయబడిన కెర్నల్ మీరు రీబూట్ చేసే వరకు వేచి ఉంటుంది; ఏది పెండింగ్లో ఉందో తెలుసుకోవడానికి /var/run/reboot-required తనిఖీ చేయండి.
ఆటోమేటిక్ అప్డేట్లు నిజంగా రన్ అవుతున్నాయని నేను ఎలా తనిఖీ చేయాలి?
ఏమీ మార్చకుండానే, ప్రస్తుతం ఏమి అప్లై అవుతుందో చూడటానికి sudo unattended-upgrade --dry-run --debug రన్ చేయండి, మరియు గత రన్ల రికార్డు కోసం /var/log/unattended-upgrades/unattended-upgrades.log చదవండి; ప్రతి ఆటోమేటిక్ ఇన్స్టాల్ /var/log/apt/history.log లో కూడా నమోదు చేయబడుతుంది. లాగ్ సెక్యూరిటీ ప్యాకేజీలు రోజువారీ షెడ్యూల్లో ఇన్స్టాల్ అయినట్లు చూపిస్తే, టైమర్ పనిచేస్తోంది. డ్రై రన్ No packages found that can be upgraded unattended అని ప్రింట్ చేస్తే, అన్నీ ఇప్పటికే అప్డేట్ అయి ఉండవచ్చు లేదా మీ అనుమతించబడిన ఆరిజిన్లు సెక్యూరిటీ రిపోజిటరీకి సరిపోలడానికి చాలా తక్కువగా ఉండవచ్చు.
నా సర్వర్ను సురక్షితంగా ఉంచడానికి unattended-upgrades సరిపోతుందా?
లేదు, కానీ ఇది అవసరమైన ఒక పొర. ఇది తెలిసిన దుర్బలత్వాలు ప్యాచ్ చేయబడకుండా ఉండకుండా నిరోధిస్తుంది, ఇది అత్యంత సాధారణ రకమైన బ్రీచ్లను ఆపుతుంది, కానీ ఇది యాక్సెస్ను లేదా ఎక్స్పోజర్ను నియంత్రించదు. దీనిని SSH హార్డెనింగ్, డిఫాల్ట్-డెనై ఫైర్వాల్ మరియు లీస్ట్-ప్రివిలేజ్ సర్వీస్ యూజర్లతో కలిపి వాడితే, మీ సర్వర్ బ్రేక్ చేయడం నిజంగా కష్టమవుతుంది.