मैं SSH पोर्ट फ़ॉरवर्डिंग के माध्यम से उपयोगकर्ताओं को लोकलहोस्ट से जुड़ी सेवाओं तक पहुंचने में कैसे रोक सकता हूं?


7

मैं एसएसएच सुरंगों के लिए उपयोग करने में सक्षम लोगों के लिए अपने लिनक्स सर्वर पर एसएसएच खातों की पेशकश करने में सक्षम होना चाहता हूं। केवल टनलिंग / पोर्ट फ़ॉरवर्डिंग उद्देश्यों के लिए सभी खातों को बिना किसी इंटरेक्टिव शेल के साथ लॉक किया जाएगा। मेरी समस्या यह है कि मैं नहीं चाहता कि वे सेवाओं का उपयोग करने में सक्षम हों जो केवल निम्नलिखित की तरह पोर्ट फॉरवर्ड करके लोकलहोस्ट के लिए बाध्य हैं:

ssh account@server -L 9999:127.0.0.1:3306 & telnet localhost 9999

यह उन्हें डिफ़ॉल्ट MySQL डेटाबेस पोर्ट तक पहुंच प्रदान करेगा। मैं इसे कैसे रोक सकता हूँ?

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

जवाबों:


1

मैं इसे अपने आप प्रयास नहीं किया है, लेकिन --uid-ownerऔर --gid-ownerके लिए विकल्प iptablesनियम आप यूआईडी और GID के आधार पर कनेक्शन को प्रतिबंधित करने देने के लिए प्रकट होता है। दूसरे शब्दों में, विशिष्ट उपयोगकर्ताओं को किसी दिए गए इंटरफ़ेस पर आउटबाउंड कनेक्शन बनाने से रोका जा सकता है।

तो शायद लूपबैक की सभी पहुंच को अवरुद्ध करने के लिए ऐसा कुछ (परीक्षण नहीं किया गया):

iptables -A OUTPUT -o lo -m owner --uid-owner {USERNAME} -j REJECT

... या यदि आपके लॉक-डाउन खाते सभी एक ही समूह में हैं:

iptables -A OUTPUT -o lo -m owner --gid-owner {GROUPNAME} -j REJECT

यदि आपको कुछ अधिक दानेदार की आवश्यकता है, तो इस निक्स क्राफ्ट पोस्ट में कुछ बंदरगाहों को अनुमति देने का एक उदाहरण है, लेकिन अन्य नहीं।

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