Bug regreSSHion trên OpenSSH
SSH, viết tắt của Secure Shell, là một giao thức mạng được sử dụng để thiết lập kết nối mạng an toàn giữa các thiết bị, cung cấp một cách để truy cập và quản lý từ xa các máy tính và máy chủ một cách bảo mật và OpenSSH là một tiện ích được sử dụng phổ biến để hỗ trợ điều đó. Tuy nhiên, mới đây, một bug nghiêm trọng được phát hiện trong OpenSSH, có thể dùng để trao toàn bộ của Root Access cho các kẻ tấn công từ xa mà không cần phải có sự can thiệp của người dùng
Chi tiết về Bug
Mã lỗi: CVE-2024-6387
Đối tượng ảnh hưởng:
- OpenSSH 8.5p1 => 9.6p1
Mô tả:
Bug này xuất phát từ việc OpenSSH xử lý sai trong việc quản lý các tín hiệu (signal). Kẻ tấn công có thể tận dụng Bug này để vượt qua việc xác thực để toàn quyền truy cập hệ thống mà không cần các thông tin bảo mật
Thiệt hại
Hiện chưa có báo cáo công khai nào về hoạt động khai thác CVE-2024-6387, nhưng do tính nghiêm trọng của Bug này, đây là một rủi ro mà các quản trị viên cần lưu ý.
Biện pháp phòng chống và khắc phục
Để tránh rủi ro về an ninh mạng, người dùng cần cập nhật bản vá cho OpenSSH đến phiên bản mới nhất 9.6p1 (9.8p1 sắp ra mắt) theo hướng dẫn sau:
Để kiểm tra phiên bản OpenSSH hiện tại, ta sử dụng lệnh sau:
ssh -V
Nếu phiên bản hiện tại chưa phải mới nhất, ta cập nhật bằng lệnh sau và đợi quá trình cài đặt hoàn tất:
sudo apt update
sudo apt upgrade -y
sudo apt install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev \ libsystemd-dev autoconf automake libtool
sudo apt install openssh-server -y
Nếu phiên bản Linux/Unix hiện tại chưa update repository mới nhất nên không cài đặt được OpenSSH 9.8p1, ta có thể cài thủ công như sau
Ta sẽ tải mã nguồn của phiên bản 9.8p1:
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
Sau đó ta sẽ giải nén và vào trong thư mục:
tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1
Tiếp theo, ta tạo môi trường để compile source code:
sudo apt install make
./configure --with-md5-passwords --with-pam
make
Giờ ta sẽ install:
sudo make install
Tiếp đó ta sẽ cần phải khởi động lại OpenSSH
sudo systemctl restart ssh
Tiếp theo, ta cần phải chỉnh sửa cấu hình OpenSSH như sau rồi lưu lại:
sudo vim etc/ssh/sshd_config
Sửa: LoginGraceTime 0
Sau đó, ta cần phải khởi động lại OpenSSH để các thay đổi có hiệu lực:
sudo systemctl restart ssh
Để kiểm tra xem OpenSSH khởi động lại có hoạt động bình thường không, ta dùng lệnh sau:
sudo systemctl status ssh
Nếu status là active thì tức là OpenSSH đang hoạt động bình thường.
Đây là phương pháp khắc phục tạm thời trong thời gian đợi bản vá chính thức từ Ubuntu trong tương lai.