Alpine vá lỗi đăng nhập SSH: cài gói mới chưa thay tiến trình đang chạy
Bản vá ngày 5/11 xử lý lỗi bỏ qua xác thực mật khẩu ở một số cấu hình Alpine. Cần đối chiếu đúng nhánh gói và xác nhận dịch vụ đã chạy bản mới.
Alpine Linux phát hành bản vá ngày 5/11/2026 cho lỗi có thể cho phép bỏ qua xác thực mật khẩu của dịch vụ SSH trong một số cấu hình. Với máy chủ bị ảnh hưởng, việc cập nhật gói mới chỉ thay tệp trên đĩa. Alpine yêu cầu khởi động lại dịch vụ để tiến trình đang nhận kết nối thực sự chuyển sang bản đã sửa.
Lỗi ở máy nhận kết nối, không phải mọi nơi có lệnh SSH
SSH là giao thức quản trị từ xa. Chương trình chạy trên máy của người quản trị gửi yêu cầu kết nối; chương trình nền trên máy chủ, thường là sshd, tiếp nhận và kiểm tra quyền đăng nhập. Hai vai trò có thể tồn tại trên cùng một máy, nhưng cảnh báo này nhắm vào phía tiếp nhận kết nối. Có lệnh ssh trong một môi trường không đồng nghĩa môi trường đó đang nhận phiên đăng nhập từ xa.
OpenSSH mô tả bản 10.6p2 là biện pháp chặn lỗi trên các hệ Linux dùng thư viện C musl khi không dùng PAM, tức cơ chế cho phép ứng dụng giao việc xác thực cho các mô-đun hệ thống. Nhóm phát triển cho rằng nguyên nhân gốc nằm ngoài sshd nhưng có thể ngăn đường khai thác ngay trong dịch vụ. Thông báo không nói rằng giao thức SSH hay mã hóa đường truyền đã bị phá.
Alpine nêu thêm các điều kiện về gói máy chủ, cấu hình xác thực mật khẩu và trạng thái tài khoản. Do đó, cần kiểm tra cả cấu hình hiệu lực và cách người dùng được cấp quyền, thay vì suy đoán từ tên bản phân phối. Một vùng chứa Alpine chỉ chạy ứng dụng, không chạy sshd, không có điểm vào thuộc cảnh báo này bên trong vùng chứa. Máy chủ chạy vùng chứa vẫn cần được kiểm tra riêng theo hệ điều hành và dịch vụ của chính nó.
Vì sao một dấu hiệu lỗi lại có thể bị hiểu nhầm?
Thông thường, hệ thống không cần lưu mật khẩu ở dạng đọc được. Khi người dùng nhập mật khẩu, phần mềm tính một giá trị băm rồi đối chiếu với giá trị đã lưu. Nếu phép tính báo lỗi, yêu cầu phải bị từ chối. Vấn đề nảy sinh khi dấu hiệu báo lỗi có thể trùng với ký hiệu được dùng trong trường mật khẩu của một số tài khoản không đặt mật khẩu.
Thông báo Alpine mô tả sự trùng lặp này giữa kết quả từ hàm của thư viện C và dữ liệu tài khoản. Nếu quá trình kiểm tra chỉ nhìn vào sự bằng nhau của hai giá trị mà không nhận ra một giá trị đang báo lỗi, nó có thể đưa ra quyết định sai. Bài học kỹ thuật ở đây là kết quả của phép tính và trạng thái thành công của phép tính phải được kiểm tra riêng.
Tài khoản chỉ dùng khóa SSH thường được tạo với mục tiêu không cho đăng nhập bằng mật khẩu. Nhưng ý định của người quản trị, trạng thái lưu trong hồ sơ tài khoản và chính sách mà dịch vụ thực thi là ba lớp khác nhau. Đây là lý do Alpine vẫn yêu cầu xem lại cấu hình xác thực ngay cả ở nơi nhóm vận hành tin rằng nhân viên hằng ngày chỉ sử dụng khóa.
Tìm bản vá theo nhánh Alpine đang vận hành
Phiên bản 10.6p2 là số phát hành từ dự án OpenSSH. Alpine cung cấp bản sửa cho các nhánh của mình, trong đó có các gói lấy bản vá đưa ngược về dòng phiên bản cũ. Ví dụ, bảng của Alpine ghi bản sửa cho nhánh 3.24 là 10.3_p1-r2, trong khi nhánh edge có 10.6_p2-r0. Đòi mọi máy phải hiển thị số 10.6p2 sẽ bỏ qua cách phân phối này.
Người vận hành nên đối chiếu phiên bản gói trên máy với đúng hàng trong thông báo Alpine. Với một cụm nhiều máy, đối chiếu bằng danh sách tài sản đáng tin cậy hơn kiểm tra một máy rồi suy ra cả cụm. Hai máy được dựng từ cùng ảnh ban đầu có thể đang chạy phiên bản khác nhau nếu lịch cập nhật hoặc lần khởi động lại không giống nhau.
Alpine còn phát hành các bản hệ điều hành ổn định chứa gói đã sửa. Cập nhật ảnh dùng để tạo máy mới giúp tránh đưa cấu hình cũ trở lại khi mở rộng cụm. Tuy vậy, sửa ảnh mẫu và sửa các máy đã chạy là hai việc riêng. Chỉ xây lại ảnh không bảo đảm những máy hiện có đã nhận bản cập nhật.
Kiểm tra sau cập nhật và xử lý máy từng phơi ra Internet
Tiến trình đang chạy thường tiếp tục dùng mã mà nó đã nạp trước lúc thay tệp trên đĩa. Vì thế, thấy trình quản lý gói báo đã cập nhật chưa đủ để đóng việc xử lý. Cần xác nhận dịch vụ đã khởi động lại thành công và thử một kết nối quản trị mới. Nên giữ đường truy cập đang hoạt động trong lúc thử để tránh mất quyền quản trị vì một lỗi cấu hình không liên quan.
Nếu chưa thể cập nhật, Alpine hướng dẫn tắt xác thực mật khẩu và khởi động lại dịch vụ. Biện pháp này cần được thực hiện sau khi xác nhận phương thức đăng nhập bằng khóa đang hoạt động; chỉ sửa tệp mà không kiểm tra cấu hình hiệu lực có thể khiến chính sách áp dụng khác dự kiến. Hướng dẫn của bản phân phối là nơi phù hợp để đối chiếu cách thực hiện theo phiên bản đang dùng.
Cuối cùng, một bản vá ngăn đường vào về sau nhưng không tự xác định máy đã bị truy cập trước đó hay chưa. Với máy từng mở dịch vụ ra Internet và đáp ứng điều kiện ảnh hưởng, Alpine khuyến nghị rà nhật ký đăng nhập và những thay đổi bất thường liên quan đến tài khoản hoặc khóa. Không thấy dấu hiệu trong nhật ký còn giữ không tương đương chứng minh không có sự cố. Hai kết quả nên được ghi riêng: dịch vụ đã chạy bản sửa và phạm vi điều tra đối với thời gian trước khi vá.
Nguồn: Alpine Linux, cảnh báo và bảng phiên bản gói; Alpine Linux, thông báo các bản ổn định; OpenSSH, ghi chú phát hành 10.6p2.
Ảnh minh họa công cụ tạo khóa của OpenSSH, không phải màn hình của máy Alpine bị ảnh hưởng. Der Messer / OpenSSH Team, CC BY-SA 3.0; dùng nguyên bản.