Lần đầu tiên mở máy chủ SSH sang internet, cần kiểm tra những gì


9

Tôi đã chạy một vài máy chủ trong một thời gian tương đối dài, nhưng tôi luôn chỉ thuê chúng, vì vậy tôi không có nhiều kinh nghiệm để bảo vệ máy chủ thực tế (trái ngược với ứng dụng tôi đang chạy trên nó).

Bây giờ tôi cảm thấy như mở máy chủ SSH nhỏ của mình lên internet.

Tôi sẽ là người duy nhất sử dụng nó, mật khẩu của tôi đủ phức tạp, tôi đã thay đổi cổng SSH mặc định thành khoảng 4000, cổng duy nhất có thể truy cập là cổng SSH này thông qua chuyển tiếp cổng trên bộ định tuyến / tường lửa của tôi và nó được cập nhật tự động mỗi đêm (nó chạy Arch Linux, một bản phân phối phát hành).

Nếu có, những điều khác tôi nên làm để giữ an toàn là gì?

Cảm ơn!

Câu trả lời:


22

Hãy chắc chắn rằng đăng nhập gốc bị vô hiệu hóa PermitRootLogin no. Tôi cũng sẽ xem xét việc vô hiệu hóa mật khẩu hoàn toàn PasswordAuthentication novà sử dụng khóa chung PubkeyAuthentication yes.


+1 đánh bại tôi với nó ...
gravyface

1
Nếu bạn đang sử dụng mật khẩu, bạn có thể thử xem xét một hệ thống xác thực hai yếu tố. Nếu không, tôi khuyên bạn không nên gõ mật khẩu của mình trên một hệ thống thư viện / quán cà phê internet ngẫu nhiên.
Đánh dấu Wagner

4
Nếu bạn cho phép xác thực mật khẩu, hãy xem xét việc cài đặt fail2ban để ngăn chặn các cuộc tấn công vũ phu và sử dụng mật khẩu mạnh cho bất kỳ tài khoản nào được phép đăng nhập qua ssh
uSlackr

@embobo - tại sao vậy? Mật khẩu được gửi qua dây được mã hóa bằng ssh. Đúng, khóa auth vượt trội hơn nhiều về nhiều mặt, nhưng miễn là mật khẩu đủ mạnh và bạn đã xác minh không có ai lướt vai, thì đó không phải là vấn đề lớn.
EEAA

3
@Erika Tôi nghĩ embobo đang ám chỉ sự không tin tưởng chung của bất kỳ hệ thống nước ngoài nào. Mặc dù SSH được mã hóa, một máy nước ngoài vẫn có thể nói, đăng nhập tổ hợp phím của bạn. Do đó mật khẩu = bị xâm phạm.
rthomson

9

Đảm bảo chỉ cho phép SSH-2 (vì SSH-1 đã gây ra một số lo ngại về bảo mật trong quá khứ):

Protocol 2

Chỉ định những người dùng duy nhất được phép đăng nhập qua SSH:

AllowUsers bob, john

Để tăng tính bảo mật, không cho phép xác thực mật khẩu và sử dụng xác thực khóa chung:

PasswordAuthentication no
PubkeyAuthentication yes

Lưu ý: hướng dẫn này chứa các hướng dẫn để tạo khóa và định cấu hình xác thực khóa chung.


5

Cũng như các điểm về việc vô hiệu hóa đăng nhập root hoặc chỉ sử dụng xác thực khóa công khai, tôi cũng kiểm tra kỹ xem không có tài khoản người dùng nào trên hệ thống có mật khẩu tầm thường hoặc trống. Bạn đã nói mật khẩu cá nhân của bạn vẫn ổn, nhưng điều đó không loại trừ một tài khoản có mật khẩu kém đã được tạo vì một số lý do khác.

Ví dụ: Tôi đã phải sửa một mạng trong đó quản trị viên trước đó đã cài đặt nagios trên tất cả các hệ thống của anh ta từ nguồn và tạo một người dùng nagios không có mật khẩu hoặc mật khẩu "nagios", sau đó tiến hành lấy ba máy khác nhau thỏa hiệp.


4

Bạn có thể muốn xem một số loại công cụ danh sách đen IP như http://denyhosts.sourceforge.net/ . Nó chặn bất kỳ IP nào cố gắng đăng nhập không thành công quá nhiều lần và có cấu hình cao.


Có lẽ là lãng phí thời gian nếu bạn đã đăng nhập root. Theo kinh nghiệm của tôi (2 năm là một máy chủ SSH trên internet), chỉ có một cặp đôi thậm chí có được tên người dùng (rõ ràng) của tôi. Các bot chỉ kiểm tra mật khẩu rõ ràng trên tên người dùng phổ biến (99% thông tin đăng nhập thất bại trên máy chủ của tôi là dành cho root, tất nhiên là bị vô hiệu hóa).
Brendan Long

4
Chắc chắn không lãng phí thời gian - nhưng hãy xem fail2ban
symcbean

+1 cho fail2ban.
JamesBarnett

1
root không phải là tài khoản rõ ràng duy nhất mà bot kiểm tra, xem nagios như đã đề cập ở trên. Ngoài ra còn có các tài khoản cơ sở dữ liệu như mysql và postgres. Cộng với bất kỳ tài khoản ứng dụng nào khác.
JamesBarnett

Có, tôi thực sự đã sử dụng máy SSH phải đối mặt với mạng của mình bởi một bot đoán mật khẩu không phải root, vì vậy chắc chắn không lãng phí thời gian. Bên cạnh đó, kể từ khi có được một blacklister như thế này, nhìn vào nhật ký, phần trăm rất nhỏ các nỗ lực thực sự là để root.
Khiên Lynden


0

Đánh giá lại nhật ký trên các phần / thành phần thích hợp trong hệ thống của bạn (tùy thuộc vào cấu hình thực tế / cụ thể của nó) ...

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.