วิธี จำกัด “ การเข้าสู่ระบบระยะไกล” (ssh) การเข้าถึงเฉพาะช่วง IP บางช่วงเท่านั้น?


20

มีคนช่วยบอกวิธี จำกัด การเข้าถึง SSH เฉพาะช่วง IP บางอัน (เช่นเครือข่ายท้องถิ่น) และไม่ใช่อินเทอร์เน็ตทั้งหมดได้ไหม ฉันเดาว่าสิ่งนี้จะต้องทำผ่านไฟร์วอลล์

คำตอบ:


23

จากman sshd:

/etc/hosts.allow
/etc/hosts.deny
Access controls that should be enforced by tcp-wrappers are defined here.  
Further details are described in hosts_access(5).

https://debian-administrator.org/article/87/Keeping_SSH_access_secureเสนอตัวอย่างเหล่านี้:

# /etc/hosts.allow
sshd: 1.2.3.0/255.255.255.0
sshd: 192.168.0.0/255.255.255.0

# /etc/hosts.deny
sshd: ALL

โปรแกรม wrapper TCP ใน Mac OS X คือ: tcpd


3

ฉันไม่ได้ทดสอบสิ่งนี้ แต่ฉันจะลองใน terminal:

sudo ipfw add allow src-ip 10.0.0.0/8,172.16.0.0/16,192.168.0.0/16 dst-ip me dst-port 22
sudo ipfw add reject src-ip any dst-ip me dst-port 22

1

หากคุณอยู่หลังเราเตอร์และไม่ได้แมปพอร์ตกับคอมพิวเตอร์ของคุณนั่นจะเป็นการปิดการใช้งาน SSH จากอินเทอร์เน็ตได้อย่างมีประสิทธิภาพ


ใช่ฉันรู้แล้ว น่าเสียดายที่นี่ไม่ใช่วิธีแก้ปัญหาสำหรับฉันเพราะ MacBook Pro ของฉันซึ่งบางครั้งก็เชื่อมต่อกับเครือข่ายที่มี IP ภายนอกและไม่มีเราเตอร์อยู่ระหว่างนั้น
Michal M

1
ดูเหมือนจะไม่น่าเป็นไปได้มากและสมมติว่าคุณมีอะแดปเตอร์เครือข่ายเพียงตัวเดียวนั่นก็หมายความว่าไม่มีเครือข่าย 'ท้องถิ่น' หากที่อยู่ IP สาธารณะถูกผูกไว้กับมัน
Gerry

เป็นไปไม่ได้หรือไม่ไม่สำคัญจริงๆใช่ไหม? นอกเหนือจากสถานการณ์ IP ภายนอกแล้วให้พิจารณาเครือข่าย WiFi สาธารณะ ฉันรู้ว่าเครือข่ายใดปลอดภัยสำหรับฉันและฉันต้องการ จำกัด การเข้าถึงเฉพาะเครือข่ายเหล่านี้ คำถามของฉันค่อนข้างทั่วไปมากกว่าซึ่งเป็นความตั้งใจของฉัน
Michal M

ฉันขอแนะนำการเรียบเรียงคำถามอีกครั้ง ดูเหมือนว่าคุณกำลังมองหารายการที่อนุญาต (บางส่วน) ช่วง IP สำหรับบริการบางอย่างในไฟร์วอลล์
Gerry

ทำตามที่แนะนำ ไชโย
Michal M
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.