प्रारंभिक सर्वर सेटअप और विन्यास 7 CentOS पर


यह ट्यूटोरियल उन पहले बुनियादी चरणों की व्याख्या करेगा, जिन्हें स्थापित करने के बाद आपको कम से कम CentOS 7 सिस्टम की आवश्यकता होती है, जिसमें कोई ग्राफिकल वातावरण नहीं है, जिसमें स्थापित सिस्टम के बारे में जानकारी प्राप्त करने के लिए, जिसके ऊपर सिस्टम चलता है। और अन्य विशिष्ट सिस्टम कार्यों, जैसे नेटवर्किंग, रूट विशेषाधिकार, सॉफ्टवेयर, सेवाओं और अन्य को कॉन्फ़िगर करें।

  1. CentOS 7 Minimal Installation

अपडेट CentOS 7 सिस्टम

एक ताजा स्थापित CentOS सिस्टम पर प्रदर्शन करने के लिए आपको पहला कदम यह सुनिश्चित करना है कि सिस्टम नवीनतम कर्नेल और सिस्टम सुरक्षा पैच, सॉफ़्टवेयर रिपॉजिटरी और पैकेज के साथ अद्यतित है।

CentOS 7 सिस्टम को पूरी तरह से अपडेट करने के लिए, रूट विशेषाधिकारों के साथ निम्नलिखित कमांड जारी करें।

# yum check-update
# yum upgrade

अपग्रेड प्रक्रिया पूरी होने के बाद, डिस्क स्पेस को रिलीज करने के लिए आप सभी डाउनलोड किए गए पैकेजों को हटा सकते हैं, जहां निम्नलिखित कमांड को निष्पादित करके सभी कैश्ड रिपॉजिटरी जानकारी के साथ अपग्रेड करने की प्रक्रिया में उपयोग किया जाता है।

# yum clean all

CentOS 7 पर सिस्टम उपयोगिताएँ स्थापित करें

निम्नलिखित उपयोगिताओं पैकेज दिन-प्रतिदिन के सिस्टम प्रशासन के लिए उपयोगी साबित हो सकते हैं: नैनो (vi संपादक की जगह पाठ संपादक), wget, कर्ल (डाउनलोड करने के लिए उपयोग की जाने वाली उपयोगिताओं) नेटवर्क पर पैकेज ज्यादातर) नेट-टूल , lsof (स्थानीय नेटवर्किंग के प्रबंधन के लिए उपयोगिताओं) और बैश-पूरा (कमांड लाइन स्वतः पूर्ण)।

नीचे कमांड को निष्पादित करके उन सभी को एक-शॉट में स्थापित करें।

# yum install nano wget curl net-tools lsof bash-completion

CentOS 7 में सेटअप नेटवर्किंग

CentOS 7 में उपकरणों की एक विस्तृत श्रृंखला है जो नेटवर्क कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से संपादित करने से लेकर आईपी, ifconfig, nmtui , जैसे कमांड का उपयोग करने के लिए नेटवर्क को कॉन्फ़िगर करने और प्रबंधित करने के लिए उपयोग किया जा सकता है nmcli या मार्ग है।

नेटवर्क कॉन्फ़िगरेशन को प्रबंधित करने और बदलने के लिए एक शुरुआत करने वाला सबसे आसान उपयोगिता है nmtui ग्राफिकल कमांड लाइन।

सिस्टम होस्टनाम को nmtui उपयोगिता के माध्यम से बदलने के लिए, nmtui-hostname कमांड निष्पादित करें, अपना मशीन होस्टनाम सेट करें और ठीक दबाएं, जैसा कि सचित्र है। नीचे स्क्रीनशॉट में।

# nmtui-hostname

नेटवर्क इंटरफ़ेस में हेरफेर करने के लिए, nmtui-edit कमांड निष्पादित करें, इंटरफ़ेस चुनें जिसे आप संपादित करना चाहते हैं और सही मेनू से संपादित करें चुनें, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

# nmtui-edit

एक बार जब आप nmtui उपयोगिता द्वारा प्रदान किए गए ग्राफ़िकल इंटरफ़ेस में आप नेटवर्क इंटरफ़ेस आईपी सेटिंग्स को नीचे स्क्रीनशॉट में सचित्र के रूप में सेट कर सकते हैं। जब आप समाप्त करते हैं, तो कॉन्फ़िगरेशन को बचाने और छोड़ने के लिए ठीक का उपयोग करके [टैब] कुंजी पर नेविगेट करें।

नेटवर्क इंटरफ़ेस नए कॉन्फ़िगरेशन को लागू करने के लिए, nmtui-connect कमांड निष्पादित करें, उस इंटरफ़ेस का चयन करें जिसे आप प्रबंधित करना चाहते हैं और निष्क्रिय करें/सक्रिय करें विकल्प decommission और उदय के लिए। आईपीसेटिंग्स के साथ इंटरफेस, जैसा कि नीचे स्क्रीनशॉट में प्रस्तुत किया गया है।

# nmtui-connect

नेटवर्क इंटरफ़ेस सेटिंग्स देखने के लिए, आप इंटरफ़ेस फ़ाइल की सामग्री का निरीक्षण कर सकते हैं या आप नीचे दिए गए आदेश जारी कर सकते हैं।

# ifconfig enp0s3
# ip a
# ping -c2 google.com

अन्य उपयोगी उपयोगिताओं जिनका उपयोग गति, लिंक स्थिति को प्रबंधित करने या मशीन नेटवर्क इंटरफेस के बारे में जानकारी प्राप्त करने के लिए किया जा सकता है, वे हैं एथ्टूल और mii-tool

# ethtool enp0s3
# mii-tool enp0s3

आपकी मशीन नेटवर्किंग का एक महत्वपूर्ण पहलू सभी खुले नेटवर्क सॉकेट्स को सूचीबद्ध करना है ताकि यह देखा जा सके कि स्थापित नेटवर्क कनेक्शनों की स्थिति क्या है और क्या है।

सभी सर्वरों को सूचीबद्ध करने के लिए जो TCP या UDP सॉकेट्स को सुनने की स्थिति में निम्न आदेश जारी करते हैं। हालाँकि, UDP सर्वर ने इस तथ्य के कारण किसी सॉकेट स्थिति को सूचीबद्ध नहीं किया है कि UDP एक कनेक्शन रहित प्रोटोकॉल है जो केवल नेटवर्क पर पैकेट भेजता है और कनेक्शन स्थापित नहीं करता है।

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

CentOS 7 में सेवाएँ प्रबंधित करें

CentOS 7 सिस्टमक्ट उपयोगिता के माध्यम से डेमॉन या सेवा का प्रबंधन करता है। सभी सेवाओं की स्थिति को सूचीबद्ध करने के लिए, निम्नलिखित आदेश जारी करें।

# systemctl list-units

यह जांचने के लिए कि सिस्टम शुरू होने पर डेमॉन या सेवा स्वचालित रूप से शुरू करने के लिए सक्षम है, निम्नलिखित कमांड जारी करें।

# systemctl list-unit-files -t service

अपने सिस्टम में मौजूद पुरानी SysV सेवाओं को सूचीबद्ध करने और उन्हें अक्षम करने के लिए निम्नलिखित chkconfig कमांड जारी करें।

# chkconfig --list
# chkconfig service_name off

5. CentOS 7 में अवांछित सेवाएं अक्षम करें

CentOS 7 स्थापित करने के बाद यह अनुशंसा की जाती है कि उपरोक्त आदेशों को चलाकर सिस्टम में कौन-सी सेवाएँ चल रही हैं, उन्हें सूचीबद्ध करें और अपने सिस्टम के विरुद्ध आक्रमण करने वाले वैक्टर को कम करने के लिए उन्हें अक्षम और हटा दें।

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

# systemctl stop postfix
# systemctl disable postfix
# yum remove postfix

Netstat के अलावा, ss , lsof या systemctl कमांड, आप अपने सिस्टम में चल रही अवांछित सेवाओं को खोजने और पहचानने के लिए ps, top या pstree कमांड भी चला सकते हैं। और उन्हें निष्क्रिय या हटा दें।

डिफ़ॉल्ट रूप से, pstree उपयोगिता CentOS 7 में स्थापित नहीं है। इसे स्थापित करने के लिए निम्नलिखित कमांड निष्पादित करें।

# yum install psmisc
# pstree -p

CentOs 7 में फ़ायरवॉल को सक्षम करें

CentOS 7 में फ़ायरवॉल को सक्षम और शुरू करने और सत्यापित करने के लिए, निम्नलिखित कमांड निष्पादित करें।

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

आने वाले कनेक्शनों के लिए एक विशिष्ट सेवा खोलने के लिए, पहले यह सत्यापित करें कि आवेदन पहले से मौजूद है फ़ायरवॉल नियमों में और फिर, सेवा के लिए नियम जोड़ें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है जो अनुमति देता है > SSH इनकमिंग कनेक्शन। नियम को स्थायी रूप से जोड़ने के लिए <कोड> - स्थायी स्विच का उपयोग करें।

# firewall-cmd --add-service=[tab]  #List services
# firewall-cmd --add-service=ssh
# firewall-cmd --add-service=ssh --permanent

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

# firewall-cmd --add-port=22/tcp --permanent
# firewall-cmd --reload     #Apply the rule on-fly

उपयोगकर्ता खातों पर सूडो अनुमतियां सक्षम करें

सामान्य उपयोगकर्ता के लिए रूट अनुमतियाँ प्रदान करने के लिए, पहले एड्यूसर कमांड जारी करके उपयोगकर्ता का निर्माण करें, उपयोगकर्ता के लिए पासवर्ड सेट करें और नीचे दिए गए कमांड को निष्पादित करके उपयोगकर्ता को रूट अनुमतियाँ प्रदान करें जो नए उपयोगकर्ता को प्रशासनिक व्हील समूह में जोड़ता है।

# adduser tecmint
# passwd tecmint
# usermod -aG wheel tecmint

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

# su - tecmint
# sudo yum update

CentOS 7 पर SSH सार्वजनिक कुंजी प्रमाणीकरण कॉन्फ़िगर करें

SSH अपने सर्वर को सुरक्षित करने के लिए और लॉग इन करने के लिए एक निजी SSH कुंजी के साथ अपने सर्वर की सुरक्षा बढ़ाने के लिए सार्वजनिक कुंजी प्रमाणीकरण सेट करें, पहले निम्नलिखित कमांड के साथ SSH कुंजी जोड़ी बनाएं।

यदि आप SSH के माध्यम से सर्वर प्रबंधन को स्वचालित करना चाहते हैं, तो पासफ़्रेज़ दर्ज न करें।

# ssh-keygen -t RSA

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

# ssh-copy-id [email _SERVER_IP

SSH सार्वजनिक कुंजी को दूरस्थ सर्वर पर कॉपी करने के बाद, दूरस्थ SSH सर्वर पर निम्न कमांड के साथ लॉगिन करें।

# ssh [email _SERVER_IP

अंत में, SSH सर्वर को सुरक्षित करने के लिए, सुनिश्चित करें कि आपने कॉन्फ़िगरेशन SSH फ़ाइल /etc/ssh/sshd_config को रूट से दूरस्थ SSH एक्सेस को रूट खाते में अस्वीकार कर दिया है और रूट से अपने टेक्स्ट एडिटर के साथ इसे बदल दें। Yes से नहीं

PermitRootLogin no

सेटिंग लागू करने के लिए आपको SSH सेवा को पुनरारंभ करने की आवश्यकता है ताकि यह नए कॉन्फ़िगरेशन का उपयोग करे।

# systemctl restart sshd

बस इतना ही! ये केवल कुछ बुनियादी सेटिंग्स हैं और हर सिस्टम एडमिनिस्ट्रेटर को एक नए स्थापित CentOS सिस्टम पर जानने और लागू करने या सिस्टम पर दिन के कार्यों को करने के लिए आदेश देने की आवश्यकता होती है।

CentOS 7 सर्वर को सुरक्षित और कठोर करने के लिए, इन निम्नलिखित लेखों को देखें।

  1. The Mega Guide To Harden and Secure CentOS 7 – Part 1
  2. The Mega Guide To Harden and Secure CentOS 7 – Part 2

यदि आप इस CentOS 7 सिस्टम पर वेबसाइटों को तैनात करने की योजना बना रहे हैं, तो LAMP स्टैक या LEMP स्टैक को सेटअप और कॉन्फ़िगर करना सीखें।