Linux

TOP 8 cách để bảo mật kết nối máy chủ SSH trên Linux

Bảo mật các kết nối máy chủ SSH của mình trên Linux

TOP 8 cách để bảo mật kết nối máy chủ SSH trên Linux – SSH là một giao thức được sử dụng rộng rãi được sử dụng để truy cập các máy chủ Linux một cách an toàn. Hầu hết người dùng sử dụng kết nối SSH với cài đặt mặc định để kết nối với máy chủ từ xa. Tuy nhiên, các cấu hình mặc định không an toàn cũng tiềm ẩn nhiều rủi ro bảo mật khác nhau.

Tài khoản gốc của máy chủ có quyền truy cập SSH mở có thể gặp rủi ro. Và đặc biệt nếu bạn đang sử dụng địa chỉ IP công cộng thì việc hack mật khẩu root sẽ dễ dàng hơn rất nhiều. Vì vậy, cần phải có kiến ​​thức về bảo mật SSH.

Đây là cách bạn có thể bảo mật các kết nối máy chủ SSH của mình trên Linux.

TOP 8 cách để bảo mật kết nối máy chủ SSH trên Linux

1. Tắt thông tin đăng nhập của người dùng gốc

Đối với điều này, trước tiên, hãy vô hiệu hóa quyền truy cập SSH của người dùng root và tạo một người dùng mới có đặc quyền root . Tắt quyền truy cập máy chủ cho người dùng root là một chiến lược phòng thủ ngăn những kẻ tấn công đạt được mục tiêu xâm nhập vào hệ thống. Ví dụ: bạn có thể tạo một người dùng có tên exampleroot như sau:

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

Dưới đây là giải thích ngắn gọn về các lệnh nói trên:

  • useradd tạo một người dùng mới và -m tạo một thư mục trong thư mục chính cho người dùng bạn đã tạo.
  • Lệnh passwd dùng để gán mật khẩu cho người dùng mới. Hãy nhớ rằng mật khẩu bạn gán cho người dùng phải phức tạp và khó đoán.
  • usermod -aG sudo thêm người dùng mới được tạo vào nhóm quản trị.

Sau quá trình tạo người dùng, cần thực hiện một số thay đổi đối với sshd_config . Bạn có thể tìm thấy tệp này tại / etc / ssh / sshd_config . Mở tệp bằng bất kỳ trình soạn thảo văn bản nào và thực hiện các thay đổi sau:

# Authentication: 
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers exampleroot

PermitRootLogin sẽ ngăn người dùng root truy cập từ xa bằng SSH. Bao gồm AllowUsers trong dụ cấp các quyền cần thiết cho người dùng.

Cuối cùng, khởi động lại dịch vụ SSH bằng lệnh sau:

sudo systemctl restart ssh

Nếu không thành công và bạn nhận được thông báo lỗi, hãy thử lệnh bên dưới. Điều này có thể khác nhau dựa trên bản phân phối Linux mà bạn sử dụng.

sudo systemctl restart sshd

2. Thay đổi cổng mặc định

Cổng kết nối SSH mặc định là 22. Tất nhiên, tất cả những kẻ tấn công đều biết điều này và do đó, cần thay đổi số cổng mặc định để đảm bảo an toàn cho SSH. Mặc dù kẻ tấn công có thể dễ dàng tìm thấy số cổng mới bằng cách quét Nmap , mục tiêu ở đây là làm cho công việc của kẻ tấn công trở nên khó khăn hơn.

Để thay đổi số cổng, hãy mở / etc / ssh / sshd_config và thực hiện các thay đổi sau đối với tệp:

Include /etc/ssh/sshd_config.d/*.conf
Port 5922

Sau bước này, khởi động lại dịch vụ SSH một lần nữa với sudo systemctl khởi động lại ssh . Bây giờ bạn có thể truy cập máy chủ của mình bằng cách sử dụng cổng mà bạn vừa xác định. Nếu bạn đang sử dụng tường lửa, bạn cũng phải thực hiện các thay đổi quy tắc cần thiết ở đó. Khi chạy lệnh netstat -tlpn , bạn có thể thấy rằng số cổng của bạn cho SSH đã thay đổi.

3. Chặn quyền truy cập cho người dùng có mật khẩu trống

Có thể có những người dùng không có mật khẩu trên hệ thống của bạn mà bạn có thể đã vô tình tạo ra. Để ngăn những người dùng như vậy truy cập vào máy chủ, bạn có thể đặt PermitEmptyPasswords giá trị dòng sshd_config tệp không .

PermitEmptyPasswords no

4. Giới hạn nỗ lực đăng nhập / truy cập

Theo mặc định, bạn có thể truy cập máy chủ bằng cách thực hiện bao nhiêu lần nhập mật khẩu tùy thích. Tuy nhiên, những kẻ tấn công có thể sử dụng lỗ hổng này để tấn công máy chủ. Bạn có thể tự động ngắt kết nối SSH sau một số lần thử nhất định bằng cách chỉ định số lần thử mật khẩu được phép.

Đối với điều này, hãy thay đổi MaxAuthTries trong sshd_config .

MaxAuthTries 3

5. Sử dụng SSH phiên bản 2

Phiên bản thứ hai của SSH được phát hành do có nhiều lỗ hổng trong phiên bản đầu tiên. Theo mặc định, bạn có thể cho phép máy chủ sử dụng phiên bản thứ hai bằng cách thêm Giao thức vào sshd_config tệp Bằng cách này, tất cả các kết nối trong tương lai của bạn sẽ sử dụng phiên bản thứ hai của SSH.

Include /etc/ssh/sshd_config.d/*.conf 
Protocol 2

6. Tắt Chuyển tiếp Cổng TCP và Chuyển tiếp X11

Những kẻ tấn công có thể cố gắng giành quyền truy cập vào các hệ thống khác của bạn bằng cách chuyển tiếp cổng thông qua các kết nối SSH. Để tránh điều này, bạn có thể tắt AllowTcpForwarding X11Forwarding trong sshd_config .

X11Forwarding no 
AllowTcpForwarding no

7. Kết nối bằng khóa SSH

Một trong những cách an toàn nhất để kết nối với máy chủ của bạn là sử dụng Khóa SSH. Khi bạn sử dụng Khóa SSH, bạn có thể truy cập vào máy chủ mà không cần mật khẩu. Ngoài ra, bạn có thể tắt hoàn toàn mật khẩu truy cập vào máy chủ bằng cách thay đổi các thông số liên quan đến mật khẩu trong sshd_config .

Khi bạn tạo Khóa SSH, có hai khóa: Công khai Riêng tư . Khóa công khai được tải lên máy chủ bạn muốn kết nối và khóa cá nhân được lưu trữ trên máy tính mà bạn sẽ thiết lập kết nối.

Tạo khóa SSH bằng lệnh ssh-keygen trên máy tính của bạn. Không để Cụm mật khẩu và nhớ mật khẩu bạn đã nhập ở đây. Nếu bạn để trống, bạn sẽ chỉ có thể truy cập nó bằng tệp khóa SSH. Tuy nhiên, nếu bạn đặt mật khẩu, bạn có thể ngăn kẻ tấn công với tệp khóa truy cập vào nó. Ví dụ: bạn có thể tạo khóa SSH bằng lệnh sau:

ssh-keygen

8. Hạn chế IP đối với kết nối SSH

Hầu hết thời gian, tường lửa chặn truy cập bằng cách sử dụng các khuôn khổ tiêu chuẩn riêng của nó và nhằm mục đích bảo vệ máy chủ. Tuy nhiên, điều này không phải lúc nào cũng đủ và bạn cần phải tăng cường tiềm năng bảo mật này.

Để thực hiện việc này, hãy mở /etc/hosts.allow . Với những bổ sung bạn thực hiện cho tệp này, bạn có thể hạn chế quyền SSH, cho phép một khối IP cụ thể hoặc nhập một IP duy nhất và chặn tất cả các địa chỉ IP còn lại bằng lệnh từ chối.

Dưới đây bạn sẽ thấy một số cài đặt mẫu. Sau khi thực hiện những việc này, hãy khởi động lại dịch vụ SSH như bình thường để lưu các thay đổi.

Tầm quan trọng của bảo mật máy chủ Linux

Dữ liệu và các vấn đề bảo mật dữ liệu khá chi tiết và cần được xem xét bởi tất cả các quản trị viên máy chủ. Bảo mật máy chủ là một vấn đề rất nhạy cảm vì trọng tâm chính của các cuộc tấn công là các máy chủ web và chúng chứa hầu hết mọi thông tin về một hệ thống. Vì hầu hết các máy chủ chạy trên cơ sở hạ tầng Linux, điều rất quan trọng là phải làm quen với hệ thống Linux và quản trị máy chủ.

Bảo mật SSH chỉ là một trong những cách để bảo vệ máy chủ. Có thể giảm thiểu thiệt hại bạn phải nhận bằng cách dừng, chặn hoặc làm chậm một cuộc tấn công. Ngoài việc cung cấp bảo mật SSH, bạn có thể triển khai nhiều phương pháp khác nhau để bảo mật các máy chủ Linux của mình.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button