Làm cách nào tôi có thể thiết lập SSH để nó bị hạn chế đối với mạng cục bộ của tôi?


33

Tôi đang cố gắng liên kết máy tính xách tay mới của tôi chạy 11.10 với máy tính xách tay cũ chạy 8.04 thông qua bộ định tuyến của tôi bằng SSH.

Câu hỏi này được hỏi và trả lời trên ubuntuforums tại đây:

http://ubuntuforums.org/showthread.php?t=1636165

Tôi nghĩ rằng nó sẽ hữu ích để có một câu trả lời dứt khoát hơn ở đây.

Lưu ý: Trước tiên tôi cần cài đặt openssh-server trên máy tính xách tay mà tôi đang cố gắng kết nối và mở cổng SSH trong tường lửa của mình bằng Firestarter.


bạn có thể vui lòng cho chúng tôi biết những gì không đủ "dứt khoát" về câu trả lời của slooow trên chủ đề đó không? Nếu không, câu hỏi của bạn có vẻ mơ hồ.
d_inevitable

@d_inevitable Đối với một, nó không phải là câu trả lời duy nhất và nó không được chỉ định là câu trả lời đúng. Đó là người tôi sẽ chọn, nhưng đây là lý do tại sao tôi nghĩ sẽ hữu ích khi di chuyển câu hỏi này. Cũng có thể bao gồm các hướng dẫn chung hoặc liên kết hữu ích về cách định cấu hình SSH giữa hai máy cục bộ.
klenwell

Câu trả lời:


46

Bạn có thể hạn chế quyền truy cập vào máy chủ ssh của bạn theo nhiều cách.

IMO quan trọng nhất là sử dụng các khóa ssh và vô hiệu hóa xác thực mật khẩu.

Xem các trang wiki sau để biết chi tiết

https://help.ubfox.com/community/SSH/OpenSSH/Keys

https://help.ubfox.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication

Bạn có thể hạn chế quyền truy cập vào một mạng con cụ thể theo nhiều cách. Tôi sẽ giả sử máy chủ ssh của bạn nằm trên mạng con 192.168.0.0/16 với địa chỉ IP là 192.168.0.10, điều chỉnh cho phù hợp;)

Bộ định tuyến

Một dòng phòng thủ là sử dụng bộ định tuyến. Hãy chắc chắn tắt UPnP và không cho phép chuyển tiếp cổng.

Cấu hình SSH

Bạn có thể đặt một số tùy chọn trong /etc/ssh/sshd_config . Một là địa chỉ nghe. Nếu bạn đặt một địa chỉ nghe trên mạng con của bạn. Một địa chỉ IP riêng không thể định tuyến qua internet.

http://compnetworking.about.com/od/usinesswithipaddresses/f/privateipaddr.htm

ListenAddress 192.168.0.10

Bạn cũng có thể sử dụng Cho phép người dùng

AllowUsers you@192.168.0.0/16

Hơi liên quan, bạn cũng có thể thay đổi cổng

Port 1234

Xem http://manpages.ubfox.com/manpages/precise/man5/sshd_config.5.html

Trình bao bọc TCP

Như đã nêu trên bài đăng trên diễn đàn, bạn có thể sử dụng TCP Wrapper. TCP Wrapper sử dụng 2 tệp,/etc/hosts.allow/etc/hosts.deny

Chỉnh sửa /etc/hosts.allowvà thêm mạng con của bạn

sshd : 192.168.0.

Chỉnh sửa /etc/hosts.denyvà từ chối tất cả

ALL : ALL

Xem thêm http://ubfox-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/

Bức tường lửa

Cuối cùng bạn có thể tường lửa máy chủ của bạn. Bạn có thể sử dụng iptables, ufw hoặc gufw.

iptables

sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

Vui lòng không sử dụng DROP trong iptables, xem http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

ufw

sudo ufw allow from 192.168.0.0/16 to any port 22

gufw có giao diện đồ họa

HƯỚNG DẪN

Xem https://help.ubfox.com/community/UFW

https://help.ubfox.com/community/IptablesHowTo


Một số mạng sử dụng 10.0.0.0 làm địa chỉ IP, trong trường hợp đó thay thế 192.168.0.0/24 cho 10.0.0.0/8 để cho phép phạm vi 10.0.0.0-10.255.255.255. Nếu bạn chỉ muốn cho phép một IP duy nhất, hãy sử dụng cái gì đó như 192.168.1.2/32. Một lời giải thích rất dài dòng có thể được tìm thấy trên [ serverfault.com/q/49765/51929[(Làm thế nào để thực hiện công việc?)
Lekensteyn

1
Vui lòng không sử dụng DROP trong iptables - Xem chiark.greenend.org.uk/~peterb/network/drop-vs-reject
Panther

Trang đó không đề cập đến các IP giả mạo là lý do có thể để sử dụng DROP trên RE DỰ ÁN. Câu trả lời này trên Sec.SE giải thích lý do tại sao nó không thực sự phù hợp (các gói nguồn lớn hơn các gói được trả về).
Lekensteyn

@Lekensteyn - Tôi không thấy một cuộc thảo luận về IP giả mạo trong liên kết đó. Như bạn đề xuất, DDoS và IP giả mạo nằm ngoài cuộc thảo luận này và tôi không tin DROP vượt trội hơn so với DỰ ÁN về bất cứ điều gì. DDos rất phức tạp và không có thông tin về nguyên nhân của DDos thì không thể bảo vệ được. Ví dụ, tôi đã thấy WP được sử dụng như một DDoS và giải quyết vấn đề nằm ở cấu hình phù hợp của WP và ít hoặc không có gì để làm với iptables.
Panther

ListenAddresscó vẻ như là giải pháp đơn giản và thanh lịch nhất
code_monk

1

ssh (shell an toàn) được sử dụng để truy cập và truyền dữ liệu một cách an toàn (cặp RSA_KEYS đã sử dụng). Bạn có thể truy cập dữ liệu bằng ssh theo hai cách 1. Dòng lệnh 2. sử dụng trình duyệt tệp

Dòng lệnh: Đối với điều này, bạn không cần phải cài đặt bất cứ điều gì. Nhiệm vụ đầu tiên là đăng nhập vào máy tính khác.

ssh other_computer_username@other_computer_ip

Lệnh này sẽ yêu cầu mật khẩu là mật khẩu của máy tính khác (đối với tên người dùng cụ thể). Bạn vừa đăng nhập vào vỏ máy tính khác. Hãy nghĩ rằng thiết bị đầu cuối này giống như thiết bị đầu cuối vỏ máy tính của bạn. Bạn có thể làm mọi thứ bằng cách sử dụng shell cho máy tính khác mà bạn có thể làm trong máy tính của mình

Trình duyệt tệp: Bạn cần cài đặt openssh-server

sudo apt-get install openssh-server

Để đăng nhập, hãy truy cập tệp-> connectToServer

nhập mô tả hình ảnh ở đây


Hướng dẫn dòng lệnh là điều đầu tiên tôi đã thử. Tôi đã có thể ping máy tính khác của mình tại LAN IP của nó. Nhưng khi tôi cố gắng SSH, nó bị treo. Vì vậy, tôi giả sử tôi phải cấu hình máy tính khác của mình để cho phép truy cập SSH trước.
klenwell

đảm bảo rằng bộ định tuyến của bạn không chặn 22 cổng hoặc ssh
shantanu

cảm ơn. Tôi đã biết tất cả mọi thứ bạn đề cập từ kinh nghiệm, nhưng thật dễ dàng để nghe nó đơn giản và có cấu trúc từ người khác.
lakeare
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.