Là quan niệm sai lầm phổ biến rằng Linux không có virus. Thực tế: chúng tồn tại. Dù có thể kiểm tra file chương trình tìm file bị nhiễm, có thể mất tháng trước khi nhận ra hệ thống Linux bị xâm nhập.
Niềm tin là thứ mong manh, không nên trao đi dễ dàng. Chỉ vì thứ gì được cung cấp trên internet không nghĩa là bạn tin được. Bạn cần bước bảo vệ OS và bản thân.
Rủi ro bảo mật do chủ quan từ đánh cắp thông tin và virus, đến truy cập trái phép máy Linux. Do đó bài viết liệt kê cách an toàn tải phần mềm trên Linux.
1. Kiểm Tra Giá Trị Hash
Giá trị hash (checksum) là chuỗi ký tự alphanumeric tạo ra khi dữ liệu qua hàm mật mã. Nó đóng vai trò chữ ký số cho file.
Đảm bảo không tải file hỏng, nhiều trang open-source cung cấp hash kỳ vọng sau khi tải xong. Ví dụ.
Giả sử tải Tomcat 10, web server phổ biến. Giá trị hash phiên bản 10.0.6:
3d39b086b6fec86e354aa4837b1b55e6c16bfd5ec985a82a5dd71f928e3fab5370b2964a
5a1098cfe05ca63d031f198773b18b1f8c7c6cdee6c90aa0644fb2f2 *apache-tomcat-10.0.6.tar.gz
Phần *apache-tomcat-10.0.6.tar.gz chỉ là tên file. Giá trị từ 3d39...2f2 là hash.
Để lấy giá trị, vào thư mục chứa file archive tải và chạy:
sha512sum apache-tomcat-10.0.6.tar.gz
Bạn nên có giá trị hash trên. Nếu khác, tải bị hỏng, xóa ngay.
Ví dụ này dùng hàm hash sha512. Vì Apache Tomcat foundation dùng hàm này bảo vệ tính toàn vẹn tải.
Trang khác có thể dùng hàm hash khác như sha256, sha384 phổ biến.
Nếu trang dùng hàm hash khác, chỉ cần thay tên lệnh bằng hàm hash:
sha256sum filename-of-download
sha384sum filename-of-download
Cũng lưu ý file ví dụ là file TAR (archive). Nhưng nếu tải file binary? Tin tốt: trên Linux, kết quả hash giống nhau bất kể loại file.
Chế độ mặc định hàm hash trên Linux là text. Để chuyển chế độ binary, dùng tùy chọn -b:
sha256sum -b filename
2. Dùng Trang Web An Toàn
Tải từ trang an toàn giảm rủi ro malware. Quy tắc chung: luôn dùng trang tải chính thức của phần mềm muốn tải. Nếu không tìm thấy trang chính thức, cân nhắc trang uy tín.
Trang tải như FileHorse và SourceForge là ví dụ trang uy tín. Chúng tồn tại lâu và giành được niềm tin người dùng.
3. Biên Dịch Mã Nguồn Lên Mình
Một trong lý do lớn cộng đồng open-source tồn tại là bạn không phải tin cậy công ty phần mềm lớn và hy vọng họ không làm gì trái phép trên PC.
Khi tải file binary, bạn trao quyền cho người biên dịch mã. Nhưng nếu có mã nguồn, bạn lấy quyền kiểm soát tay.
Với open-source, bạn độc lập xác minh phần mềm làm đúng như tác giả nói. Chỉ nhược điểm: cần kỹ năng lập trình trên trung bình. Cũng cần am hiểu lĩnh vực.
Bạn cũng quyết định chiến lược chỉ kiểm tra file quan trọng.
Ví dụ, bạn có mã nguồn C clone từ GitHub. Dưới là cách biên dịch:
Chạy lệnh cài gói build-essential. Gói chứa công cụ quan trọng build phần mềm trên Linux.
sudo apt-get install build-essential
Biên dịch mã C dùng compiler gcc.
gcc program-name.c -o program-name
Sau biên dịch, chạy chương trình:
./program-name
4. Dùng Trình Quản Lý Gói Chính Thức
Cách dễ nhất cài, cập nhật, gỡ phần mềm là dùng trình quản lý gói. Có một số như pacman, dpkg, DNF, APT. Trình quản lý gói làm việc trực tiếp với kho phần mềm chính thức và app store.
Trình quản lý gói làm nhiều việc nặng nhọc. Chúng xử lý hoạt động tiêu chuẩn như quản lý phụ thuộc phần mềm cần, đảm bảo tính toàn vẹn và xác thực tải, quản lý phiên bản.
Điều tốt khác: distro thường ship kèm trình quản lý gói cài sẵn. Ví dụ Debian 10 có APT, hệ thống Arch-based có pacman.
5. Nghiên Cứu Cá Nhân
Thế giới phần mềm luôn thay đổi và cập nhật xu hướng bảo mật là khía cạnh then chốt bảo vệ bản thân. Có vài tùy chọn cài đặt cho السيناريos khác nhau. Ví dụ: cài phần mềm trên máy ảo hoặc dùng container hóa app.
Container hóa app là xu hướng thú vị vì đảm bảo app chạy giống nhau môi trường thực thi khác nhau.
Khả năng cô lập thực thi lõi phần mềm và phụ thuộc từ hạ tầng bên dưới cung cấp bảo mật chưa từng có. Ví dụ: chỉ cần xác minh bảo mật phụ thuộc một lần và mong đợi điều này lan tỏa qua môi trường khác.
Cũng là thói quen tốt xem review phần mềm và theo dõi thảo luận GitHub. Review cho hình dung tốt điều kỳ vọng sau tải, hành vi bất ngờ user quan sát, và khuyến nghị.
Thảo luận GitHub cũng làm bạn nhận biện pháp chủ động sau/khi cài phần mềm. Bạn cũng nhận được nhiều cân nhắc bảo mật không có trong tài liệu chính thức.
Bạn cũng chú ý fork với nhiều contributor trên GitHub. Có thể thay đổi giao thức diễn ra, và không kịp cập nhật sẽ làm rủi ro bảo mật.
Khuyến Nghị Và Thói Quen Tốt
Luôn thói quen tốt cập nhật gói và danh sách kho hệ thống trước khi tải phần mềm lớn. Mọi trình quản lý gói, pacman trên Arch Linux ví dụ, cung cấp tùy chọn cài, cập nhật, gỡ gói.
Sau khi đảm bảo gói cài đã cập nhật, bạn tiến hành tải phần mềm cần. Bất cứ khi nào có thể, nếu tải gói qua trình quản lý gói, hãy làm. Đây là cách dễ dàng và an toàn nhất cài đặt và cập nhật phần mềm trên Linux.