Dịch vụ sửa máy tính pc laptop máy in - Nạp mực máy in Trường Tín Tphcm
Dịch vụ sửa máy tính pc laptop máy in - Nạp mực máy in Trường Tín Tphcm

Cách bảo mật máy chủ SSH

--
Web Tin Học Trường Tín có bài: Cách bảo mật máy chủ SSH Bảo mật kết nối SSH giúp bạn bảo vệ hệ thống Linux và dữ liệu. Quản trị viên hệ thống và người dùng gia đình cũng cần phải bảo mật máy tính truy cập từ mạng Internet công khai. Dưới đây là 10 cách dễ dàng giúp bạn bảo vệ máy chủ SSH của mình.

Bảo mật kết nối SSH giúp bạn bảo vệ hệ thống Linux và dữ liệu. Quản trị viên hệ thống và người dùng gia đình cũng cần được phải bảo mật máy tính truy cập từ mạng Internet công khai (internet-facing computer). Dưới đây là 10 cách đơn giản giúp bạn bảo vệ máy chủ SSH của mình.

  • Cách kích hoạt và sử dụng lệnh SSH trên Windows 10
  • Cách quản lý server Linux từ xa bằng SSH
  • Cài đặt máy server SSH trong Windows Server 2008

Đôi điều cơ bản về bảo mật SSH

SSH viết tắt của Secure Shell. Giao thức SSH hoặc công cụ ứng dụng cấp phép quản trị hệ thống và người sử dụng thực hành kết nối an toàn với máy tính từ xa bằng giao thức đó.

Giao thức SSH là giao thức được mã hóa, thiết kế để cung cấp kết nối an toàn qua mạng không an toàn chẳng hạn như Internet. SSH trong Linux được xây dựng trên phiên bản di động của dự án OpenSSH. Nó được triển khai trong model máy khách – máy chủ cổ kính với máy chủ SSH chấp nhận kết nối từ máy khách SSH. Máy khách được dùng để làm kết nối với máy chủ và hiển thị phiên cho người sử dụng từ xa. Máy chủ chấp nhận kết nối và thi hành phiên.

Trong cấu hình mặc định của nó, máy server SSH sẽ “nghe” kết nối đang đến trên Transmission Control Protocol (TCP), cổng 22. Vì này là cổng được chuẩn hóa và phổ biến, nên nó là mục tiêu của các tác nhân dọa dẫm và bot độc hại.

Các tác nhân độc hại khởi chạy bot quét độ rộng địa chỉ IP để tìm kiếm cổng mở. Sau đó nó thăm dò các cổng này xem có lỗ hổng có thể khai thác không. Suy nghĩ, tôi an toàn, có nhiều mục đích lớn và tốt hơn tôi để những kẻ xấu nhắm đến là tận gốc sai lầm. Các bot này không chọn mục đích dựa theo bất kể chỉ tiêu nào, nó chỉ đang tìm kiếm 1 cách để đột nhập vào hệ thống.

Bạn sẽ là nạn nhân nếu không bảo mật hệ thống của mình.

Security Friction (Ma sát bảo mật)

Điểm Security Friction là bất kì tình huống nào mà trọng trách chính bị chống lại hoặc trì trệ do đòi hỏi bảo mật.

Ma sát bảo mật gây nên sự khó chịu (ở bất kể cấp độ nào) cho người sử dụng và những người khác khi bạn thực hành các giải pháp bảo mật. Người mới dùng hệ thống máy tính có thể lo âu liệu họ có thực sự phải nhập mật khẩu mỗi khi đăng nhập vào mainframe không. Điều này đối với họ mà nói cũng là một dạng ma sát bảo mật.

Giới thiệu các biện pháp bảo mật thường sẽ bao gồm vài dạng ma sát cho một số người. Chủ doanh nghiệp phải trả tiền cho các giải pháp này. Người dùng máy tính cũng có thể có thể phải thay đổi các thói quen hoặc nhớ thông tin xác thực khác, thêm các bước để kết nối thành công. Quản trị viên hệ thống sẽ có thêm việc để thực hiện và bảo dưỡng các giải pháp bảo mật mới.

Thắt chặt và khóa hệ điều hành Linux hoặc hệ điều hành giống Unix cũng có thể có thể nhanh chóng. Những giải pháp bảo mật ở này là một bộ các bước dễ thực hiện sẽ cải thiện bảo mật máy tính mà chẳng cần ứng dụng bên thứ ba và can thiệp sâu vào tường lửa.

Sử dụng giao thức SSH phiên bản 2

Năm 2006, giao thức SSH đã được cập nhật từ phiên bản 1 lên phiên bản 2. Đây là một nâng cấp đáng kể. Có rất nhiều thay đổi và cải tiến, nhất là về mã hóa và bảo mật, phiên bản 2 không tương thích ngược với phiên bản 1. Để ngăn kết nối từ máy khách phiên bản 1, bạn cũng đều có thể quy chế máy tính chỉ chấp nhận kết nối từ phiên bản 2.

Để làm điều này, chỉnh sửa file /etc/ssh/sshd_config sử dụng lệnh sau:

  sudo gedit /etc/ssh/sshd_config  

Chỉnh sửa file /etc/ssh/sshd_config

Thêm dòng sau:

  Protocol 2  

Thêm dòng Protocol 2

Và lưu file, sau đó khởi động lại qui trình SSH daemon (trình nền) sử dụng lệnh sau:

  sudo systemctl restart sshd  

Khởi động lại quá trình SSH daemon

Kiểm tra hoạt động của thiết lập mới bằng cách chuyển sang một máy khác và thử SSH vào máy thử nghiệm. Chúng ta sẽ sử dụng tùy chọn -1 (giao thức 1) để buộc lệnh ssh sử dụng giao thức phiên bản 1.

  ssh -1 dave@howtogeek.local  

Thử kết nối với máy chủ SSH qua giao thức 1

Yêu cầu kết nối bị từ chối. Hãy đảm bảo bạn vẫn có thể kết nối với giao thức 2. Chúng ta sẽ sử dụng -2 (giao thức 2) để kiểm tra.

  ssh -2 dave@howtogeek.local  

Thử kết nối với máy chủ SSH qua giao thức 2

Thực tế, máy chủ SSH đang đòi hỏi mật khẩu là một triệu chứng tích cực cho biết kết nối đã được thi hành và bạn đang tương tác với máy chủ. Các máy khách SSH tối tân sẽ mặc định sử dụng giao thức 2, chúng ta không cần phải chỉ định giao thức 2 với điều kiện máy khách được cập nhật.

  ssh dave@howtogeek.local  

Máy khách SSH hiện đại sẽ mặc định sử dụng giao thức 2

Kết nối đã được chấp nhận.

Tránh cổng 22

Cổng 22 là cổng tiêu đúng cho kết nối SSH. Nếu sử dụng cổng khác, nó thêm 1 chút bảo mật qua trạng thái mập mờ (Security Through Obscurity – STO) vào hệ thống của bạn. Bảo mật qua tình trạng mập mờ không khi nào được tính là một biện pháp bảo mật thực sự. Thực tế, một vài bot tiến công thông minh hơn thăm dò mọi thứ các cổng mở và quyết định dịch vụ nào chúng đang thực hiện, thay vì dựa vào bản kê tìm kiếm dễ dàng của các cổng và sẽ cho rằng chúng cung cấp dịch vụ thông thường. Nhưng sử dụng cổng không chỉ tiêu có thể giúp giảm lưu lượng xấu trên cổng 22.

Để định cấu hình cổng không chuẩn, hãy chỉnh sửa file cấu hình SSH như trên.

Sử dụng cổng khác

Xóa # ở đầu dòng của dòng Port và thay thế 22 với số bạn chọn. Lưu file cấu hình và khởi động lại SSH daemon.

Trên máy tính khác chúng ta sẽ sử dụng lệnh ssh để kết nối với máy chủ. Lệnh ssh mặc định sử dụng cổng 22:

  ssh dave@howtogeek.local  

Sử dụng lệnh ssh để kết nối với máy chủ

Kết nối bị từ chối. Hãy thử lại và chỉ định cổng 470 sử dụng tùy chọn –p (cổng):

  ssh -p 479 dave@howtogeek.local  

Sử dụng cổng 470

Kết nối được xác nhận.

Kết nối bộ lọc sử dụng TCP Wrappers

TCP Wrappers là một danh sách kiểm soát truy cập dễ hiểu. Nó cấp phép bạn từ chối và cấp phép các kết nối dựa trên các đặc điểm của yêu cầu kết nối như địa chỉ IP hoặc tên máy chủ. TCP Wrappers nên được sử dụng với, không thay thế tường lửa cấu hình thích hợp.

TCP Wrappers đã được cài đặt sẵn trên máy Ubuntu 18.04 LTS. Nó phải được cài đặt trên Manjaro 18.10 và Fedora 30.

Để cài đặt trên Fedora, sử dụng lệnh sau:

  sudo yum install tcp_wrappers  

Cài đặt TCP Wrappers trên Fedora

Để cài đặt trên Manjaro, sử dụng lệnh này:

  sudo pacman -Syu tcp-wrappers  

Cài đặt TCP Wrappers trên Manjaro

Có hai file đi kèm, một file giữ danh sách cấp phép và một file giữ danh sách từ chối. Chỉnh sửa bản kê từ chối sử dụng lệnh sau:

  sudo gedit /etc/hosts.deny  

Chỉnh sửa danh sách từ chối

Lệnh trên sẽ mở trình chỉnh sửa gedit với file từ chối tải trong đó.

Thêm dòng ALL : ALL

Bạn cần thêm dòng:

  ALL : ALL  

Và lưu file. Dòng này sẽ chặn mọi thứ các truy cập chưa được phép. Bây giờ, chúng ta cần cấp quyền cho các kết nối bạn mong muốn chấp nhận. Để làm điều đó, cần chỉnh sửa file cho phép:

  sudo gedit /etc/hosts.allow  

Chỉnh sửa file cho phép

Lệnh trên sẽ mở trình chỉnh sửa gedit với file cho phép tải trong đó.

Tải file cho phép

Chúng ta đã thêm vô tên SSH daemon, SSHD và địa điểm IP của máy tính cho phép tạo kết nối. Lưu file và xem những hạn chế, quyền có hiệu lực không.

Đầu tiên, bạn sẽ thử kết nối từ máy tính không có trong file hosts.allow:

Thử kết nối từ máy tính không có trong file hosts.allow

Kết nối bị từ chối. Chúng ta sẽ thử kết nối từ máy có địa điểm IP 192.168.4.23:

Kết nối từ máy có địa chỉ IP 192.168.4.23

Kết nối được chấp nhận.

Ví dụ ở đây chỉ cho phép duy nhất một máy cũng đều có thể kết nối. TCP wrappers khá linh hoạt, nó hỗ trợ tên máy chủ, ký tự đại diện và mặt nạ subnet để chấp nhận kết nối từ phạm vi địa điểm IP.

Từ chối đòi hỏi kết nối không có mật khẩu

Mặc dù không tốt nhưng quản trị viên hệ thống Linux có thể tạo tài khoản người dùng không có mật khẩu. Điều đó có nghĩa là không đòi hỏi mật khẩu cho kết nối từ xa từ tài khoản này. Những kết nối này sẽ có chấp nhận nhưng chưa được xác thực.

Cài đặt mặc định cho SSH chấp nhận yêu cầu kết nối không có mật khẩu. Chúng ta cũng đều có thể thay đổi nó một cách dễ dàng và đảm bảo mọi thứ các kết nối kia được xác thực.

Bạn cần chỉnh sửa file cấu hình SSH.

Từ chối yêu cầu kết nối không có mật khẩu

Cuộn xuống trong file cho đến khi bạn thấy dòng ghi #PermitEmptyPasswords no . Xóa # ở đầu dòng và lưu file. Khởi động lại SSH daemon.

Sử dụng key SSH thay cho mật khẩu

Key SSH cung cấp cách đăng nhập vào máy server SSH 1 cách an toàn. Mật khẩu có thể bị crack, đoán hoặc sử dụng phương thức tiến công Brute-forced. Key SSH không đơn giản bị tấn công bởi các loại tiến công này.

Khi tạo key SSH, bạn tạo một cặp key. Một là key chung và 1 là key riêng. Key chung được cài đặt trên các máy chủ bạn muốn kết nối. Key riêng được giữ an toàn trên máy tính của bạn.

Key SSH cho phép tạo kết nối mà chẳng cần mật khẩu, an toàn hơn kết nối sử dụng xác thực mật khẩu.

Khi tạo yêu cầu kết nối, máy tính từ xa sử dụng bản sao của key chung để tạo thông báo được mã hóa gửi trái lại cho máy tính. Vì nó được mã hóa với key chung, máy tính cũng đều có thể giải mã nó với key riêng.

Sau đó, máy tính sẽ trích xuất một số tin tức từ thông báo, mã hóa nó và gửi lại cho máy chủ. Nếu máy server cũng có thể giải mã nó với bản sao key chung. Nếu tin tức trong thông báo khớp với các gì máy server gửi cho bạn, kết nối sẽ có xác nhận.

Ở đây, kết nối được tạo cho máy chủ tại 192.168.4.11 bởi người sử dụng có key SSH. Lưu ý họ không được nhắc để nhập mật khẩu.

  ssh dave@192.168.4.11  

Sử dụng key SSH thay cho mật khẩu

Vô hiệu hóa xác thực mật khẩu tận gốc

Bạn cũng có thể có thể tắt tận gốc xác thực mật khẩu nếu sử dụng key SSH. Chúng ta cần chỉnh sửa file cấu hình SSH.

Vô hiệu hóa xác thực mật khẩu hoàn toàn

Cuộn xuống file cho đến khi nhìn thấy dòng bắt đầu với #PasswordAuthentication yes . Xóa # ở đầu dòng, thay đổi yes thành no và lưu file. Khởi động lại SSH daemon.

Vô hiệu hóa chuyển tiếp X11

Chuyển tiếp X11 cấp phép người dùng từ xa chạy phần mềm đồ họa từ máy chủ của bạn qua phiên SSH nhưng dễ dẫn đến kẻ xấu lợi dụng. Tốt hơn cả bạn nên tắt nó đi bằng cách chỉnh sửa file cấu hình SSH.

Vô hiệu hóa chuyển tiếp X11

Cuộn xuống file cho tới khi thấy dòng #X11Forwarding no , xóa # ở đầu dòng và lưu file. Khởi động lại SSH daemon.

Thiết lập giá trị thời gian chờ nhàn rỗi

Nếu thiết lập kết nối SSH với máy tính và không có hoạt động trên đó trong 1 khoảng thời gian, điều ấy còn có thể gây rủi ro bảo mật.

Do đó bạn nên thiết lập giới hạn thời gian chờ. Kết nối SSH sẽ bị ngắt kết nối nếu không có hoạt động trong giới hạn thời gian. Lại một lần nữa, chúng ta cần chỉnh sửa file cấu hình SSH.

Thiết lập giá trị thời gian chờ nhàn rỗi

Cuộn xuống file cho tới khi thấy dòng bắt đầu với #ClientAliveInterval 0 . Xóa # ở đầu dòng, thay đổi số 0 thành giá trị bạn mong muốn. Thường mọi người thiết lập thành 300 giây, tức 5 phút. Lưu file và khởi động lại SSH daemon.

Thiết lập giới hạn số lần nhập mật khẩu

Xác định giới hạn số lần xác nhận có thể giúp ngăn chặn việc đoán mật khẩu và tiến công brute-force. Sau con số yêu cầu xác thực được chỉ định, người sử dụng sẽ bị ngắt kết nối khỏi máy chủ SSH. Theo mặc định, không có giới hạn số lần thử mật khẩu nhưng bạn có thể chỉnh sửa điều này trong file cấu hình SSH.

Thiết lập giới hạn số lần nhập mật khẩu

Cuộn xuống file cho đến khi thấy dòng bắt đầu với #MaxAuthTries 0 . Xóa # ở đầu dòng thay đổi số thành giá trị mong muốn. Bạn cũng có thể có thể đặt là 3. Lưu file khi thực hành thay đổi và khởi động lại SSH daemon.

Bạn có thể kiểm tra điều ấy bằng cách thử kết nối và nhập sai mật khẩu.

Thử kết nối và nhập sai mật khẩu

Lưu ý, số MaxAuthTries nhiều hơn số lần thử mà người dùng được phép. Sau hai lần thử không thành công, bạn bị ngắt kết nối thì có nghĩa MaxAuthTries được thiết lập là 3.

Vô hiệu hóa đăng nhập bằng root

Bạn được khuyên không nên đăng nhập bằng root, chỉ nên dùng như người dùng bình thường trên Linux và sử dụng sudo để thực hiện động thái yêu cầu quyền root. Bạn cũng không nên cho phép root đăng nhập vào máy server SSH. Chỉ người dùng bình thường mới được phép kết nối. Nếu cần thực hành một nhiệm vụ mức quản trị, họ cũng cũng có thể sử dụng sudo. Nếu buộc phải cho phép người sử dụng root đăng nhập, bạn cũng đều có thể buộc họ sử dụng key SSH.

Chỉnh sửa file cấu hình để vô hiệu hóa đăng nhập root.

Cuộn xuống file cho tới khi thấy dòng bắt đầu bằng #PermitRootLogin prohibit-password , xóa # ở đầu dòng.

  • Nếu muốn ngăn root không đăng nhập, thay thế prohibit-password bằng no.
  • Nếu cấp phép root đăng nhập nhưng buộc sử dụng key SSH để nguyên prohibit-password.

Lưu thay đổi và khởi động lại SSH daemon.

Bước cuối cùng

Tất nhiên, nếu không cần SSH chạy trên máy tính của mình, hãy tắt nó đi với lệnh sau:

  sudo systemctl stop sshd sudo systemctl disable sshd  

Chúc các bạn thực hành thành công!

bảo mật máy chủ ssh, bảo mật ssh server, bảo mật server linux, bảo mật máy chủ linux, bảo mật ssh, cách bảo mật ssh, ssh server, máy chủ ssh, bảo mật kết nối ssh

Nội dung Cách bảo mật máy chủ SSH được tổng hợp sưu tầm biên tập bởi: Tin Học Trường Tín. Mọi ý kiến vui lòng gửi Liên Hệ cho truongtin.top để điều chỉnh. truongtin.top tks.

Bài Viết Liên Quan


Xếp Hạng post

Bài Viết Khác

--