आरएचईएल 7 पर प्रारंभिक सर्वर सेटअप और कॉन्फ़िगरेशन
इस ट्यूटोरियल में, हम पहले कॉन्फ़िगरेशन चरणों पर चर्चा करेंगे, जिनकी देखभाल आपको नंगे धातु-सर्वर पर या वर्चुअल प्राइवेट सर्वर पर Red Hat Enterprise Linux 7 की एक नई स्थापना के बाद करनी होगी।
- RHEL 7 Minimal Installation
पहले चरण में अपने RHEL सर्वर कंसोल में रूट विशेषाधिकारों के साथ या सीधे रूट के रूप में कंसोल करें और नीचे दिए गए कमांड को चलाएं ताकि आपके सिस्टम घटकों को पूरी तरह से अपडेट किया जा सके, जैसे कि स्थापित पैकेज, कर्नेल। या अन्य सुरक्षा पैच लागू करें। सभी स्थानीय रूप से डाउनलोड किए गए पैकेज और अन्य संबंधित YUM कैश को निकालने के लिए, नीचे दिए गए कमांड को निष्पादित करें। ये निम्नलिखित उपयोगिताओं दिन-प्रतिदिन के सिस्टम प्रशासन के लिए उपयोगी साबित हो सकती हैं: नैनो (vi संपादक की जगह पाठ संपादक), wget, कर्ल (संकुल डाउनलोड करने के लिए उपयोग की जाने वाली उपयोगिताओं) अधिक नेटवर्क पर) नेट-टूल , lsof (स्थानीय नेटवर्किंग के प्रबंधन के लिए उपयोगिताओं) और बैश-पूरा (कमांड लाइन स्वतः पूर्ण)। नीचे कमांड को निष्पादित करके उन सभी को एक-शॉट में स्थापित करें। आरएचईएल 7 में उपकरणों की एक विस्तृत श्रृंखला है जो नेटवर्क कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से संपादित करने और प्रबंधित करने से लेकर आईपी, ifconfig, nmtui , जैसे कमांड का उपयोग करने के लिए उपयोग किया जा सकता है nmcli या मार्ग है। नेटवर्क कॉन्फ़िगरेशन को प्रबंधित करने और बदलने के लिए एक शुरुआत करने वाला सबसे आसान उपयोगिता है nmtui ग्राफिकल कमांड लाइन। सिस्टम होस्टनाम को nmtui उपयोगिता के माध्यम से बदलने के लिए, nmtui-hostname कमांड निष्पादित करें, अपना मशीन होस्टनाम सेट करें और ठीक दबाएं, जैसा कि सचित्र है। नीचे स्क्रीनशॉट में। नेटवर्क इंटरफ़ेस में हेरफेर करने के लिए, nmtui-edit कमांड निष्पादित करें, जिस इंटरफ़ेस को आप संपादित करना चाहते हैं उसे चुनें और राइट मेनू से एडिट का चयन करें, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। एक बार जब आप nmtui उपयोगिता द्वारा प्रदान किए गए ग्राफ़िकल इंटरफ़ेस में आप नेटवर्क इंटरफ़ेस आईपी सेटिंग्स को नीचे स्क्रीनशॉट में सचित्र के रूप में सेट कर सकते हैं। जब आप समाप्त करते हैं, तो कॉन्फ़िगरेशन को बचाने और छोड़ने के लिए ठीक का उपयोग करके [टैब] कुंजी पर नेविगेट करें। नेटवर्क इंटरफ़ेस नए कॉन्फ़िगरेशन को लागू करने के लिए, nmtui-connect कमांड निष्पादित करें, उस इंटरफ़ेस का चयन करें जिसे आप प्रबंधित करना चाहते हैं और निष्क्रिय करें/सक्रिय करें विकल्प decommission और उदय के लिए। आईपीसेटिंग्स के साथ इंटरफेस, जैसा कि नीचे स्क्रीनशॉट में प्रस्तुत किया गया है। नेटवर्क इंटरफ़ेस सेटिंग्स देखने के लिए, आप इंटरफ़ेस फ़ाइल की सामग्री का निरीक्षण कर सकते हैं या आप नीचे दिए गए आदेश जारी कर सकते हैं। अन्य उपयोगी उपयोगिताओं जिनका उपयोग गति, लिंक स्थिति को प्रबंधित करने या मशीन नेटवर्क इंटरफेस के बारे में जानकारी प्राप्त करने के लिए किया जा सकता है, वे हैं एथ्टूल और mii-tool । अगले चरण पर, अपने सर्वर में रूट के रूप में लॉग इन करते समय, नीचे दिए गए कमांड के साथ एक नया उपयोगकर्ता बनाएं। इस उपयोगकर्ता का उपयोग बाद में आपके सिस्टम में लॉगिन करने और प्रशासनिक कार्य करने के लिए किया जाएगा। उपर्युक्त कमांड का उपयोग करके उपयोगकर्ता को जोड़ने के बाद, नीचे दिए गए आदेश को जारी करके इस उपयोगकर्ता के लिए एक मजबूत पासवर्ड सेटअप करें। ऐसे मामलों में जहां आप इस नए उपयोगकर्ता को प्रयास में पहले लॉग में अपना पासवर्ड बदलने के लिए मजबूर करना चाहते हैं, नीचे दिए गए कमांड को निष्पादित करें। इस नए उपयोगकर्ता खाते में अभी के लिए नियमित खाता विशेषाधिकार हैं और यह sudo कमांड द्वारा प्रशासनिक कार्य नहीं कर सकता है। व्यवस्थापकीय विशेषाधिकारों को निष्पादित करने के लिए रूट खाते के उपयोग से बचने के लिए, इस नए उपयोगकर्ता को " पहिया " सिस्टम समूह में जोड़कर प्रशासनिक विशेषाधिकार प्रदान करें। निष्पादन के लिए आवश्यक कमांड लिखने से पहले " पहिया " समूह से संबंधित उपयोगकर्ताओं को RHEL में डिफ़ॉल्ट रूप से रूट विशेषाधिकार के साथ कमांड चलाने की अनुमति दी जाती है। उदाहरण के लिए, उपयोगकर्ता " tecmint_user " को " पहिया " समूह में जोड़ने के लिए, नीचे दिए गए कमांड को निष्पादित करें। बाद में, नए उपयोगकर्ता के साथ सिस्टम में लॉग इन करें और यदि उपयोगकर्ता के पास रूट अधिकार दिए गए हैं तो परीक्षण करने के लिए> sudo yum अपडेट कमांड के माध्यम से सिस्टम को अपडेट करने का प्रयास करें। अपने RHEL सेवा सुरक्षा को बढ़ाने के लिए अगले चरण पर, SSH सार्वजनिक कुंजी प्रमाणीकरण को नए उपयोगकर्ता के लिए कॉन्फ़िगर करें। SSH कुंजी जोड़ी बनाने के लिए, सार्वजनिक और निजी कुंजी, अपने सर्वर कंसोल पर निम्न आदेश निष्पादित करें। सुनिश्चित करें कि आप उस सिस्टम से लॉग इन हैं जिसमें आप SSH कुंजी सेट कर रहे हैं। जबकि कुंजी उत्पन्न होती है, तो आपको कुंजी को सुरक्षित करने के लिए पासफ़्रेज़ जोड़ने के लिए कहा जाएगा। यदि आप SSH सर्वर के माध्यम से कार्यों को स्वचालित करना चाहते हैं तो आप एक मजबूत पासफ़्रेज़ दर्ज कर सकते हैं या पासफ़्रेज़ को खाली छोड़ सकते हैं। SSH कुंजी उत्पन्न होने के बाद, नीचे दिए गए कमांड को निष्पादित करके सार्वजनिक कुंजी जोड़े को दूरस्थ सर्वर पर कॉपी करें। सार्वजनिक कुंजी को दूरस्थ SSH सर्वर में स्थापित करने के लिए आपको उस सर्वर में लॉग इन करने के लिए क्रेडेंशियल्स वाले उपयोगकर्ता खाते की आवश्यकता होगी। अब आपको प्रमाणीकरण विधि के रूप में निजी कुंजी का उपयोग करके SSH के माध्यम से दूरस्थ सर्वर में प्रवेश करने का प्रयास करना चाहिए। आपको SSH सर्वर से पासवर्ड मांगे बिना अपने आप लॉग इन करने में सक्षम होना चाहिए। अपनी सार्वजनिक SSH कुंजी की सामग्री को देखने के लिए यदि आप मैन्युअल रूप से कुंजी को दूर SSH सर्वर में स्थापित करना चाहते हैं, तो निम्न आदेश जारी करें। SSH डेमॉन को सुरक्षित करने के लिए और पासवर्ड या कुंजी के माध्यम से रूट खाते में दूरस्थ SSH को अस्वीकार करने के लिए, SSH सर्वर मुख्य कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित परिवर्तन करें। लाइन की खोज करें #PermitRootLogin हाँ , लाइन की शुरुआत से # साइन (हैशटैग) को हटाकर लाइन को अनइंस्टॉल करें और नीचे दिखाए गए तरह दिखने के लिए लाइन को संशोधित करें अंश। बाद में, नई सेटिंग्स को लागू करने के लिए SSH सर्वर को पुनरारंभ करें और रूट खाते के साथ इस सर्वर में प्रवेश करने की कोशिश करके कॉन्फ़िगरेशन का परीक्षण करें। SSH के माध्यम से रूट खाते की पहुंच अब तक प्रतिबंधित होनी चाहिए। ऐसी स्थितियां हैं जहां आप निष्क्रियता की अवधि के बाद अपने सर्वर के सभी दूरस्थ एसएसएच कनेक्शनों को स्वचालित रूप से डिस्कनेक्ट करना चाहते हैं। इस सुविधा को सिस्टम-वाइड सक्षम करने के लिए, नीचे दिए गए कमांड को निष्पादित करें, जो TMOUT बैश चर को मुख्य bashrc फ़ाइल में जोड़ता है और हर SSH कनेक्शन को डिस्कनेक्ट या ड्रॉप करने के लिए मजबूर करता है। निष्क्रियता के 5 मिनट बाद। यह जाँचने के लिए कि कमांड को /etc/bashrc फ़ाइल के अंत में जोड़ा गया है या नहीं, टेल कमांड चलाएँ। बाद के सभी SSH कनेक्शन अब से 5 मिनट निष्क्रियता के बाद स्वचालित रूप से बंद हो जाएंगे। नीचे दिए गए स्क्रीनशॉट में, ड्रूपल मशीन से आरएचईएल सर्वर तक दूरस्थ एसएसएच सत्र 5 मिनट के बाद ऑटो-लॉगआउट किया गया है। अगले चरण पर नेटवर्क स्तर पर सिस्टम को और सुरक्षित करने के लिए फ़ायरवॉल को कॉन्फ़िगर करें। सर्वर पर iptables नियमों का प्रबंधन करने के लिए फ़ायरवॉल एप्लिकेशन के साथ RHEL 7 जहाज। सबसे पहले, सुनिश्चित करें कि नीचे दिए गए आदेश को जारी करके आपके सिस्टम में फ़ायरवॉल चल रहा है। यदि फायरवालड डेमन को रोक दिया जाता है, तो आपको इसे निम्न कमांड से शुरू करना चाहिए। एक बार फ़ायरवॉल सक्षम और आपके सिस्टम में चल रहा है, तो आप फ़ायरवॉल नीति की जानकारी सेट करने और कुछ विशिष्ट नेटवर्क पोर्ट, जैसे SSH डेमॉन, कनेक्शन के लिए ट्रैफ़िक की अनुमति देने के लिए फ़ायरवॉल-cmd कमांड लाइन उपयोगिता का उपयोग कर सकते हैं। एक आंतरिक वेब सर्वर या अन्य संबंधित नेटवर्क सेवाओं के लिए। क्योंकि अभी हम अपने सर्वर में केवल SSH डेमॉन चला रहे हैं, हम निम्नलिखित कमांड जारी करके SSH सर्विस पोर्ट के लिए ट्रैफ़िक की अनुमति देने के लिए फ़ायरवॉल पॉलिसी को समायोजित कर सकते हैं। अगली बार सर्वर शुरू होने पर, नियम लागू किए बिना, फ़्लाइवॉल नियम को फ़्लाई-फ्लाई पर जोड़ने के लिए, नीचे दिए गए कमांड सिंटैक्स का उपयोग करें। यदि आप अपने सर्वर में अन्य नेटवर्क सेवाओं, जैसे HTTP सर्वर, एक मेल सर्वर या अन्य नेटवर्क सेवाओं को स्थापित करते हैं, तो आप विशिष्ट कनेक्शनों की अनुमति के लिए नियम जोड़ सकते हैं। सभी फ़ायरवॉल नियमों को सूचीबद्ध करने के लिए नीचे कमांड चलाएं। डिफ़ॉल्ट रूप से आपके आरएचईएल सर्वर में चलने वाली सभी नेटवर्क सेवाओं (टीसीपी और यूडीपी) की एक सूची प्राप्त करने के लिए, नीचे दिए गए नमूने में सचित्र के रूप में एसएस कमांड जारी करें। ss कमांड कुछ दिलचस्प सेवाओं को प्रकट करेगी जो आपके सिस्टम में डिफ़ॉल्ट रूप से शुरू और चल रही हैं, जैसे पोस्टफिक्स मास्टर सेवा और NTP प्रोटोकॉल के लिए जिम्मेदार सर्वर। यदि आप इस सर्वर को एक मेल सर्वर को कॉन्फ़िगर करने की योजना नहीं बना रहे हैं, तो आपको नीचे दिए गए आदेशों को जारी करके पोस्टफिक्स डेमॉन को रोकना, अक्षम करना और हटाना चाहिए। हाल ही में, NTP प्रोटोकॉल पर कुछ बुरा DDOS हमलों की सूचना मिली है। यदि आप अपने RHEL सर्वर को एनटीपी सर्वर के रूप में चलाने के लिए आंतरिक क्लाइंट के लिए इस सर्वर के साथ समय सिंक करने के लिए कॉन्फ़िगर करने की योजना नहीं बना रहे हैं, तो आपको नीचे दिए गए आदेश जारी करके पूरी तरह से अक्षम करना चाहिए और क्रॉनिकल डेमॉन को हटा देना चाहिए। फिर से, ss कमांड चलाएं ताकि यह पता लगाया जा सके कि आपके सिस्टम में अन्य नेटवर्क सेवाएं चल रही हैं या नहीं और उन्हें अक्षम और हटा दें। अपने सर्वर के लिए सही समय प्रदान करने के लिए और ऊपरी समय के सहकर्मी सर्वर के साथ समय को सिंक्रनाइज़ करने के लिए, आप नीचे दिए गए आदेशों को निष्पादित करके, सार्वजनिक एनटीपी सर्वर के साथ ntpdate उपयोगिता और सिंक समय स्थापित कर सकते हैं। ntpdate समय को स्वचालित करने के लिए किसी भी उपयोगकर्ता के हस्तक्षेप के बिना हर दिन निष्पादित होने वाली कमांड को सिंक्रनाइज़ करें, निम्न सामग्री के साथ आधी रात को चलाने के लिए एक नया क्रॉस्टैब नौकरी शेड्यूल करें। Crontab फ़ाइल अंश: बस इतना ही! अब, आप आरएचईएल सर्वर को कस्टम नेटवर्क सेवाओं या अनुप्रयोगों के लिए आवश्यक अतिरिक्त सॉफ़्टवेयर स्थापित करने के लिए तैयार किया जाता है, जैसे कि वेब सर्वर, डेटाबेस सर्वर, फ़ाइल शेयर सेवा या अन्य विशिष्ट अनुप्रयोगों को स्थापित करना और कॉन्फ़िगर करना। RHEL 7 सर्वर को और अधिक सुरक्षित और कठोर बनाने के लिए, इन निम्नलिखित लेखों को देखें। यदि आप इस RHEL 7 सिस्टम पर वेबसाइटों को तैनात करने की योजना बना रहे हैं, तो LAMP स्टैक या LEMP स्टैक को सेटअप और कॉन्फ़िगर करना सीखें।आरएचईएल 7 सिस्टम को अपडेट करें
# yum check-update
# yum update
# yum clean all
आरएचईएल 7 पर सिस्टम यूटिलिटीज स्थापित करें
# yum install nano wget curl net-tools lsof bash-completion
आरएचईएल 7 में सेटअप नेटवर्किंग
# nmtui-hostname
# nmtui-connect
# ifconfig enp0s3
# ip a
# ping -c2 google.com
# ethtool enp0s3
# mii-tool enp0s3
नया उपयोगकर्ता खाता बनाएँ
# adduser tecmint_user
# passwd tecmint_user
# chage -d0 tecmint_user
# usermod -aG wheel tecmint_user
# su - tecmint_user
$ sudo yum update
RHEL 7 पर SSH सार्वजनिक कुंजी प्रमाणीकरण कॉन्फ़िगर करें
# su - tecmint_user
$ ssh-keygen -t RSA
$ ssh-copy-id [email
$ ssh [email
$ cat ~/.ssh/id_rsa
RHEL 7 पर SSH को सुरक्षित करें
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin no
$ sudo systemctl restart sshd
$ su -c 'echo "TMOUT=300" >> /etc/bashrc'
$ tail /etc/bashrc
RHEL 7 पर फ़ायरवॉल कॉन्फ़िगर करें
$ sudo systemctl status firewalld
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
$ sudo firewall-cmd --add-service=ssh --permanent
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --add-service=sshd
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-service=smtp
$ sudo firewall-cmd --permanent --list-all
RHEL 7 में अनावश्यक सेवाओं को हटा दें
$ sudo ss -tulpn
$ sudo systemctl stop postfix.service
$ sudo yum remove postfix
$ sudo systemctl stop chronyd.service
$ sudo yum remove chrony
$ sudo ss -tulpn
$ sudo yum install ntpdate
$ sudo ntpdate 0.uk.pool.ntp.org
$ sudo crontab -e
@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org