SSH को इसके संस्करण संख्या के विज्ञापन से रोकें


13

मैं जिस सर्वर का उपयोग कर रहा हूं वह उबंटू 10.10 है। सुरक्षा सुनिश्चित करने के लिए मैं सर्वर को क्लाइंट को भेजे गए बैनर को संपादित करना चाहता हूं।

यदि मैं पोर्ट 22 पर अपने होस्ट को टेलनेट करता हूं तो यह मुझे SSH का सटीक संस्करण बताता है जो मैं चला रहा हूं (SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4)। स्थिति MySQL और साइरस के साथ समान है।

कोई सुझाव? कम से कम SSH के लिए?

धन्यवाद


5
मुझे आशा है कि आपको यह भी एहसास होगा कि इन बैनरों को हटाने से अधिक समय लगता है ताकि आपका सर्वर सुरक्षित रहे।
बेन पिल्ब्रो

10
वह जानकारी काफी हद तक अप्रासंगिक है, बॉट हैक की कोशिश करेगा जो पुराने संस्करण पर काम करता है चाहे आपके सर्वर द्वारा प्रदान की गई संस्करण की जानकारी की परवाह किए बिना। शत्रुतापूर्ण उपयोगकर्ता दुर्भावनापूर्ण रूप से आपके सर्वर पर हमला कर रहे हैं, जो आपकी चिंताओं से कम से कम हैं; लापरवाह उपयोगकर्ता आमतौर पर बहुत अधिक खतरनाक होते हैं।
क्रिस एस

बेन, मुझे लगता है कि मुझे पता है कि मैं क्या पूछ रहा हूं। और मुझे पता है कि NIX- सर्वर को कैसे संरक्षित करें धन्यवाद। क्रिस, अंधेरे में भी अच्छा है।
स्नॉर्ट के

जब तक आप जानते हैं कि यह कई चीजों में से एक है, यह ठीक है। मैं नहीं चाहता था कि आप यह सोचकर चले जाएं कि आपका सिस्टम सुपर सुरक्षित है, बस।
बेन Pilbrow 20

जैसा कि ऑटोक्रेसी ने बताया कि मैं कम से कम "डेबियन -3 जुबंटू 4" को छिपाना चाहता हूं।
लेरिकुन

जवाबों:


17

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


धन्यवाद। यहां एकमात्र वास्तविक उपयोगी उत्तर है। टीसीपी रैपर के बारे में क्या वे सिर्फ एक बैनर जोड़ते हैं लेकिन वास्तविक जानकारी छिपाते नहीं हैं?
लेरिकुन

6
न केवल इसे संकलित किया जाता है, यह ग्राहकों द्वारा संगत कनेक्शन स्तरों को निर्धारित करने के लिए भी उपयोग किया जाता है।
जेरेमी बोस

32

हालांकि आपके SSH डेमॉन के संस्करण संख्या को छिपाना बेहद कठिन है, आप आसानी से लिनक्स संस्करण (डेबियन-3ubuntu4) छिपा सकते हैं

निम्न पंक्ति को इसमें जोड़ें /etc/ssh/sshd_config

DebianBanner no

और अपने SSH डेमॉन को पुनः आरंभ करें: /etc/init.d/ssh restartयाservice ssh restart


7
धन्यवाद, यह पूरी तरह से काम करता है! मैं सहमत हूं कि संस्करण जानकारी को हटाना अस्पष्टता से सुरक्षा है, और अधिक समस्याओं का परिचय दे सकता है जो इसे हल करता है। हालांकि डेबियन के साथ, ओपनएसएसएच न केवल अपने स्वयं के संस्करण की घोषणा करता है, बल्कि ऑपरेटिंग सिस्टम का संस्करण और विशिष्ट स्वाद - यानी "SSH-2.0-OpenSSH_6.7p1 रास्पियन-5 + deb8u3"। किसी भी तरह के प्रमाणीकरण के बिना, बधाई हो, अब आप जानते हैं कि आप रास्पबेरी से बात कर रहे हैं, जो रास्पियन को चला रहा है, और आपका अगला स्पष्ट कदम डिफ़ॉल्ट पासवर्ड के साथ "पाई" के रूप में कनेक्ट करने का प्रयास करना होगा। IMHO यह पहली तारीख को बहुत अधिक जानकारी को दूर कर रहा है।
8

शानदार, यहां पाए जाने वाले सबसे अच्छे छिपे हुए रत्नों में से एक।
रुई एफ रिबेरो

19

उन को छुपाना आपके सर्वर को सुरक्षित नहीं करेगा। आपके सिस्टम को चलाने के लिए फिंगरप्रिंट के कई और तरीके हैं। विशेष रूप से SSH के लिए, संस्करण की घोषणा प्रोटोकॉल का हिस्सा है और इसकी आवश्यकता है।

http://www.snailbook.com/faq/version-string.auto.html


कम लोगों को आपके सिस्टम के बारे में पता चलता है ... आप असहमत हो सकते हैं। अन्य सेवाओं के बारे में क्या? मैं सामान्य रूप से साइरस (IMAP / POP3) और MySQL और अन्य के बारे में बात कर रहा हूं। और अगर दो Admins हैं - मैं प्रोटोकॉल के लिए छड़ी की जरूरत नहीं है ?!
लेरिकुन

3
@lerikun: यह डरावने हैकर्स के साथ साझा करने के बारे में नहीं है। यह SSH से जुड़ने में सक्षम नहीं है क्योंकि यह नहीं जानता कि किस प्रोटोकॉल का उपयोग करना है। SSHD की घोषणा करनी है।
शैतानिकपुपी 20

9
"कम लोग आपके सिस्टम के बारे में बेहतर जानते हैं"। हाँ, यह एक ऐसा कथन है जो अच्छा लगता है, लेकिन बहुत कुछ नहीं करता है, जैसे "अगर मैं लॉटरी जीतने वाला हूँ तो मैं ..."। अस्पष्टता के माध्यम से सुरक्षा सबसे अच्छी तरह से खराब सुरक्षा है।
रोब मोइर

1
रॉबर्ट, यह एक कथन है जिसका अर्थ बहुत है। अंधेरे कमरे में सुरक्षित क्यों है, जहां कोई भी इसे देख सकता है? ... कोई बात नहीं। मैं यह नहीं पूछता कि मैं अपने सर्वर को कैसे सुरक्षित करूं। मुझे लगता है कि मेरा प्रश्न स्पष्ट था। हां, निरंकुशता मैं कम से कम उन से छुटकारा चाहता हूं।
लारीकुन

2
इसके लायक क्या है, रॉबर्ट मोइर पूरी तरह से सही है।
21

8

मुझे पूरा यकीन है कि आप वास्तव में संस्करण की घोषणा को नहीं बदल सकते।

Sshd को सुरक्षित करने के सर्वोत्तम तरीके हैं:

  1. डिफ़ॉल्ट पोर्ट नंबर बदलें।
  2. निषिद्ध रूट लोगन।
  3. फोर्स प्रोटोकॉल 2 (यह मानते हुए कि यह डिफ़ॉल्ट रूप से नहीं हुआ है)।
  4. उन सर्वरों को श्वेतसूची में जो एसएसएच को अनुमति देते हैं।

पहले तीन में संशोधन / आदि / sshd_config द्वारा किया जा सकता है

चौथा निर्भर करता है कि आप किस फ़ायरवॉल सॉफ़्टवेयर का उपयोग कर रहे हैं।


1/2/3 पहले से ही किया। प्रमाण पत्र का उपयोग कर कोई पास नहीं है। Fail2ban (IMAP, POP, SMTP, VPN, WEB) और denyhosts (SSH) प्रश्न अन्य सेवाओं के लिए संस्करण की घोषणाओं के बारे में है।
लारीकुन

6

जैसा कि ऊपर कहा गया है, एक संस्करण संख्या बदलना है

  1. करना मुश्किल है
  2. अस्पष्टता के माध्यम से सुरक्षा
  3. लचीला नहीं है

मेरा सुझाव है कि पोर्ट नॉकिंग को लागू करना। आपके सर्वर पर चल रही किसी भी चीज़ को छिपाने के लिए यह काफी सरल तकनीक है।

यहाँ एक अच्छा कार्यान्वयन है: http://www.zeroflux.org/projects/knock

इस तरह से मैंने अपने सर्वर (अन्य नंबरों) पर एसएसएच को केवल उन लोगों के लिए लागू किया है जो 'गुप्त दस्तक' जानते हैं:

[openSSH]
    sequence = 300,4000,32
    seq_timeout = 5
    command = /opencloseport.sh %IP% 2305
    tcpflags = syn

यह एक 5 सेकंड विंडो देगा जिसमें 3 SYN- पैकेट को सही क्रम में प्राप्त करने की आवश्यकता होती है। ऐसे पोर्ट चुनें जो एक दूसरे से दूर हों और अनुक्रमिक न हों। इस तरह, एक portcanner दुर्घटना से बंदरगाह नहीं खोल सकता है। इन बंदरगाहों को iptables द्वारा खोलने की आवश्यकता नहीं है।

स्क्रिप्ट जिसे मैं कहता हूं वह यह है। यह SYN- पैकेट भेजने वाले IP के लिए 5 सेकंड के लिए एक विशेष पोर्ट खोलता है।

#!/bin/bash
/sbin/iptables -I INPUT -s $1 -p tcp --dport $2  -j ACCEPT
sleep 5
/sbin/iptables -D INPUT -s $1 -p tcp --dport $2  -j ACCEPT

यह SYN- पैकेट भेजने के लिए एक वास्तविक दर्द हो सकता है इसलिए मैं अपने सर्वर के SSH से कनेक्ट करने के लिए स्क्रिप्ट का उपयोग करता हूं:

#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh $5@$1 -p $6

(यह स्पष्ट है कि यहाँ क्या हो रहा है ...)

कनेक्शन स्थापित होने के बाद, पोर्ट को बंद किया जा सकता है। संकेत: कुंजी-प्रमाणीकरण का उपयोग करें। अन्यथा आपको अपना पासवर्ड टाइप करने के लिए बहुत तेज़ होना चाहिए।

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