NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
11/05/2023
Lượt xem

Hướng dẫn tăng cường bảo mật OpenSSH trên Ubuntu 20.04

11/05/2023
24 phút đọc
Lượt xem

Đánh giá

5/5 - (66 bình chọn)

Việc quản trị máy chủ từ xa thông qua SSH hiện nay đã trở nên phổ biến, OpenSSH server là phần mềm máy chủ SSH mặc định được sử dụng trên hầu hết các hệ thống Linux/BSD như Ubuntu, Debian, CentOS, FreeBSD và rất nhiều hệ thống khác. Ở bài viết về cách tăng cường bảo mật OpenSSH trên Ubuntu 20.04 này, bạn sẽ được hướng dẫn tăng cường bảo mật cho OpenSSH server bằng cách sử dụng các tùy chọn cấu hình khác nhau để đảm bảo rằng truy cập từ xa vào máy chủ của bạn là an toàn nhất.

Điều kiện tiên quyết để tăng cường bảo mật OpenSSH trên Ubuntu 20.04

Để thực hiện hướng dẫn này, bạn cần chuẩn bị một số thứ như:

  • Một máy chủ Ubuntu 20.04 đã được cài đặt và kích hoạt sẵn OpenSSH.
  • Một tài khoản người dùng non-root nhưng có quyền sudo.

Khi đã sẵn sàng, hãy đăng nhập vào máy chủ của bạn và tham khảo hướng dẫn dưới đây.

Việc tăng cường bảo mật cho OpenSSH trên Ubuntu 20.04 là một trong những cách hiệu quả để bảo vệ hệ thống của bạn trước các mối đe dọa an ninh. Tuy nhiên, để đảm bảo tối đa an toàn cho dữ liệu và ứng dụng của bạn, việc sử dụng dịch vụ VPS là một lựa chọn hoàn hảo.

Với dịch vụ VPS của Vietnix, bạn sẽ được cung cấp một môi trường hoàn toàn riêng biệt, với tài nguyên và tính năng hiện đại để đáp ứng nhu cầu của bạn. Đặc biệt, Vietnix còn cung cấp các giải pháp bảo mật chuyên nghiệp như Firewall, backup dữ liệu định kỳ và hệ thống giám sát kèm hạ tầng chống DDoS chuyên nghiệp giúp bảo vệ hệ thống của bạn khỏi các mối đe dọa tấn công.

Thuê VPS của Vietnix giúp bạn yên tâm cài đặt, triển khai các ứng dụng nhờ tốc độ cao, ổn định và bảo mật an toàn. Liên hệ ngay với Vietnix để được tư vấn chi tiết.

Bước 1 – Nâng cao bảo mật chung

Đầu tiên, bạn cần thực hiện một số cấu hình để cải thiện tổng thể bảo mật cho máy chủ SSH của bạn.

Bạn sẽ cần phải chỉnh sửa file cấu hình OpenSSH chính trong /etc/ssh/sshd_config để điều chỉnh các tùy chọn bảo mật. Vì vậy, trước khi bắt đầu bạn nên tạo một bản sao lưu của file cấu hình hiện tại để bạn có thể khôi phục lại nó nếu có lỗi xảy ra trong quá trình cấu hình.

Tiến hành tạo bản sao lưu của file bằng lệnh cp như bên dưới:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Lệnh này sẽ lưu một bản sao lưu của file vào /etc/ssh/sshd_config.bak. Nếu bạn không muốn lưu ở đường dẫn này bạn có thể thay thế đoạn /etc/ssh/sshd_config.bak trong lệnh trên bằng đường dẫn và tên file bạn muốn sao lưu theo ý bạn.

Tiếp theo, hãy cùng xem xét các tùy chọn cấu hình OpenSSH mặc định được thiết lập trong /etc/ssh/sshd_config. Sử dụng lệnh sau:

sudo sshd -T

Lệnh này sẽ chạy máy chủ OpenSSH trong chế độ kiểm tra mở rộng, chế độ này sẽ xác thực toàn bộ file cấu hình và in ra các giá trị cấu hình.

Bây giờ bạn có thể mở file cấu hình bằng nano hoặc trình chỉnh sửa văn bản yêu thích của mình để bắt đầu thực hiện các biện pháp cấu hình bảo mật:

sudo nano /etc/ssh/sshd_config

Khi sửa file cấu hình, một số tùy chọn mặc định được đặt thành comment bằng ký tự # ở trước và các tùy chọn này sẽ không chạy. Để chỉnh sửa hoặc bật tùy chọn cấu hình này, bạn chỉ cần xóa ký tự # ở đầu dòng đó thì các tùy chọn này sẽ chạy được nhé.

Biện pháp đầu tiên mà bạn cần phải làm là vô hiệu hóa đăng nhập qua SSH với người dùng root. Tìm đến phần cấu hình PermitRootLogin sửa đổi giá trị thành no nhé, hoặc nếu lệnh này đang bị comment thì bạn có thể xóa dấu # ở trước đi là được.

PermitRootLogin no

Tùy chọn này sẽ ngăn chặn kẻ tấn công đăng nhập trực tiếp vào máy chủ của bạn với quyền root. Đồng thời, người dùng cũng được khuyến nghị tăng cường bảo mặt bằng cách sử dụng hệ thống với user non-root và chỉ sử dụng sudo khi thực sự cần thiết.

Tiếp theo, bạn có thể giới hạn số lần thử đăng nhập tối đa cho một phiên đăng nhập cụ thể bằng cách thay đổi giá trị ở mục MaxAuthTries:

MaxAuthTries 3

Thông thường, 3 là giá trị phù hợp nhất, nhưng bạn có thể muốn đặt giá trị này cao hơn hoặc thấp hơn tùy ý để đảm bảo tính bảo mật SSH cho mình.

Ngoài ra, bạn có thể giới hạn thời gian đăng nhập của người dùng sau khi kết nối với máy chủ SSH của bạn bằng cách cấu hình thời gian chờ đăng nhập:

LoginGraceTime 20

Giá trị được chỉ định trong file cấu hình bằng giây. Giảm giá trị này sẽ giúp ngăn chặn một số cuộc tấn công từ chối dịch vụ (DoS).

Nếu trước đây bạn đã cấu hình SSH keys để xác thực thay vì sử dụng mật khẩu, hãy vô hiệu hóa xác thực mật khẩu SSH để ngăn chặn việc rò rỉ mật khẩu:

PasswordAuthentication no

Nếu bạn chưa cấu hình SSH keys để xác thực thì không cần phải vô hiệu hóa xác thực này nhé.

Ngoài ra, để tăng cường bảo mật liên quan đến mật khẩu, bạn có thể vô hiệu hóa xác thực với mật khẩu trống. Điều này sẽ ngăn chặn đăng nhập nếu mật khẩu của người dùng được thay đổi thành giá trị rỗng:

PermitEmptyPasswords no

Thông thường, SSH sẽ được cấu hình với phương thức xác thực khóa công khai. Tuy nhiên, máy chủ OpenSSH cũng hỗ trợ nhiều phương thức xác thực khác nhau, một số trong số đó được bật theo mặc định. Nếu không cần thiết, bạn có thể vô hiệu hóa chúng để giảm bớt rủi ro bị tấn công của máy chủ SSH:

ChallengeResponseAuthentication no KerberosAuthentication no GSSAPIAuthentication no

Nếu bạn muốn biết thêm về các phương thức xác thực bổ sung khác trong SSH, bạn có thể tìm các tài liệu về các từ khóa sau:

  • Challenge Response Authentication.
  • Kerberos Authentication.
  • GSSAPI Authentication.

Sau khi tắt các phương thức xác minh người dùng cũng có thể xem xét tới tính năng X11 forwarding , cho phép hiển thị các ứng dụng đồ họa từ xa qua kết nối SSH nhưng điều này thường không được sử dụng vậy nên hãy tắt đi nếu bạn không sử dụng:

X11Forwarding no

Ngoài ra, OpenSSH server còn cho phép client kết nối truyền các biến môi trường tùy chỉnh. Ví dụ, một client có thể cố gắng thiết lập lại $PATH của một ứng dụng nào đó. Tuy nhiên, giống như X11 forwarding, chúng không được sử dụng thường xuyên, vì vậy bạn có thể tắt tùy chọn này đi:

PermitUserEnvironment no

Lưu ý: Nếu bạn quyết định tắt tùy chọn này bằng cách đặt nó thành no, thì bạn cũng cần comment tất cả các tham chiếu ở mục AcceptEnv bằng cách thêm ký hiệu # vào đầu của dòng của tùy chọn đó.

Tiếp theo, bạn có thể tắt một số tùy chọn khác liên quan đến tunnelingforwarding nếu bạn không sử dụng chúng trên máy chủ của mình:

AllowAgentForwarding no AllowTcpForwarding no PermitTunnel no

Cuối cùng, bạn có thể tắt tiêu đề SSH verbose được bật theo mặc định, vì nó hiển thị nhiều thông tin về hệ thống của bạn, chẳng hạn như phiên bản hệ điều hành:

DebianBanner no

Lưu ý: Tùy chọn này (Trong một vài trường hợp) có thể không có sẵn trong file cấu hình, vì vậy bạn có thể cần thêm lệnh này thủ công.

Vậy là đã cấu hình xong một số thứ cơ bản, bạn có thể lưu lại file bằng cách nhấn Ctrl + X, Y sau đó Enter để lưu và đóng file cấu hình.

Bây giờ, bạn cần phải kiểm tra xem liệu file cấu hình mà bạn vừa thay đổi bên trên có bị sai cú pháp hay lỗi nào không bằng cách chạy SSH ở chế độ kiểm tra:

sudo sshd -t

Nếu file cấu hình của bạn có cú pháp hợp lệ, sẽ không có gì được xuất ra. Trong trường hợp có lỗi cú pháp, thì output sẽ xuất ra lỗi đó và chỉ chổ sai để bạn có thể mở file cấu hình lên và sửa lại.

Sau khi bạn hài lòng với file cấu hình của mình, bạn có thể khởi động lại sshd bằng systemctl để áp dụng các thiết lập mới bằng lệnh:

sudo systemctl reload sshd.service

Vậy là bạn đã tăng cường thành công bảo mật chung cho máy chủ OpenSSH của mình. Bước tiếp theo, bạn sẽ tạo một danh sách địa chỉ IP để giới hạn người dùng có thể đăng nhập vào máy chủ của bạn.

Bước 2 – Thiết lập danh sách IP cho phép truy cập

Bằng cách thiết lập một danh sách địa chỉ IP cho phép truy cập, bạn có thể đảm bảo rằng chỉ có thể nhập từ các địa chỉ IP cho phép mới có thể được phê duyệt, giúp giảm thiểu nguy cơ xâm nhập trong trường hợp các khóa riêng tư hoặc hoặc mật khẩu của bạn bị rò rỉ.

Thông thường, bạn chỉ đăng nhập vào máy chủ của mình từ một số lượng nhỏ các địa chỉ IP được biết đến và tin cậy. Ví dụ: Kết nối internet tại nhà, VPN doanh nghiệp hay datacenter, các hệ thống máy chủ bảo mật,….

Lưu ý: Hãy chắc chắn xác định các địa chỉ IP chính xác để thêm vào danh sách cho phép của bạn và đảm bảo rằng đó không phải là các địa chỉ dành cho việc dự trữ hoặc thường xuyên bị thay đổi.

Bạn có thể xác định địa chỉ IP hiện tại mà bạn đang kết nối đến máy chủ của mình bằng cách sử dụng lệnh "w":

w

Lệnh này sẽ xuất ra một output như sau:

Output  14:11:48 up 2 days, 12:25,  1 user,  load average: 0.00, 0.00, 0.00          USER            TTY      FROM               LOGIN@   IDLE      JCPU      PCPU  WHAT your_username     pts/0    203.0.113.1     12:24       1.00s     0.20s    0.00s  w

Tại đây, bạn có thể xác định vị trí tài khoản người dùng của bạn trong danh sách và ghi lại địa chỉ IP kết nối. Như ở đây thì địa chỉ IP là 203.0.113.1.

Để bắt đầu thiết lập danh sách cho phép địa chỉ IP của bạn, mở file cấu hình máy chủ OpenSSH trong nano hoặc trình chỉnh sửa văn bản ưa thích của bạn:

sudo nano /etc/ssh/sshd_config

Bạn có thể thiết lập danh sách cho phép địa chỉ IP bằng cách sử dụng mục cấu hình AllowUsers, giới hạn xác thực người dùng dựa trên tên người dùng hoặc địa chỉ IP.

Tùy thuộc vào cấu hình và yêu cầu hệ thống của bạn, bạn có thể áp dụng các chỉ thị cấu hình phù hợp nhất để cho phép các địa chỉ IP được phép kết nối. Dưới đây là các ví dụ để giúp bạn xác định cách cấu hình phù hợp nhất.

Hạn chế tất cả người dùng đến một địa chỉ IP cụ thể:

AllowUsers *@203.0.113.1

Hạn chế tất cả người dùng đến một dải địa chỉ IP cụ thể bằng ký hiệu CIDR (Classless Inter-Domain Routing):

AllowUsers *@203.0.113.0/24

Hạn chế tất cả người dùng đến một dải địa chỉ IP cụ thể (Sử dụng ký tự đại diện):

AllowUsers *@203.0.113.*

Hạn chế tất cả người dùng đến nhiều địa chỉ IP và dải địa chỉ cụ thể:

AllowUsers *@203.0.113.1 *@203.0.113.2 *@192.0.2.0/24 *@172.16.*.1

Không cho phép tất cả người dùng ngoại trừ những người dùng đặt tên theo các địa chỉ IP cụ thể:

AllowUsers sammy@203.0.113.1 alex@203.0.113.2

Hạn chế một người dùng cụ thể đến một địa chỉ IP cụ thể, trong khi vẫn cho phép tất cả người dùng khác đăng nhập mà không có giới hạn:

Match User ashley      AllowUsers ashley@203.0.113.1

Lưu ý: Trong file cấu hình OpenSSH, tất cả các cấu hình nằm trong khối Match sẽ chỉ áp dụng cho các kết nối phù hợp với tiêu chí, bất kể thụt đầu dòng hoặc xuống dòng. Điều này có nghĩa là bạn phải cẩn thận và đảm bảo rằng các cấu hình được thiết lập để áp dụng toàn cục không vô tình bị đặt trong khối Match. Hãy luôn đặt tất cả các khối Match ở cuối của file cấu hình để tránh sự sai lệch trong khi áp dụng các tiêu chí cấu hình nhé.

Sau khi hoàn thành cấu hình, thêm tiêu chí này vào cuối file cấu hình máy chủ OpenSSH của bạn:

AllowUsers *@203.0.113.1

Sau đó lưu và đóng file bằng Ctrl + X, Y sau đó Enter. Và tiến hành kiểm tra cú pháp của file cấu hình bằng lệnh:

sudo sshd -t

Nếu không có lỗi nào xuất hiện, bạn có thể khởi động lại OpenSSH để áp dụng cấu hình đã thay đổi bên trên của mình bằng lệnh:

sudo systemctl reload sshd.service

Vậy là trong bước này, bạn đã hoàn thành việc thiếp lập một danh sách cho phép địa chỉ IP trên máy chủ OpenSSH của mình. Tiếp theo, bạn sẽ hạn chế shell của một người dùng để giới hạn các lệnh mà họ được phép sử dụng.

Bước 3 – Hạn chế tương tác trên Shell của người dùng

Ngoài việc cung cấp truy cập remote shell, SSH còn rất tốt cho việc chuyển file và dữ liệu khác, ví dụ như qua SFTP (Secure File Transfer Protocol). Tuy nhiên, không phải lúc nào bạn cũng muốn cấp quyền truy cập shell đầy đủ cho người dùng khi họ chỉ cần thực hiện việc chuyển file.

Trong OpenSSH server có nhiều cách để bạn cấu hình để có thể hạn chế môi trường shell của một số người dùng cụ thể. Ví dụ, trong hướng dẫn này, bạn sẽ cấu hình để tạo người dùng chỉ có thể sử dụng SFTP.

Trước tiên, bạn có thể sử dụng lệnh /usr/sbin/nologin để vô hiệu hóa tương tác cho một số tài khoản người dùng cụ thể.

Để tạo một người dùng mới với nologin shell, sử dụng lệnh sau:

sudo adduser --shell /usr/sbin/nologin alex

Bạn có thể đổi tên alex thành tên người dùng mà bạn muốn tạo. Ngoài ra, bạn cũng có thể thay đổi shell của một người dùng đã có sẵn trở thành nologin, ví dụ như tài khoản sammy đã có sẵn thì dùng lệnh:

sudo usermod --shell /usr/sbin/nologin sammy

Giờ đây, những tài khoản này sẽ không được phép đăng nhập vào shell nữa, tuy nhiên việc truyền tải file hoặc dữ liệu cho những tài khoản này vẫn hoạt động bình thường. Bạn có thể thử kiểm tra xem bằng cách login vào các tài khoản đã chuyển đổi thành nologin thử:

sudo su alex

Tiếp theo, bạn nên kết hợp việc sử dụng nologin shell và cấu hình thêm một số tùy chọn bổ sung để hạn chế các tài khoản người dùng liên quan.

Tiến hành mở tệp cấu hình OpenSSH bằng nano hoặc trình soạn thảo văn bản bạn muốn:

sudo nano /etc/ssh/sshd_config

Ở đây, có 2 tùy chọn cấu hình mà bạn có thể thêm vào cấu hình là ForceCommand internal-sftpChrootDirectory.

Tùy chọn ForceCommand sẽ bắt buộc người dùng thực thi một lệnh cụ thể khi đăng nhập. Trong trường hợp này, lệnh ForceCommand sẽ thực thi lệnh internal-sftp. Trong trường hợp này, hệ thống sẽ khởi chạy SFTP daemon tại chỗ không cần thêm file hỗ trợ hay cấu hình. Mục đích là bắt buộc người dùng khi đăng nhập sử dụng giao thức SFTP và dùng để tạo ra các tài khoản SFTP chỉ có thể chia sẻ tệp tin.

Và tùy chọn ChrootDirectory được sử dụng để giới hạn không gian tệp cho một người dùng cụ thể. Khi được sử dụng kết hợp với ForceCommand internal-sftp, điều này sẽ hạn chế người dùng chỉ có thể truy cập vào thư mục mà bạn chỉ định và ngăn chặn họ truy cập vào các thư mục khác trên hệ thống.

Sau khi đã hiểu 2 tùy chọn này, thì bạn hãy thêm các người dùng mà bạn muốn hạn chế vào file cấu hình như bên đưới:

Match User alex   ForceCommand internal-sftp   ChrootDirectory /home/alex/

Ở đây tài khoản mình hạn chế là alex, đi kèm với đó là không gian giới hạn chỉ cho phép truy cập vào trong /home/alex/ chứ không được truy cập vào nơi khác.

Lưu ý: Giống như ở bước 2 mình đã đề cập, bạn phải cẩn thận và đảm bảo rằng các cấu hình được thiết lập toàn cục không vô tình bị đặt trong block Match, để tránh sai sót thì các block Match nên đặt ở cuối file cấu hình.

Sau khi cấu hình xong, tiến hành lưu lại file và kiểm tra bằng lệnh:

sudo sshd -t

Nếu không có lỗi nào xuất hiện, thì file cấu hình bạn đã ổn định, bây giờ hãy khởi động lại dịch vụ SSH để áp dụng các cấu hình này:

sudo systemctl reload sshd.service

Vậy là qua bước 3, bạn đã thiết lập các cấu hình hạn chế rất nhiều cho tài khoản người dùng alex. Cụ thể là vô hiệu hóa đăng nhập và tất cả các hoạt động SFTP bị giới hạn trong thư mục chính của người dùng đó. Việc này sẽ giúp đảm bảo rằng tài khoản này sẽ không thể truy cập vào các file khác trên hệ thống.

Bước 4 – Một số biện pháp bảo mật nâng cao

Trong bước cuối này, bạn sẽ thực hiện các biện pháp tăng cường bảo mật nâng cao khác nhau để đảm bảo truy cập vào SSH của mình một cách an toàn.

OpenSSH server có thể áp đặt các hạn chế trên từng khóa cơ bản (per-key basis). Cụ thể, các hạn chế này có thể được áp dụng cho bất kỳ khóa công khai nào có trong .ssh/authorized_keys. Khả năng này đặc biệt hữu ích để kiểm soát truy cập. Ngoài ra, nó cũng cho phép người dùng không có quyền sudo có thể quản lý các giới hạn cho tài khoản của họ.

Lưu ý: Cấu hình bảo mật này chỉ triển khai được khi đang áp dụng public key SSH, đối với các phương thức xác thực khác như bằng mật khẩu hay cấp CA thì tùy chọn này bị vô hiệu hóa.

Để tiến hành áp đặt các hạn chế trên khóa, hãy mở tệp .ssh/authorized_keys trong nano hoặc trình soạn thảo của bạn:

nano ~/.ssh/authorized_keys

Có điều cần lưu ý nữa là cấu hình đang áp dụng này là trên cơ sở cho từng khóa (per-key). Do đó người dùng sẽ phải chỉnh sửa từng key một của từng file authorize_keys và thực hiện cho tất cả user trên hệ thống. Quá trình này sẽ đơn giản nếu số lượng user rất ít, tuy nhiên đây không còn là ý tưởng hay cho quy mô lớn cùng nhiều user, độ phúc tạp hệ thống cao.

Sau khi mở file authorized_keys, bạn sẽ thấy mỗi dòng chứa một khóa công khai SSH, có thể bắt đầu bằng ssh-rsa AAAB … Các tùy chọn cấu hình mà bạn muốn thêm chỉ có thể được thêm vào đầu dòng của khóa đó và chúng cũng sẽ chỉ áp dụng riêng cho khóa đó mà thôi.

Ở đây có một số tùy chọn cấu hình mà bạn có thể tham khảo:

  • no-agent-forwarding: Vô hiệu hóa chuyển tiếp SSH agent.
  • no-port-forwarding: Vô hiệu hóa chuyển tiếp cổng SSH.
  • no-pty: Vô hiệu hóa khả năng cấp phát tty (Là một shell hay terminal). Có nghĩa là người dùng sẽ không thể khởi động shell thông qua kết nối SSH.
  • no-user-rc: Ngăn chặn việc thực thi tệp ~/.ssh/rc.
  • no-X11-forwarding: Vô hiệu hóa chuyển tiếp X11 (Đã giới thiệu ở bước 1).

Dựa trên các tùy chọn này, bạn có thể thêm chúng vào các khóa mà bạn muốn hạn chế, ví dụ như để vô hiệu hóa chuyển tiếp X11, hay SSH agent thì bạn thêm vào đầu khóa đó như sau:

no-agent-forwarding, no-X11-forwarding ssh-rsa AAAB ...

Ở đây ssh-rsa AAAB ... là khóa trong hệ thống của bạn, còn các tùy chọn thì được thêm vào đầu của khóa đó, lưu ý rằng các tùy chọn này chỉ áp dụng cho duy nhất khóa mà bạn thêm, để áp dụng vào khóa khác thì bạn cũng phải thêm các tùy chọn này vào đầu khóa đó.

Theo mặc định, cấu hình này có cơ chế “cho phép theo mặc định” và “chặn theo ngoại lệ”, dĩ nhiên có thể cấu hình ngược lại để nâng cao tính an toàn hơn.

Cách thứ 2 là sử dụng tùy chọn restrict, sẽ ngầm định từ chối tất cả các tính năng SSH cho khóa cụ thể. Bạn có thể kích hoạt lại tính năng bằng cách sử dụng các tùy chọn cấu hình đã được nêu trên, nhưng không có tiền tố no-.

Ví dụ, để tắt tất cả các tính năng SSH cho một khóa cụ thể, ngoại trừ X11-forwarding, bạn có thể sử dụng cấu hình sau:

restrict,X11-forwarding ssh-rsa AAAB...

Ở đây có nghĩa là bạn đã tắt toàn bộ mà chỉ để lại X11-forwarding cho khóa này mà thôi. Thông thường bạn nên sử dụng cách này để hạn chế các khóa nhé. Bạn cũng có thể sử dụng thêm các tùy chọn command vào khóa, điều này khá giống với ForceCommand ở bước 3.

Ví dụ, để bắt buộc người dùng xác thực bằng cách sử dụng một khóa cụ thể để thực hiện một command khi đăng nhập, bạn có thể thêm cấu hình sau đây:

command = "top" ssh-rsa AAAB ...

Tuy nhiên, tùy chọn cấu hình command chỉ hoạt động như một phương pháp phòng thủ bổ sung và không nên chỉ dựa vào nó để giới hạn các hoạt động của người dùng SSH, vì có thể có cách để vượt qua.

Vậy cách tốt nhất là sử dụng cả hai phương pháp, một là restrict và sau đó sử dụng command để làm một tường phòng thủ thứ hai như bên dưới đây:

restrict,command="false" ssh-rsa AAAB...

Tùy chọn restrict sẽ vô hiệu hóa tất cả các tương tác và tùy chọn command = "false" hoạt động như một dòng lệnh bảo vệ thứ hai trong trường hợp tùy chọn ForceCommand hoặc nologin shell không hoạt động.

Sau khi đã cấu hình xong, tiến hành lưu lại, file cấu hình khóa này sẽ tự động có hiệu lực ngay lập tức mà không cần phải tải lại dịch vụ SSH. Vậy nên hãy đảm bảo kiểm tra các lệnh mà bạn đã sử dụng trước khi ngắt kết nối với phiên đăng nhập SSH hiện tại.

Vietnix với hơn 10 năm hoạt động đã đồng hành với hơn 50.000 khách hàng cá nhân và doanh nghiệp. Đến năm 2022 Vietnix vinh dự được nhận giải Thương hiệu Việt Nam xuất sắc nhất. Đồng thời, với tỷ lệ 97% khách hàng sau khi sử dụng dịch vụ tại Vietnix đã giới thiệu đến bạn bè, đồng nghiệp cũng là một minh chứng cho chất lượng dịch vụ luôn đáp ứng được mọi nhu cầu của khách hàng.

Nhanh tay đăng ký Vietnix VPS ngay và trải nghiệm dịch vụ ổn định, tốc độ cao, bảo mật và hỗ trợ nhanh chóng với nhiều ưu đãi hấp dẫn nhất.

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Hotline: 1800 1093 – 07 088 44444
  • Email: sales@vietnix.com.vn

Lời kết

Vậy là qua bài hướng dẫn tăng cường bảo mật OpenSSH trên Ubuntu 20.04 này, bạn đã nắm được cách tăng cường bảo mật cho OpenSSH server một cách hiệu quả. Các tùy chọn cấu hình trên chưa phải là tất cả nhưng cũng đủ để bạn đảm bảo an toàn cho server của mình không bị tấn công, cũng như giảm thiểu rủi ro. Có đóng góp hay thắc mắc bạn hãy để lại bình luận ở dưới nhé, Vietnix sẽ trả lời bạn nhanh nhất.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG