मेरे पास उबंटू सर्वर को सुरक्षित करने के लिए एक परियोजना है जितना मैं कर सकता हूं। सर्वर एक वेब होस्टिंग सर्वर है। सर्वर LAMP, मेल और DNS चला रहा होगा।
मेरे पास उबंटू सर्वर को सुरक्षित करने के लिए एक परियोजना है जितना मैं कर सकता हूं। सर्वर एक वेब होस्टिंग सर्वर है। सर्वर LAMP, मेल और DNS चला रहा होगा।
जवाबों:
यहां उन चीजों की एक सूची दी गई है जो मैं अपने सर्वर को सुरक्षित करने के लिए करता हूं।
sudo ufw enable
) चालू करें और फिर केवल उन बंदरगाहों को अनुमति दें जो वास्तव में उपयोग किए जाते हैं। ( sudo ufw allow 80
)sudo apt-get install denyhosts
)कुछ और बातों पर विचार करें। अधिकांश लोग भौतिक पहुँच के बारे में भूल जाते हैं। अगर मैं शारीरिक रूप से LiveCD के साथ चल सकता हूं और आपका डेटा चुरा सकता हूं तो दुनिया के सभी सॉफ्टवेयर कॉन्फ़िगरेशन का कोई मतलब नहीं है। सोशल इंजीनियरिंग से सावधान रहें। फोन पर कौन है यह सत्यापित करने के लिए प्रश्न पूछें और सुनिश्चित करें कि उनके पास अनुरोध कर रहे हैं कि वे क्या कर रहे हैं।
चूंकि मैं अभी भी एक 'नया' उपयोगकर्ता हूं, इसलिए मैं 2 से अधिक लिंक पोस्ट नहीं कर सकता। : आप इस विषय के बारे में अधिक पढ़ सकते हैं https://help.ubuntu.com/12.04/serverguide/index.html और करने के लिए भुगतान करते हैं के लिए विशेष ध्यान https://help.ubuntu.com/12.04/serverguide/security.html
iptables
नियमों के साथ लॉक करना है, जो आपके द्वारा उपयोग की जाने वाली किसी भी सेवा के लिए बाहरी उपयोग को बंद करने के लिए नहीं है, अगर आपके पास एक अजीब है- बॉल सेटअप जिसमें उन्नत रूटिंग और सामान की आवश्यकता होती है।
/ dev / shm का उपयोग httpd जैसे रनिंग सर्विस के खिलाफ हमले में किया जा सकता है। इसे और अधिक सुरक्षित बनाने के लिए संशोधित करें / etc / fstab।
एक टर्मिनल विंडो खोलें और निम्नलिखित दर्ज करें:
sudo vi /etc/fstab
निम्न पंक्ति जोड़ें और सहेजें। प्रभावी होने के लिए आपको इस सेटिंग को रीबूट करना होगा:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
/Etc/sysctl.conf फ़ाइल में सभी sysctl सेटिंग्स हैं। आने वाले पैकेटों के स्रोत मार्ग को रोकें और विकृत विंडो के लॉग को टर्मिनल विंडो में दर्ज करें
sudo vi /etc/sysctl.conf
/Etc/sysctl.conf फ़ाइल संपादित करें और संयुक्त राष्ट्र टिप्पणी करें या निम्नलिखित पंक्तियाँ जोड़ें:
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
नवीनतम परिवर्तनों के साथ sysctl पुनः लोड करने के लिए, दर्ज करें:
sudo sysctl -p
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo vi /etc/host.conf
निम्नलिखित पंक्तियों को जोड़ें या संपादित करें:
order bind,hosts
nospoof on
Php.ini फ़ाइल संपादित करें:
sudo vi /etc/php5/apache2/php.ini
निम्नलिखित पंक्तियों को जोड़ें या संपादित करें:
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
DenyHosts एक अजगर कार्यक्रम है जो स्वचालित रूप से /etc/hosts.deny में प्रविष्टियों को जोड़कर SSH हमलों को रोकता है। DenyHosts, Linux के व्यवस्थापकों को हमलावर मेजबानों, हमलावर उपयोगकर्ताओं और संदिग्ध लॉगिन के बारे में सूचित करेंगे।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install denyhosts
स्थापना के बाद कॉन्फ़िगरेशन फ़ाइल /etc/denyhosts.conf को संपादित करें और ईमेल, और अन्य सेटिंग्स को आवश्यकतानुसार बदलें।
व्यवस्थापक ईमेल सेटिंग्स संपादित करने के लिए एक टर्मिनल विंडो खोलें और दर्ज करें:
sudo vi /etc/denyhosts.conf
अपने सर्वर पर आवश्यकतानुसार निम्न मान बदलें:
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
Fail2ban DenyHosts की तुलना में अधिक उन्नत है क्योंकि यह SSH, Apache, कूरियर, FTP, और अन्य सहित अन्य सेवाओं के लिए लॉग मॉनिटरिंग का विस्तार करता है।
Fail2ban लॉग फाइल को स्कैन करता है और दुर्भावनापूर्ण संकेतों को दर्शाने वाले IPs पर प्रतिबंध लगाता है - बहुत सारी पासवर्ड विफलताएं, शोषण की मांग आदि।
आम तौर पर Fail2Ban तब निर्दिष्ट समय के लिए IP पतों को अस्वीकार करने के लिए फ़ायरवॉल नियमों को अद्यतन करने के लिए उपयोग किया जाता था, हालांकि किसी भी मनमाने ढंग से अन्य कार्रवाई को भी कॉन्फ़िगर किया जा सकता था। आउट ऑफ द बॉक्स Fail2Ban विभिन्न सेवाओं (एपाचे, कूरियर, एफटीपी, एसश, आदि) के लिए फिल्टर के साथ आता है।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install fail2ban
स्थापना के बाद कॉन्फ़िगरेशन फ़ाइल /etc/fail2ban/jail.local को संपादित करें और आवश्यकतानुसार फ़िल्टर नियम बनाएं।
सेटिंग्स को संपादित करने के लिए एक टर्मिनल विंडो खोलें और दर्ज करें:
sudo vi /etc/fail2ban/jail.conf
सभी सेवाओं को सक्रिय करें आप को बदलने के द्वारा की निगरानी करने के लिए fail2ban चाहते हैं सक्षम = को झूठा * सक्षम = सच *
उदाहरण के लिए, यदि आप SSH की निगरानी और प्रतिबंध लगाने में सक्षम होना चाहते हैं, तो नीचे दी गई लाइन खोजें और असत्य से सत्य में सक्षम परिवर्तन करें । बस।
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
यदि आप होस्ट Fail2Ban से ईमेल प्राप्त करना चाहते हैं, यदि मेजबानों पर प्रतिबंध लगा दिया गया है तो निम्न पंक्ति को अपने ईमेल पते पर बदल दें।
destemail = root@localhost
और निम्न पंक्ति को इसमें से बदल दें:
action = %(action_)s
सेवा मेरे:
action = %(action_mwl)s
आप उन विभिन्न सेवाओं के लिए नियम फ़िल्टर भी बना सकते हैं, जिन्हें आप डिफ़ॉल्ट 2 द्वारा आपूर्ति नहीं किए जाने की निगरानी के लिए fail2ban पसंद करेंगे।
sudo vi /etc/fail2ban/jail.local
विफलता 2ban को कॉन्फ़िगर करने और विभिन्न फिल्टर बनाने के लिए अच्छे निर्देश HowtoForge पर मिल सकते हैं - एक उदाहरण के लिए यहां क्लिक करें
जब Fail2Ban के विन्यास के साथ किया जाता है तो सेवा को फिर से शुरू करें:
sudo /etc/init.d/fail2ban restart
आप के साथ स्थिति की जाँच भी कर सकते हैं।
sudo fail2ban-client status
RKHunter और CHKRootkit दोनों मूल रूप से एक ही काम करते हैं - rootkits के लिए अपने सिस्टम की जाँच करें। दोनों का उपयोग करने में कोई नुकसान नहीं।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install rkhunter chkrootkit
चकरोटकिट चलाने के लिए एक टर्मिनल विंडो खोलें और दर्ज करें:
sudo chkrootkit
आरकेहंटर को अपडेट और चलाने के लिए। एक टर्मिनल खोलें और निम्नलिखित दर्ज करें
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
नैम्प ("नेटवर्क मैपर") नेटवर्क की खोज और सुरक्षा ऑडिटिंग के लिए एक स्वतंत्र और खुला स्रोत उपयोगिता है।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install nmap
खुले पोर्ट के लिए अपने सिस्टम को स्कैन करें:
nmap -v -sT localhost
निम्नलिखित के साथ SYN स्कैनिंग:
sudo nmap -v -sS localhost
लॉगवॉच एक अनुकूलन योग्य लॉग विश्लेषण प्रणाली है। लॉगवॉच आपके सिस्टम के लॉग के माध्यम से पार्स करता है और आपके द्वारा निर्दिष्ट क्षेत्रों का विश्लेषण करने वाली एक रिपोर्ट बनाता है। लॉगवॉच का उपयोग करना आसान है और अधिकांश सिस्टम पर पैकेज के ठीक बाहर काम करेगा।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install logwatch libdate-manip-perl
लॉगवॉच आउटपुट का उपयोग कम देखने के लिए:
sudo logwatch | less
ईमेल पते पर पिछले 7 दिनों के लिए एक लॉगवॉच रिपोर्ट ईमेल करने के लिए, निम्नलिखित दर्ज करें और आवश्यक ईमेल के साथ mail@domain.com बदलें। :
sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today'
टाइगर एक सुरक्षा उपकरण है जिसे सुरक्षा ऑडिट और घुसपैठ का पता लगाने वाली प्रणाली के रूप में उपयोग किया जा सकता है।
एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo apt-get install tiger
बाघ प्रवेश करने के लिए:
sudo tiger
सभी टाइगर आउटपुट को / var / log / tiger में पाया जा सकता है
बाघ सुरक्षा रिपोर्ट देखने के लिए, एक टर्मिनल खोलें और निम्नलिखित दर्ज करें:
sudo less /var/log/tiger/security.report.*
magic_quotes_gpc = On
। मैजिक कोट्स को पहले हटा दिया गया और फिर हटा दिया गया: php.net/manual/en/security.magicquotes.whynot.php
चूंकि आपने कहा था कि यह वेब-होस्टिंग-सर्वर है ... मैं वेब-होस्टिंग लाइन में अपनी सर्वश्रेष्ठ प्रथाओं और 5 लंबे वर्षों के अनुभव को साझा करना चाहता हूं ।
मेरे पिछले अनुभवों से, सीधे कॉन्फ़िगरेशन नरक में जाने के बजाय, आपको पहले दिए गए लेख पर संकेत दिए गए सुरक्षा के कम फांसी वाले अंगूर को इकट्ठा करना चाहिए।
चूँकि आप LAMP कर रहे हैं, इस प्रकार आपको बहुत सतर्क डटकर PHP और इसकी php.ini सेटिंग करनी चाहिए । यह PHP को सुरक्षित करने के लिए एक अच्छा लिंक है । PHP में सुपर पावर हैं जो ठीक से कॉन्फ़िगर नहीं होने पर सिक्योरिटी लूप बन सकते हैं।
जब आपकी फ़ाइलें आपकी अनुमति के बिना संशोधित की गईं और संभवत: हैक की गईं, तो आप जांचने के लिए क्रॉन जॉब का उपयोग कर सकते हैं ; इस क्रॉन जॉब का उपयोग करना । मैं क्रोन परिणामों की तुलना करने के लिए नोटपैड ++ पसंद करता हूं (सीधे अपने वेब सर्वर से क्रोन ईमेल डाउनलोड करें और नोटपैड ++ में खोलें)।
यदि आप कुछ SEM स्थापित करना चाहते हैं, तो cPanel को सबसे अधिक पसंद किया जाता है (हालांकि भुगतान किया जाता है)। Webmin और zpanel बहुत अच्छे मुक्त विकल्प हैं। वेबमिन इसके लिए बेहतर है कि कम से कम स्व हस्ताक्षरित प्रमाण पत्र का उपयोग करता है और सुरक्षा जोड़ता है।
यदि आप कुछ सही करना चाहते हैं तो आप टर्नकी लिनक्स के लिए जा सकते हैं । यह उबंटू पर आधारित है, जिसे लागू करना बेहद आसान है और आपकी आवश्यकताओं के लिए लचीला है। बहुत कम प्रयास से आपको बॉक्स से सुरक्षा मिल जाती है। यह उनका LAMP स्टैक है । मैं व्यक्तिगत रूप से केवल इसका उपयोग करता हूं और पसंद करता हूं।
यदि आप खरोंच से शुरू कर रहे हैं, तो आप ISPconfig3 भी स्थापित कर सकते हैं। यहाँ निर्देश ।
आप बैक-ट्रैक-लिनक्स का उपयोग करके अपनी सुरक्षा को भेदने की कोशिश करके अपनी सुरक्षा का परीक्षण कर सकते हैं ।
जटिल लंबे और यादृच्छिक पासवर्ड रखें। उन्हें पीसी पर स्टोर न करें । उन्हे लिख लो। इन लॉगिन तक पहुँचने के लिए एक लाइव सीडी का उपयोग करें।
विफलता 2 संरक्षण की तरह एक क्रूर बल संरक्षण सॉफ्टवेयर प्राप्त करें ।
उन डेमों को न चलाएं जिनकी आपको आवश्यकता नहीं है।
सभी अनावश्यक पोर्ट को ब्लॉक करें । SSH पोर्ट (22) के साथ बेहद सावधान रहें।
अपने आप को उस सिस्टम पर एक स्थिर आईपी के साथ प्राप्त करें जिसके माध्यम से आप सर्वर का प्रबंधन करने वाले हैं। ज्यादातर चीजें आईपी ब्लॉक करें और केवल अपने विशेष आईपी को उन कॉन्फ़िगरेशन स्थानों तक पहुंचने की अनुमति दें जैसे पोर्ट 22।
दिन के अंत में ... मन की बात के साथ काम करते हैं, स्थापित करने के साथ भावुक नहीं होते हैं और सामान्य ज्ञान को लागू करना आपको बहुत परे ले जाता है।
**My heartiest best wishes to you. good luck.**
brute force attacks
और dictionary attacks
.. ऐसे हमलों से खुद को सुरक्षित करने के लिए रैंडम लॉन्ग पासवर्ड एकमात्र तरीका है।
बास्टिल लिनक्स परियोजना का उपयोग करें।
यह ओवर-ऑल सुरक्षा बढ़ाने के लिए अतिरिक्त सुरक्षा सख्त करने के उपायों के लिए एक इंटरैक्टिव टूल प्रदान करता है, और आपके उबंटू सिस्टम ( बैस्टिल लिनक्स से ) के लिए समझौता करने की संवेदनशीलता को कम करता है ।
यह एक मूल्यांकन और रिपोर्टिंग कार्यक्षमता प्रदान करता है, ताकि यह आपको बता सके कि सिस्टम के किन हिस्सों को लॉक नहीं किया गया है। यह सिस्टम को केवल-पढ़ने वाले फैशन में जांचता है, इसके प्रत्येक सख्त आइटम की स्थिति पर रिपोर्टिंग करता है। उदाहरण के लिए, बैस्टिल यह जांच सकता है कि क्या DNS सर्वर चेरोट जेल में बंद है, चाहे टेलनेट बंद हो, या पासवर्ड अच्छी लंबाई होना आवश्यक है। आप इस लिंक (अधिक जानकारी ) के माध्यम से इसका केवल वेब डेमो देख सकते हैं ।
nmap
मशीन पर सभी इंटरफेस का उपयोग करें , ताकि आप जान सकें कि आप अपनी मशीन पर कौन सी सेवाएं चलाते हैं। यह सुरक्षा के लिए एक आवश्यक उपकरण है।
उन सभी सेवाओं को निकालें जिनकी आपको अपने बाहरी इंटरफेस पर आवश्यकता नहीं है। आप MySQL को केवल विशिष्ट इंटरफेस पर सुनने के लिए कॉन्फ़िगर कर सकते हैं, जैसे लोकलहोस्ट।
अपनी SSH सेवा (और संभव अन्य) की सुरक्षा के लिए ufw का उपयोग करें ताकि यह एक ही मशीन से प्रति मिनट बहुत सारे (विफल) कनेक्शन की अनुमति न दे। यह ब्रूट बल के हमलों को कठिन बना देगा। पोर्ट नंबर बदलने के लिए यह उपयोगी नहीं है, बस अस्पष्टता है, कोई सुरक्षा नहीं है।
अपनी मशीन पर खातों की संख्या के साथ प्रतिबंधात्मक रहें। इसके अलावा आप वास्तव में उपयोग करता है से अधिक संकुल / कार्यक्रम स्थापित नहीं करते हैं। केवल X11- क्लाइंट स्थापित करें, X11- सर्वर नहीं।
केवल डिजिटल प्रमाणपत्रों के साथ मशीन में ssh-login की अनुमति दें, कोई पासवर्ड नहीं । यह भी क्रूर बल हमलों को कठिन / असंभव बना देगा।
मैं सीआईएस डेबियन बेंचमार्क दस्तावेज़ भी परामर्श करूंगा और इसमें ऑपरेटिंग सिस्टम को सख्त करने के लिए कई महत्वपूर्ण प्रक्रियाएं और प्रक्रियाएं हैं जो उबंटू पर लागू होंगी क्योंकि यह डेबियन का व्युत्पन्न है। मैं भी परामर्श करूंगा:
सुरक्षा हमेशा एक मूल्य के साथ आती है। कुछ यथार्थवादी सीमाओं को निर्धारित करने से आपको अपने लक्ष्य प्राप्त करने में मदद मिलेगी। मैं निम्नलिखित पहलुओं पर विचार करूंगा:
यहां पोस्ट किए गए सभी लिंक की जांच करके, मुझे लगता है कि यह जोड़ा जाना चाहिए। यह न केवल आपके सॉफ़्टवेयर को सेटअप करने के तरीके के बारे में विस्तार से जाता है, बल्कि सुरक्षा योजना के बारे में भी सोचता है। प्लस के रूप में, निष्पादित करने के लिए प्रत्येक कमांड को इसके स्रोत के साथ समझाया गया है।
मैंने इस बारे में एक पोस्ट किया था कि ubuntu 16.04-18.04 को कैसे सुरक्षित किया जाए। इन चरणों में शामिल हैं:
अधिकृत पासवर्ड के साथ पासवर्ड लॉगिन बदलें अपने लिनक्स सर्वर पर एक फ़ायरवॉल स्थापित करें
और कुछ और। https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/