Top Ad unit 728 × 90

Lastet News

random

6 Cách cấu hình bảo mật SSH

Bo mt SSH nâng cao
      Trong bài này, chúng tôi giới thiệu một số thủ thuật đơn giản giúp bạn nâng cao tính năng bảo mật cho dịch vụ Secure Shell (SSH).
      File cấu hình server SSH được đặt trong thư mục /etc/ssh/sshd_conf. Bạn cần khởi động lại dịch vụ SSH sau mỗi lần thay đổi để các thay đổi đó được thực thi.

1. Thay đi cng SSH
      Mặc định, SSH tuân theo các kết nối đến trên cổng 22. Kẻ tấn công thường sử dụng phần mềm quét cổng xem liệu các host (máy trạm) có sử dụng dịch vụ SSH không. Thay đổi cổng SSH lên cao hơn 1024 là một lựa chọn khôn ngoan, vì hầu hết mọi chương trình quét cổng (gồm cả nmap) mặc định đều rà soát được các cổng cao.
Mở file /etc/ssh/sshd_config và tìm dòng có ghi:
Port 22Thay đổi số cổng và khởi động lại dịch vụ SSH:
/etc/init.d/ssh restart

2. Sử dụng giao thức SSH 2
      Có hai loại giao thức SSH. Nếu chỉ dùng giao thức SSH 2 thì sẽ an toàn hơn nhiều vì SSH 1 thường gặp phải vấn đề bảo mật với kiểu tấn công man-in-the-middle và insertion. Mở file /etc/ssh/sshd_config và tìm dòng sau:
Protocol 2,1
Thay đổi dòng thành protocol 2.

3. Cố định người truy câp SSH
      Bạn không nên cho phép người dùng root đăng nhập qua SSH, vì điều này gây nên mối đe doạ bảo mật lớn mà không cần thiết. Nếu một kẻ tấn công nào đó thu được đặc quyền root khi đăng nhập vào máy, khả năng phá hoại có thể gấp mấy lần người dùng thông thường. Bạn nên cấu hình server SSH không cho phép người dùng root đăng nhập. Đầu tiên, tìm dòng ghi:
PermitRootLogin yes
      Thay đổi yes thành no và khởi động lại dịch vụ. Sau đó bạn có thể đăng nhập lại hệ thống với bất kỳ vai trò người dùng xác định nào đó và chuyển sang người dùng root nếu muốn trở thành siêu người dùng.
      Nếu muốn cho phép người dùng ctnhatho, kma, huyhung đăng nhập qua SSH, ở cuối file sshd_config, thêm vào một dòng như sau:
AllowUsers ctnhatho, kma, huyhung
4. Sử dụng các hàm bao TCP để cho phép ch một số host được kết nối
      Phương thức trên sẽ rất hữu ích nều bạn muốn giới hạn số host trên mạng có thể kết nối tới dịch vụ SSH. Nhưng nó không thể sử dụng hoặc kết hợp được với cấu hình các bảng IP (iptable). Thay vào đó, bạn có thể dùng các hàm bao TCP, cụ thể là sshd TCP. Bạn có thể đưa ra quy tắc chỉ cho phép một số host nhất định trên mạng con cục bộ (local subnet) 192.168.1.0/24 và host từ xa 193.180.177.13 kết nối tới dịch vụ SSH.
      Các hàm bao TCP mặc định đầu tiên sẽ xem trong file /etc/hosts.deny danh sách các host bị từ chối kết nối tới dịch vụ. Tiếp theo là file /etc/hosts để xem liệu có quy tắc nào cho phép một số host kết nối tới một dịch vụ đặc biệt nào đó không. Ví dụ, tôi sẽ tạo một quy tắc như vậy trong tư mục /etc/hosts.deny:
sshd: ALL
      Quy tắc trên có nghĩa là, mặc định tất cả các host đều bị cấm truy cập dịch vụ SSH. Điều này là cần thiết, vì nếu không tất cả các host ở đây đều có quyền truy cập dịch vụ SSH. Do hàm bao TCP đầu tiên sẽ xem xét trong file hosts.deny, nếu không có quy tắc nào liên quan đến ngăn chặn sử dụng dịch vụ SSH, bất kỳ host nào cũng có thể đến nôi đến nó. Tiếp theo, tạo một quy tắc trong /etc/hosts để cho phép chỉ một số host cụ thể (như được định nghĩa ở trên) sử dụng dịch vụ SSH:
sshd: 192.168.1 193.180.177.13
      Bây giờ, chỉ có các host trên mạng 192.168.1.0/24 và host 193.180.177.13 mới có quyền truy cập dịch vụ SSH. Tất cả host khác đều bị ngắt kết nối trước khi được đăng nhập và nhận một thông báo lỗi như sau:
ssh_exchange_identification: Connection closed by remote host
5. Sử dụng iptables để giới hạn số lượng host được kết nối
      Một lựa chọn khác ngoài các hàm bao TCP là giới hạn truy cập SSH với iptables (các bảng địa chỉ IP). Song, bạn có thể sử dụng kết hợp cả hai phương thức này cùng một lúc. Dưới đây là một ví dụ đơn giản về cách cho phép một số host nhất định kết nối tới SSH:
# iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT
Và để chắc chắn rằng không có host nào khác được truy cập dịch vụ SSH:
# iptables -A INPUT -p tcp --dport 22 -j DROP
6. Mt s mo thi gian SSH
      Bạn có thể dùng các tham số iptables khác để giới hạn kết nối tới dịch vụ SSH trong một khoảng thời gian nhất định. Kiểu thời gian có thể là giây, phút, giờ, hoặc ngày (/second, /minute, /hour, /day ), như ví dụ dưới đây.
      Ở ví dụ đầu, nếu người dùng nhập mật khẩu sai, truy cập vào dịch vụ SSH sẽ bị khoá trong một phút. Và sau đó người dùng chỉ được phép gõ thông tin đăng nhập vào sau từng phút:
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
Trong ví dụ thứ hai, iptables được thiết lập chỉ cho phép host 193.180.177.13 kết nối tới dịch vụ SSH. Sau ba lần đăng nhập thất bại, iptables chỉ cho phép host đăng nhập lại sau từng phút:
# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
Kết lun

Các thành phần này không khó cầu hình, nhưng chúng là những kỹ thuật rất mạnh trong chế độ bảo mật dịch vụ SSH.
6 Cách cấu hình bảo mật SSH Reviewed by Unknown on 22:20 Rating: 5

1 nhận xét:

All Rights Reserved by Huy Hùng - KMA © 2014 - 2015
Designed by JOJOThemes

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.