Thông thường, người dùng đăng nhập SSH trên Linux qua tài khoản và mật khẩu đã được cung cấp. Phương thức xác thực này nếu không giới hạn số lần đăng nhập sai thì có thể bị tấn công dò tìm mật khẩu bằng các cuộc tấn công như Brute Force hay Dictionary. Do đó, sử dụng SSH Key sẽ bảo mật hơn rất nhiều so với phương thức đăng nhập dùng mật khẩu truyền thống. Để thực hiện xác thực này cần có hai tệp là Public Key (khóa công khai) và Private Key (khóa bí mật).
Trên máy chủ SSH Linux, tạo các khóa xác thực bao gồm Public Key (id_rsa.pub) và Private Key (id_rsa) với cú pháp như sau: ssh-keygen -t rsa (Hình 1). Trong đó, RSA là giao thức được dùng để tạo khóa với khóa mặc định là 2048 bit. Chú ý rằng, SSH Key có thể tăng độ khó bằng cách tăng kích thước thuật toán RSA và dùng PassPhrase. Tiếp đó, cần phải sao chép Public Key từ máy chủ SSH Linux sang các máy cần truy cập từ xa (remote) trong hệ thống. Trong phạm vi của bài viết sẽ hướng dẫn trên Linux với nền tảng Centos 7, thực hiện câu lệnh sau để sao chép Public Key sang máy remote: ssh-copy-id remote_username@ remote_IP (Hình 1). Trong trường hợp này địa chỉ máy cần truy cập remote là 192.168.30.134, hệ thống sẽ yêu cầu nhập mật khẩu của máy tính này.
Hình 1. Tạo khóa xác thực và sao chép sang máy cần remote
Để cấu hình chặn SSH xác thực bằng mật khẩu và chỉ cho phép SSH với Key, chỉnh sửa tệp “vi /etc/ssh/sshd_config” trên máy remote với tham số PubkeyAuthentication chuyển thành yes và PasswordAuthentication chuyển thành no (Hình 2). Chú ý, để áp dụng các thay đổi cấu hình SSH cần khởi động lại dịch vụ SSH với câu lệnh: systemctl restart sshd.
Hình 2. Xác thực bằng SSH Key
Việc giới hạn số lần đăng nhập sai có thể giúp tăng cường khả năng phòng chống các hình thức tấn công Brute Force hay Dictionary. Ngoài ra, cũng cần giới hạn số lượng phiên SSH cần thiết cùng lúc trên máy chủ và thiết lập thời gian tự động thoát phiên nếu cần thiết. Vào tệp “vi/ etc/ssh/sshd_config” và sửa các thông số như Hình 3:
Hình 3. Giới hạn đăng nhập và phiên SSH
Trong đó: MaxAuthTries là số lần tối đa đăng nhập tối đa, MaxSessions xác định số phiên mở tối đa cho mỗi kết nối, ClientAliveInterval để thiết lập thời gian chờ (tính bằng giây), nếu phiên SSH không hoạt động, nó sẽ bị chấm dứt.
Root là quyền cao nhất trên Linux, nếu tin tặc chiếm được quyền tài khoản này thì sẽ thực hiện được toàn bộ thao tác trên hệ thống. Do đó, cần phải tăng cường bảo mật bằng cách không cho phép SSH lên máy remote bằng tài khoản đặc quyền Root. Vào tệp “vi/ etc/ssh/sshd_config” và sửa tham số PermitRootLogin trong phần #Authentication thành no (Hình 4).
Trong trường hợp hệ thống có nhiều tài khoản thì nên cấu hình cho phép các máy chủ được phép SSH cụ thể bằng tài khoản nào. Ngoài ra, nếu chặn toàn bộ máy chủ SSH bằng tài khoản Root nhưng cũng có thể thiết lập ngoại lệ những địa chỉ IP nào được phép SSH bằng Root. Vào tệp “vi/ etc/ssh/sshd_config”, cũng trong phần cấu hình #Authentication, thêm tham số AllowUsers (Hình 4) và thiết lập những tài khoản và địa chỉ IP được phép SSH.
Hình 4. Chặn tài khoản Root và cho phép tài khoản đăng nhập
Thông thường, vì một lý do nào đó hoặc để thuận tiện, các quản trị viên hệ thống có thể tạo ra các tài khoản không có mật khẩu. Tuy nhiên, những tài khoản này nếu không được kiểm soát chặt chẽ hoặc xóa thì rất có thể sẽ bị tin tặc lợi dụng để Bypass đăng nhập SSH, điều đó khá nguy hiểm. Do vậy, cần phải ngăn chặn SSH đối với các tài khoản không mật khẩu này. Vào tệp “vi/etc/ssh/sshd_config”, sửa tham số PermitEmptyPasswords thành no (Hình 5).
Hình 5. Không cho phép đăng nhập với tài khoản không có mật khẩu
Brute Force là phương thức tấn công “bẻ khóa mật khẩu” thường được các tin tặc sử dụng bởi tính đơn giản và khả năng thành công cao. Để theo dõi mối đe dọa này, quản trị viên có thể thông qua các tệp tin log tại thư mục /var/log/secure (chú ý secure có thể tồn tại ở định dạng ngày tháng).
- Kiểm tra những lần cố gắng đăng nhập SSH thành công từ Root, sử dụng câu lệnh: cat /var/log/ secure | grep 'session opened for user root' (Hình 6).
Hình 6. Kiểm tra log đăng nhập SSH thành công với tài khoản Root
- Kiểm tra tài khoản SSH được ủy quyền với mật khẩu đăng nhập không thành công, sử dụng câu lệnh: cat /var/log/secure | grep -v invalid | grep 'Failed password' (Hình 7).
Hình 7. Kiểm tra log sai mật khẩu đăng nhập
- Kiểm tra nỗ lực đăng nhập SSH từ những tài khoản không tồn tại hoặc không được phép remote, sử dụng câu lệnh: cat /var/log/secure | grep 'Invalid user' và cat /var/log/secure | grep 'user NOT in sudoers'.
Quản trị viên có thể kết hợp việc giám sát thông qua tệp ghi log và sử dụng Audit Report để thống kê chi tiết về các sự kiện liên quan trong hệ thống, ví dụ như số lần thay đổi cấu hình, thay đổi tài khoản và vai trò hay xác thực không thành công (Hình 8),.. Đây là những thông tin quan trọng cần được kiểm soát chặt chẽ. Thông thường, công cụ này sẽ được cài đặt mặc định trên các hệ thống Linux. Nếu chưa được cài đặt, sử dụng câu lệnh: yum -y install audit để cài đặt, sau đó sử dụng aureport để hiển thị thống kê.
Hình 8. Giám sát đăng nhập thông qua công cụ Audit Report
Cổng mặc định thông dụng là 22, do đó để đảm bảo an toàn SSH trên hệ thống, cần phải thay đổi thành một cổng khác. Bên cạnh đó, mặc định IP lắng nghe ở địa chỉ 0.0.0.0 (tức là mọi dải địa chỉ IP). Quản trị viên cũng cần phải thay đổi cấu hình này để xác định những địa chỉ IP mà SSH sẽ lắng nghe kết nối đến. Vào tệp “vi/ etc/ssh/sshd_config” và chỉnh sửa các tham số Port và ListenAddress (Hình 9).
Hình 9. Thay đổi cổng và IP SSH mặc định
Ngoài việc cấu hình các thông số đã được giới thiệu, để chủ động trong việc bảo mật OpenSSH được hiệu quả hơn, quản trị viên nên định kỳ kiểm tra phiên bản của OpenSSH thường xuyên để tránh nguy cơ bị khai thác các lỗ hổng bảo mật (có thể tồn tại) ở phiên bản cũ.
Sự thông dụng của OpenSSH trên Linux và những tính năng của nó giúp cho quản trị viên thực hiện các thao tác quản lý hệ thống được thuận tiện và dễ dàng hơn. Tuy nhiên, nếu không được cấu hình cẩn trọng có thể dẫn đến những nguy cơ bị xâm nhập thông qua SSH. Chính vì vậy, chủ động thiết lập chặt chẽ một số trường thông tin nhạy cảm dễ bị tấn công là hành động cần thiết nhằm tăng cường bảo mật SSH, từ đó đảm bảo hệ thống được an toàn hơn.
Hồng Đạt
08:27 | 22/01/2016
10:00 | 10/04/2024
13:00 | 20/09/2023
10:00 | 08/05/2024
15:00 | 13/10/2023
08:00 | 02/01/2025
Mạng Internet ngày nay đã trở thành một phần không thể thiếu trong cuộc sống của chúng ta, đặc biệt là trong thời đại số hóa. Tuy nhiên, cùng với sự phát triển của công nghệ và Internet, nguy cơ đánh cắp thông tin cá nhân, tài khoản và các dữ liệu quan trọng khác trên mạng cũng ngày càng gia tăng. Để giải quyết vấn đề này, chứng chỉ SSL (Secure Sockets Layer) đã được phát triển và sử dụng rộng rãi để bảo vệ thông tin truyền tải trên Internet. Bài viết sẽ trình bày về vai trò của chứng chỉ SSL trong bảo mật website và một số loại chứng chỉ SSL thông dụng.
09:00 | 13/06/2024
Trong phạm vi của bài báo này, chúng tôi sẽ trình bày những nội dung xoay quanh các vấn đề về sự tác động của trí tuệ nhân tạo (AI) cùng với hậu quả khi chúng ta tin tưởng tuyệt đối vào sức mạnh mà nó mang tới. Cũng như chúng tôi đề xuất sự cần thiết của việc xây dựng và hoàn thiện các chính sách bảo vệ các nội dung do AI tạo ra tuân thủ pháp luật và bảo vệ người dùng.
10:00 | 10/04/2024
Hiện nay, số lượng các cuộc tấn công mạng nhắm đến hệ điều hành Linux đang ngày càng gia tăng cả về số lượng lẫn mức độ tinh vi, đặc biệt là các sự cố liên quan đến việc lộ lọt mật khẩu. Thông thường, khi tạo tài khoản mới trên Linux, người dùng có thể sử dụng những mật khẩu tùy ý, kể cả những mật khẩu yếu, điều này có thể gây ra nhiều rủi ro bảo mật tiềm ẩn trong hệ thống mạng, các tác nhân đe dọa sẽ dễ dàng tấn công và xâm phạm tài khoản hơn. Do đó, cần phải thực thi các chính sách sử dụng mật khẩu đủ mạnh để bảo vệ tài khoản người dùng tránh bị tấn công. Trong bài viết này sẽ gửi đến độc giả hướng dẫn thiết lập cấu hình mật khẩu an toàn trên Linux với nền tảng Centos 7.
09:00 | 04/04/2024
Mạng riêng ảo (VPN) xác thực và mã hóa lưu lượng truy cập mạng để bảo vệ tính bí mật và quyền riêng tư của người dùng ngày càng được sử dụng phổ biến trong cả môi trường cá nhân và doanh nghiệp. Do đó, tính bảo mật của VPN luôn là chủ đề nghiên cứu nhận được nhiều sự quan tâm. Bài báo sẽ trình bày hai tấn công mới khiến máy khách VPN rò rỉ lưu lượng truy cập bên ngoài đường hầm VPN được bảo vệ thông qua khai thác lỗ hổng TunnelCrack. Hai tấn công này đã được xác nhận là có khả năng ảnh hưởng đến hầu hết các VPN của người dùng. Ngoài ra, nhóm tác giả cũng đưa ra các biện pháp đối phó để giảm thiểu các cuộc tấn công lợi dụng lỗ hổng này trong thực tế.
Trong bối cảnh chuyển đổi số và ứng dụng rộng rãi của công nghệ thông tin (CNTT) thì xu hướng kết nối liên mạng để chia sẻ cơ sở dữ liệu (CSDL) trở nên tất yếu. Các hệ thống công nghệ vận hành (Operational Technology - OT) cũng không nằm ngoài xu hướng này, quá trình đó được gọi là Hội tụ IT/OT. Do vậy, nhu cầu truyền dữ liệu một chiều giữa các mạng độc lập ngày càng tăng để phục vụ cho mục đích khai thác dữ liệu. Bài viết này giới thiệu một giải pháp mới dựa trên công nghệ vi mạch tích hợp khả trình (Field-Programmable Gate Array - FPGA), sử dụng cơ chế xử lý đa luồng tốc độ cao, giúp duy trì băng thông hệ thống mà không gây ra tình trạng treo hoặc nghẽn mạng, cho phép các kết nối yêu cầu thời gian thực. Đồng thời, bài viết cũng sẽ trình bày giải pháp giả lập giao thức TCP/IP hỗ trợ cho các giao thức truyền thông trong các hệ thống mạng điều khiển IT/OT.
09:00 | 06/01/2025
Xe tự hành (Autonomous Vehicles- AV) là một bước tiến lớn trong lĩnh vực công nghệ ô tô đang phát triển nhanh chóng hiện nay. Những chiếc xe tự hành được trang bị công nghệ tiên tiến, mang đến cải thiện hiệu quả về mặt an toàn và tiện lợi cho người dùng. Tuy nhiên, giống như bất kỳ tiến bộ công nghệ nào, AV cũng tạo ra những lo ngại về các mối đe dọa mới, đặc biệt là trong lĩnh vực an ninh mạng. Việc hiểu được những mối nguy hiểm này là rất quan trọng đối với cả chủ xe và những người đam mê công nghệ, vì chúng không chỉ ảnh hưởng đến sự an toàn của cá nhân mà còn ảnh hưởng đến sự an toàn của cộng đồng.
10:00 | 30/12/2024