
Chia sẻ, hỗ trợ cài đặt, sử dụng phần mềm tự do nguồn mở. Blog chính http://zxc232.tk
8/28/09
OpenDiscovery- bản Linux dành cho sinh học phân tử
Những ai hay chống Linux nhất?
Chống lại Linux mạnh nhất, kiên quyết nhất lại chính là dân tin học. Các giám đốc công ty tin học lớn nhỏ, các "chuyên gia" tin học kỳ cựu, các "cử nhân" tin học vất vả mãi mới tốt nghiệp được đều nhìn Linux với con mắt đầy căm thù, hằn học và sợ hãi.
Vì Linux đe dọa cái cần câu cơm của họ! Điều đó hoàn toàn có thể hiểu và thông cảm được.
Và sự chống đối của họ thường có hiệu quả cao đối với những người ngoại đạo do cái "mác" mà họ có và những lời lẽ "uyên bác" đầy những từ ngữ kỹ thuật. Tôi đã từng được đọc những bản tư vấn chống lại opensource của các "chuyên gia" VNPT thuộc loại này, từng được nhận những cái bĩu môi khinh bỉ kèm theo những lời vàng ngọc của các cây đại thụ trong hội Tin học đất nước và thủ đô!. Những chuyên gia của văn phòng đại diện Microsoft thì phản ứng khá hơn nhưng cũng là nông nổi.
Tất cả đều có một điểm chung là không ai hiểu gì về Linux, opensource cả! Trước nguy cơ đe dọa, họ vội vã thu góp các thông tin thậm chí chỉ là nghe thoáng qua không thèm hỏi lại cụ Gúc nữa để tung ra phản công.
Và những lý lẽ của họ thật khôi hài!
Trong hàng ngũ những người sử dụng, chống Linux hăng nhất là những người trước đây bắt buộc phải học Windows, trầy trật mãi mới tạm biết sử dụng, tiếng Anh cũng không thạo. Bây giờ lại phải chuyển qua Linux thì thật kinh hoàng! Thuộc loại này thường là lớp cán bộ già và cũng có cả cán bộ trẻ nhưng IQ thấp (chú ý là tôi không vơ đũa cả nắm, "thường là" thôi nhé).
Cán bộ già mà chống thì thật đáng sợ vì thường có chức, có quyền, học hàm, học vị đầy người, ăn nói có gang có thép. Những ý kiến quý báu như thế này : "Kubuntu không dùng giao dịch quốc tế được", "Phần mềm nguồn mở rất kém an toàn, chẳng có ai chịu trách nhiệm cả", "Thì giờ đi học Linux để làm những cái cần thiết hơn" v.v. và v.v không phải là hiếm. Đụng phải đối tượng này, bạn là nhân viên dưới quyền có thể thân bại, danh liệt.
Trước đây dùng Windows, nếu gặp lỗi hoặc không biết làm thì tự biết là mình kém không dám đổ cho ai. Nhưng nếu dùng Linux, bất kỳ trục trặc lớn nhỏ là đổ hết lên đầu Linux, khi kiểm tra ra mới biết là không thạo sử dụng máy tính nói chung, nếu dùng Windows thì cũng trục trặc như thế. Đường Internet đứt, không vào được mạng, tại Ubuntu; bảng tính sai kết quả do chính công thức sai, cũng tại Ubuntu nốt. Thậm chí máy in chưa bật, không in ra được cũng tại Ubuntu luôn cho tiện!
Có những cán bộ già vẫn mang đầy hoài niệm về thời trẻ oai hùng là học sinh chuyên toán mà bây giờ cũng nhìn Linux đầy ngần ngại. Chẳng ai chống được tuổi tác và ông Trời!
Khác với lớp người trên, những người này chống không phải vì sợ mất cần câu cơm mà xuất phát từ bản năng "tiết kiệm năng lượng" hay nói một cách thô thiển là bản năng "lười" của con người. Đối với một số người là ám ảnh của ký ức đầy gian khổ của thời buộc phải học Windows nữa. Đang yên ổn, chẳng ai muốn thay đổi.
Nhưng các cụ đã dạy rằng "Biết thì thưa thốt, không biết thì dựa cột mà nghe" mà nhiều người không chịu theo.
Nhưng cũng có một phần là do thiếu thông tin.
Chính bản thân tôi ban đầu lao vào Linux là do "ham của lạ". Chỉ sau này tìm hiểu kỹ hơn mới giật mình là trước đây mình ngu quá. Ngay bộ ngoại giao Mỹ mà còn cho rằng "Dùng Firefox tốn kém lắm" thì còn trách ai được. Trên các phương tiện truyền thông chỉ lơ thơ vài ba tin. Ngay cái site "Phần mềm tự do nguồn mở" của bộ Khoa học Công nghệ có nội dung thật đáng thất vọng.
Lớp người tiếp thu nhanh nhất là lớp trẻ có chỉ số IQ khá, tư duy thoáng và cởi mở, không ngại những cái mới nói chung (trừ loại có IQ thấp, lười và mua bằng ra nhé). Để tự tìm hiểu và sử dụng được Linux cho những nhu cầu thông thường, lớp người này thường chỉ cần mất vài ngày. Và đấy là lực lượng bạn nên dựa vào nếu muốn tuyên truyền phổ biến về Linux.
Chia sẻ những kinh nghiệm trên để bạn tránh, không phải để bi quan. Nếu như gần đây chính Microsoft còn phải công khai nhìn nhận sự đe dọa của Linux thì không ai có thể cản bánh xe lịch sử được. Bạn không phải Đông Ki sốt mà là Kim Ngọc của một trào lưu mới.
8/26/09
Mở rộng "kinh doanh" blog, khỏi lo mất blog! (cập nhật 23/9/09)
- Ghi lại những cảm nhận, thông tin có được trong những chuyến đi khám phá vào vùng đất mới "Phần mềm nguồn mở" mà "từ bé đến giờ" chưa hề biết khi vẫn còn quanh quẩn trong lũy tre làng Windows.
- Chia sẻ, rủ rê các bạn cùng làng mạnh dạn đến những chân trời mới.
Khi công cuộc "kinh doanh" trên đã ổn định và có hướng phát đạt, điều đương nhiên là nghĩ cách mở rộng (và khỏi lo mất blog khi một nhà cung cấp dở chứng như Yahoo). Tôi đã làm như sau:
- Dùng chức năng "Xuất ra - Export" trong bảng điều khiển của blog Wordpress để xuất toàn bộ nội dung blog thành một file xml. Đây cũng là một bản sao lưu.
- Vào trang này để convert file xml nói trên thành một file tương thích với Blogger. Vào trang Blogger tạo một blog mới http://zxc232.blogspot.com. Nhấn vào Import Blog Tool để nhập file vừa convert. Khi nhập xong, toàn bộ các bài viết, bình luận, chuyên mục, ... từ Wordpress sẽ được chuyển sang Blogger. Ta có blog mới giống như blog cũ.
- Vào trang multiply.com tạo tiếp một blog mới nữa (). Nhấn vào Post - Blog, màn hình để viết post xuất hiện. Dưới đáy màn hình này, chọn Import Blogs - Blogger để nhập toàn bộ nội dung Blogger vừa lập sang Multiply.
- Sau ba bước trên ta được ba blog nội dung giống nhau về các post. Blogger nhập được các comment của Wordpress, Multiply không nhập được comment của Blogger. Khi import xong cũng nên duyệt qua vì một số định dạng của post có thể bị sai lệch.
Một số dịch vụ blog nổi tiếng khác như Windows Live, Yahoo! 360plus, LiveJournal thì không có công cụ để chuyển blog. Tuy nhiên vẫn có thể dùng được bằng cách treo blast hay thông báo là các bài cũ xem ở Wordpress, trên các blog đó chỉ post bài mới. Riêng trang profile của Windows Live, mục Web activities cho phép tự động cập nhật link các post của Wordpress.
Để đăng một post mới, tất cả các blog trên đều có tính năng gửi post qua email. (trừ Yahoo). Mỗi blog trên cho phép tạo một địa chỉ email riêng để nhận post (và dĩ nhiên là phải giữ bí mật địa chỉ đó nếu bạn không muốn người khác post linh tinh lên blog của bạn). Trong chương trình soạn mail thường dùng (Gmail, Yahoo Mail, Outlook, Thunderbird, ...) tạo một nhóm nhận thư với tất cả các địa chỉ trên. Soạn post mới như một email rồi gửi đăng cho cả nhóm.
Nhưng gửi post qua email có cái dở là không xếp chuyên mục (categories) và gán tag được. Phải vào từng blog sửa lại bằng tay.
Các blog đều có chức năng thông báo comment mới qua email. Wordpress còn cho phép trả lời comment bằng email (các blog khác thì chưa kip xem có hay không). Khai một địa chỉ email chung là theo dõi được comment trên tất cả các blog.
Multiply có chức năng cross-posting với Blogger và copy post sang một số blog khác nhưng hoạt động có vẻ không tốt lắm.
Trong các blog nói trên, Wordpress vẫn có vẻ nhiều tính năng nhất và lại là phần mềm nguồn mở. Bảng điều khiển của nó ban đầu hơi ngợp nhưng khi quen rồi thì rất tiện. Multiply tuy được nhiều blogger của Yahoo cũ dùng nhưng các tính năng quản lý không bằng Wordpress.
Thực ra làm như trên cũng để nghịch nữa. Chẳng cần thiết phải quảng cáo blog cầu kỳ đến thế. Tuy nhiên cách làm trên (tối thiểu với hai blog) còn có hai điểm hay quan trọng là:
- Bạn luôn có mặt trên Internet, dịch vụ blog này trục trặc thì có dịch vụ khác.
- Các post của bạn có nhiều bản ở nhiều nơi (trong email và trên các blog). Khỏi sợ mất hay lo sao lưu như khi chỉ có một blog.
Mới thử sơ sơ thì ba blog Wordpress, Blogger và Multiply có vẻ đáp ứng tốt nhất với cách làm trên. Những cái còn lại không trục trặc kiểu này thì kiểu khác.
Cập nhật 23/9/2009: qua một thời gian thử thì thấy:
- Khi gửi post bằng Gmail tới Wordpress, Windows Live, Blogger và Multiply, ba blog đầu nhận tốt, giữ nguyên định dạng đã format trên Gmail. Riêng Multiply rất dở: xuống dòng linh tinh, thêm nhiều dòng trắng phải sửa lại rất mệt.
- Nếu trong post có ảnh đã chèn khi soạn trong Gmail, lúc gửi sang blog hơi chập chờn, có lúc nhận tốt có lúc không.
- Trong các dịch vụ email, trình soạn thảo mail của Gmail và Zoho (zoho.com) cho phép chèn ảnh vào mail. Yahoo Mail, Hotmail, Mail.com không chèn được ảnh. Riêng Zoho còn cho phép chèn cả bảng.
- Giữa Multiply và Blogger có chế độ liên thông với nhau (cross-posting). Nếu post lên Blogger thì sau vài tiếng, post cũng xuất hiện trên Multiply. Chiều ngược lại (Multiply -> Blogger) chưa thử. Như vậy nếu tối thiểu có hai blog Blogger và Multiply là ổn.
- Wordpress, Multiply và Blogger đều gửi được thông báo có comment về Gmail. Wordpres còn có thể trả lời comment bằng Gmail. Windows Live chỉ cho phép gửi về Hotmail.
8/24/09
Lý do số 1 chuyển sang OpenSource là để cải thiện an ninh, bảo mật
Thursday Apr 16, 2009
Lý do số 1 chuyển sang phần mềm nguồn mở là để cải thiện an ninh (The No. 1 Reason to Move to Open Source is to IMPROVE Security)
Nếu bạn cũng như tôi đã làm việc lâu năm trong lĩnh vực mã hóa và an ninh mạng thì sẽ thấy rõ ràng rằng các phần mềm mã nguồn mở thương mại an toàn hơn. Thực tế cho thấy cuối những năm 90 nhiều hệ thống tác nghiệp của các cơ quan tình báo và các hệ thống chiến thuật của bộ Quốc phòng Mỹ chuyển sang dùng phần mềm nguồn mở CHỈ ĐỂ CẢI THIỆN AN NINH. Hiện nay, đại đa số các hệ thống quan trọng của các cơ quan tình báo (những người quan tâm nhất đến an ninh mạng - Cyber security) đều chạy trên các hệ điều hành nguồn mở như Solaris và Linux. Điều đó cũng đúng với các cơ quan khác như cục Hàng không Liên bang (FAA - Federal Aviation Administration), cục Thuế (Internal Revenue Service -IRS) và nhiều cơ quan khác quan tâm về an ninh mạng.
Dưới đây tôi sẽ dẫn bạn đi qua một vài lý do tại sao phần mềm nguồn mở thương mại lại an toàn hơn, rồi sẽ cung cấp cho bạn một vài số liệu cụ thể.
Trước tiên cần nhìn vào dây chuyền xây dựng phần mềm. Thực tế hiện nay, tất cả các phần mềm đều được viết trên toàn cầu. Bạn phải chấp nhận rằng phần mềm của Microsoft, Oracle và IBM được lập trình tại Ấn độ, Trung quốc và Nga. Nếu phần mềm có nguồn mở thì không có gì có thể giấu ẩn bên trong mã. Nếu con ngựa thành Troa được làm bằng thủy tinh thì những người dân thành Troa có kéo nó vào bên trong thành không? KHÔNG. Các chính phủ minh bạch (open gvernments) thì các công dân của họ an toàn hơn và phần mềm nguồn mở cũng an toàn hơn cho bất kỳ ai dùng chúng. Sự giám sát công cộng là một điều rất hay.
Giả sử bạn đang xếp hàng chờ qua cổng an ninh ở sân bay, trước bạn là một người mang một cái cặp "nguồn đóng" khóa kín. Anh ta nói với nhân viên an ninh sân bay rằng đừng lo, hãy tin vào anh ta, mọi thứ trong cặp đã được kiểm tra kỹ rồi. Bạn cảm thấy thế nào? Tốt hơn hết người đứng trước bạn là người mang cặp "nguồn mở" vui vẻ mời nhân viên an ninh kiểm tra mọi thứ trong đó vì anh ta không có gì phải che dấu.
Bạn sẽ cảm thấy an toàn hơn khi đi máy bay với người nào trong hai người nói trên? Vậy thì tại sao bạn lại phải tin một người bán phần mềm chất vào máy chủ của bạn những phần mềm cực kỳ quan trọng mà chẳng ai biết có gì trong đó trừ chính công ty bán phần mềm hoặc một nhóm nhà lập trình? Đôi khi tôi cũng có nghe những người bán phần mềm nguồn đóng nói rằng "nhưng ai cũng có thể nhìn thấy cơ chế bảo mật của phần mềm nguồn mở hoạt động như thế nào". Đó lại chính là điều làm cho phần mềm nguồn mở mạnh hơn phần mềm nguồn đóng.
Các nhà lập trình nguồn đóng chỉ biết nói: "Hãy tin vào chúng tôi". Các nhà lập trình nguồn mở thì có thể nói: "Hãy xem việc đảm bảo an ninh của chúng tôi. Chúng tôi xây dựng tính an toàn bảo mật trong mọi thứ: hồ sơ, mô hình, kiến trúc, quá trình xét duyệt, việc chọn ngôn ngữ lập trình, các tiêu chuẩn lập trình, mã nguồn, các phương pháp kiểm tra, các công cụ, kỹ thuật, cấp phép, quản lý rủi ro, sửa chữa, ....". Bạn có được bức tranh toàn cảnh của toàn bộ quá trình lập trình. Với phần mềm nguồn mở, ưu điểm về an ninh bảo mật không chỉ ở khả năng đọc được mã nguồn mà là cả vòng đời phát triển công nghệ ngay từ đầu đã dựa trên những nền tảng an ninh và mục tiêu an ninh.
Tất cả các loại thiết bị an ninh vật lý đều là nguồn mở. Bạn có thể đến phòng đăng ký sáng chế hoặc xem online trên mạng để biết một cái khóa có cấu tạo thế nào, hoạt động ra sao và chính điều đó làm cho chúng trở nên an toàn hơn. Tôi thường nghe các nhà bán phần mềm nguồn đóng nói rằng họ có những người "đủ năng lực" xem xét mã nguồn của họ. Anh chàng mang cặp "nguồn đóng" trong ví dụ trên có lẽ cũng đã có ai đó "đủ năng lực" trong công ty khám xét cặp của anh ta rồi và nhân viên an ninh sân bay tốt hơn hết là cứ cho cái cặp đó qua cổng an ninh mà không phải xem xét gì cả? Sai. Với cái cặp "nguồn mở" BẤT KỲ AI cũng có quyền khám xét ... kể cả các cơ quan tình báo.
Các cơ quan tình báo là một bộ phận của Cộng đồng Nguồn mở tham gia xem xét mã nguồn. Nhưng nên nhớ rằng có hàng triệu triệu dòng lệnh. Microsoft có khoảng 30 triệu dòng lệnh, Oracle khoảng 15 triệu, Solaris khoảng 20 triệu. Rồi Linux khoảng 12 triệu, MySQL khoảng ...Vài trăm chuyên gia chẳng có cách nào xem hết được cái đống lệnh đó.
Hệ điều hành Solaris của Sun trước đây đã được điểm cao nhất về an ninh mà chính phủ dành cho hệ điều hành dùng trong các tổ chức và ngày nay vẫn thế. Nó được cấp phép bởi chính phủ liên bang, được rà soát bởi các chuyên gia giỏi nhất của Sun, của các cơ quan tình báo và vô số những người thông minh khác trong cộng đồng. Ấy thế mà khi Solaris được công bố mã nguồn, trong vòng một tháng chúng tôi nhận được thông báo về 28 lỗi bảo mật mới do cộng đồng 160,000 người dùng Solaris phát hiện và đã kịp vá lỗi trước khi có kẻ khai thác chúng vào những mục đích xấu.
Cũng những điều nói trên đã xảy ra khi chúng tôi nguồn mở hóa Java. Ngay khi bạn nguồn mở hóa một phần mềm, một cộng đồng người dùng đông đảo sẽ xem xét mã nguồn đó và bạn sẽ kịp vá lỗi trước khi nó gây ra tai họa.
Vì thế tại sao các cơ quan an ninh quốc gia và nhiều tổ chức nhà nước khác đã có một sáng kiến lớn là chuyển sang dùng phần mềm nguồn mở. Sự quan sát, săm soi của công chúng sẽ làm tăng chất lượng của chương trình. Mỗi lần bạn mua bán trên mạng, bạn đều phải dùng thuật toán mã hóa RSA. Thuật toán này là nguồn mở, nó bị phê phán, sửa, rồi lại bị phê phán, lại sửa bởi rất nhiều người cứ như thế cho đến khi nó được đưa vào ứng dụng.
Một ví dụ ngược lại là clipper chip, một con chip mã hóa được chính quyền Clinton tung ra làm thiết bị bảo mật cho các công ty viễn thông. Sau khi ra đời được 48 giờ thì nó bị phá (chip này ra đời năm 1993 và đến 1996 thì chết - ND). Nếu nó là nguồn mở thì sẽ có người phát hiện được lỗi và sẽ kịp sửa trước lúc đưa vào ứng dụng. Nhưng nó lại là nguồn đóng. Thuật toán RSA theo tôi biết thì chưa bao giờ bị phá trừ khi dùng cách tấn công brute force.
Nếu bạn xem Cơ sở Lỗi bảo mật quốc gia (National Vulnerability Database - NVD), bạn sẽ thấy rằng các sản phẩm phần mềm nguồn mở có ít lỗi hơn và mức độ bị khai thác lỗi cũng thấp hơn các sản phẩm nguồn đóng tương đương.
Đồ thị dưới đây là mức độ rủi ro theo báo cáo Airius Risk Report tính toán dựa trên số liệu của NVD. Nhìn vào đó bạn sẽ thấy rằng các sản phẩm nguồn đóng có độ rủi ro (về bảo mật) cao hơn nhiều so với các sản phẩm nguồn mở tương đương.


Và cũng không phải vì các phần mềm nguồn mở ít người dùng. Có 6 tỷ lần cài đặt Java, 14 triệu lần Open Solaris, 120 triệu lần Open Office và 115 triệu lần MySQL.
8/21/09
Phần mềm nguồn mở có an toàn không?
Để trấn an nỗi lo lắng đó của những người sử dụng bình thường, có thể dùng các lý lẽ sau đây:
- Quân đội Mỹ, quân đội Pháp, các tổ chức tài chính hàng đầu: ngân hàng HSBC, Morgan Stanley, thị trường chứng khoán NewYork, các chính phủ G7, các đại công ty thuộc danh sách Fortune 500, v.v.... đều đang dùng Linux và dùng trong những hệ thống có yêu cầu an ninh rất cao (chi tiết xem thêm ở đây).
- Trong một cuộc thi hack các hệ điều hành năm 2008, các hệ điều hành Mac Leopard và Windows Vista đều bị hạ. Duy nhất chỉ có Ubuntu Linux trụ vững được.
- Khi bạn mua một thiết bị gia dụng đắt tiền (xe máy, điều hòa, v.v...), giữa một thiết bị được mở toang, bày giữa cửa hàng cho ai cũng xem được từng bộ phận bên trong với một thiết bị niêm phong kín, (của cùng các hãng danh tiếng) cái nào đáng tin cậy hơn?
- Cách đây ít năm, Microsoft đã có lần bị tố cáo là để cổng hậu (backdoor) trong Windows cho FBI khi cần có thể vào kiểm soát máy tính. Tất nhiên là hãng ra sức thanh minh. Nhưng ngoài việc tin vào Bill Gate, bạn có cách nào kiểm tra được không? Ngược lại, với phần mềm nguồn mở, về nguyên tắc có thể đọc từng dòng mã nguồn để kiểm tra xem có mã độc nào lẫn trong đó không trước khi cho dịch thành mã máy để chạy. Tất nhiên việc này đòi hỏi phải có một đội ngũ chuyên gia trình độ cao mà chỉ ở quy mô chính phủ hoặc các ngành cần an ninh cao như quân đội, công an có thể tổ chức làm được (và nên làm, như Cuba, một nước có tinh thần cảnh giác rất cao hiện đang làm. Việt nam mà chưa làm thì cũng hơi lạ).
- Nếu các lý lẽ nói trên vẫn chưa thuyết phục nổi bạn và bạn cho rằng mình cẩn thận hơn chính phủ Anh, công việc của mình quan trọng hơn chỉ huy tác chiến của quân đội Mỹ và những thứ "linh tinh" đã nêu ở mục 1 thì mời bạn chịu khó xem báo cáo sau đây:
Báo cáo về an ninh: Windows so với Linux
Một đánh giá độc lập của Nicholas Petreley
Posted in Security, 22nd October 2004 07:26 GMT
(Bản báo cáo này khoảng 50 trang, tôi lược dịch một số phần đáng chú ý. Những lập luận thì có thể còn phải bàn, nhưng hệ tiêu chí đánh giá lỗi bảo mật và số lượng, tỷ lệ lỗi thì đáng tin cậy. Nguyên bản xem tại đây - ND)
Tóm tắt
Nhiều công trình đã được thực hiện để xem Linux có thực sự an toàn hơn Windows hay không. Chúng tôi so sánh Windows và Linux bằng cách tìm hiểu 40 bản vá/thông báo lỗi bảo mật gần đây của Microsoft Windows Server 2003 và Red Hat Enterprise Linux AS v.3 theo các tiêu chí sau:
- Mức độ nghiêm trọng của lỗi bảo mật dựa trên các tiêu chí:
- Mức độ thiệt hại có thể do lỗi đó gây ra.
- Khả năng khai thác lỗi đó dễ hay khó.
- Khả năng bộc lộ của hệ thống do lỗi (cần loại truy cập nào để khai thác được lỗi?)
- Số lượng lỗi nghiêm trọng.
Kết quả không có gì bất ngờ. Ngay cả theo những tiêu chuẩn chủ quan của Microsoft, 38% lỗi bảo mật của Windows được xem là nghiêm trọng, trong khi đó Red Hat chỉ có 10%. Nếu theo các tiêu chuẩn riêng của chúng tôi, số lỗi nghiêm trọng của Windows chiếm tới 50% tổng số lỗi đã công bố.
Thêm vào đó, chúng tôi đã tìm kiếm trong cơ sở dữ liệu lỗi bảo mật của đội Ứng cứu khẩn cấp máy tính Mỹ ( the United States Computer Emergency Readiness Team- CERT), các dữ liệu ở đó khẳng định kết luận của chúng tôi ở một tầm mức còn lớn hơn. Khi tìm trong cơ sở dữ liệu về lỗi bảo mật của Windows, trong 40 lỗi đầu xếp theo thứ tự giảm dần về mức độ nghiêm trọng thì 39 lỗi thuộc loại trên ngưỡng báo động cao (severe alert) của CERT. Trong khi đó Red Hat Linux chỉ có 3/40 lỗi thuộc loại đó. Nếu tìm chung trong cơ sở dữ liệu Linux, chỉ có 6/40 lỗi đầu vượt ngưỡng nói trên.
Vậy thì tại sao vẫn còn những lời đồn đại rằng Linux không an toàn bằng Windows? Một trong những nguyên nhân là những lời đồn đại đó dựa trên những tiêu chí không đầy đủ và có những lỗ hổng về mặt logic như phân tích dưới đây.
Hóa giải những điều đồn đại
Số lượng ít nên an toàn
Một trong những điều hoang tưởng được lặp lại nhiều nhất về độ an toàn của Windows so với Linux là lập luận rằng Windows có nhiều virus, mã độc và các vụ tấn công an ninh là do các hacker chỉ tập trung vào Windows vì thị phần của nó rất lớn. Linux ít bị hơn vì chiếm thị phần nhỏ, các hacker chưa thèm để ý đến. Và ngụ ý đằng sau lập luận này là Linux và các ứng dụng Linux cũng không an toàn gì hơn Windows và các ứng dụng Windows.
Lý luận này không đứng vững được khi xét đến các phần mềm máy chủ web. Theo một nghiên cứu của hãng NetCrap tháng 9/2004 [1], 68% website chạy trên phần mềm máy chủ web nguồn mở Apache, 21% chạy trên Microsoft IIS (Internet Information Services). Nếu theo lý luận trên, virus, malware nhằm vào Apache và hệ điều hành bên dưới nó phải nhiều hơn, cũng như các cuộc tấn công thành công vào Apache phải nhiều hơn Windows server và IIS.
Tuy nhiên thực tế lại chứng tỏ ngược lại. IIS từ lâu đã là mục tiêu hàng đầu của các loại sâu (worm) và các kiểu tấn công, và nhiều những cuộc tấn công thành công lớn. Sâu Code Red khai thác lỗi tràn bộ đệm của IIS để giành quyền kiểm soát web server đã lan tràn trên 300,000 máy chủ và chỉ dừng lại do bản thân sâu đó được lập trình tự ý ngừng lây nhiễm. Sâu Code Red.A còn lây nhanh hơn và cũng tự ngừng sau ba tuần. Một sâu khác, IISWorm, có tác hại giới hạn chỉ vì người viết nó kém chứ không phải IIS tự bảo vệ tốt.
Sâu cho Apache cũng có, ví dụ Slapper (mặc dù thực ra Slapper khai thác lỗi của OpenSSL, không phải lỗi của Apache). Tuy nhiên, sâu Apache hiếm khi tạo nên thành tựu nổi bật vì tác hại của chúng giới hạn và dễ dàng bị tiêu diệt. Có thể diệt sâu và khôi phục site bị nhiễm chỉ bằng một vài lệnh mà không cần phải reboot máy nhờ vào bản chất module của Linux và Unix.
Có lẽ vì thế mà theo nghiên cứu nói trên của Netcrapt, 47 trong 50 site có thời gian chạy liên tục dài nhất (uptime) chạy trên Apache [2] . Không một site nào trong 50 site trên chạy trên Windows hoặc IIS.
Xem được mã nguồn là dễ tìm ra lỗi để tấn công.
Thành công về an ninh nêu trên của Apache cũng bác bỏ một điều hoang tưởng khác: Phần mềm nguồn mở nguy hiểm hơn phần mềm nguồn đóng vì ai cũng có thể tìm hiểu mã nguồn để tìm ra khe hở tấn công.
Thực tế thì số lượng virus, worm, Trojan, spyware và các loại mã độc khác trên Windows nhiều không đếm xuể (mặc dù mã nguồn của Windows không công khai). Chúng hung hăng tới mức có thể lây nhiễm vào một hệ Windows XP chưa được vá sau 16 phút kết nối Internet, ngắn hơi thời gian cần để tải và cài đặt bản vá [3].
Một ví dụ khác: Apache là phần mềm nguồn mở và thường cũng chạy trên các hệ điều hành nguồn mở, ai cũng đọc được mã nguồn của hai phần mềm đó. Nếu theo lý luận trên, chúng phải bị tấn công nhiều hơn, thời gian uptime ngắn hơn Microsoft Windows và IIS, nhưng thực tế ngược lại như đã nói ở trên. Vậy việc đọc được mã nguồn không mang lại lợi ích gì thêm cho hacker. (Đọc được mã nguồn là một chuyện, có tìm ra khe hở trong đó để tấn công hay không lại là chuyện khác - ND)
Các lý lẽ mơ hồ chỉ dựa trên một tiêu chí
Hai lý lẽ nữa là “Linux có nhiều cảnh báo về lỗi an ninh hơn Windows và vì thế Windows an toàn hơn” và “thời gian trung bình từ lúc phát hiện lỗi đến lúc công bố bản vá của Linux dài hơn của Windows và do đó Windows an toàn hơn”.
Cái lý lẽ sau là bí hiểm nhất vì không hiểu nó dựa vào đâu. Microsoft mất bảy tháng để chữa một trong những lỗi nghiêm trọng nhất (Microsoft Security Bulletin MS04-007 ASN.1 Vulnerability, eEye Digital Security publishes the delay in advisory AD20040210) và có những lỗi Microsoft còn công khai nói họ sẽ không bao giờ chữa.
Thời gian khắc phục lỗi nhanh cũng không phải là một tiêu chí để nói là Windows an toàn hơn Linux. Nếu bạn bị đau tim, bạn muốn vào cấp cứu ở một bệnh viện có thời gian từ lúc vào viện đến lúc xuất viện ngắn nhất hay là đến một bệnh viện có chế độ chăm sóc chu đáo nhất?
Việc lựa chọn phần mềm rõ ràng không chỉ dựa trên một tiêu chí thời gian chữa lỗi ngắn nhất. Ngay số lần cảnh báo lỗi an ninh chung chung cũng vô nghĩa. Phải biết rõ trong đó bao nhiêu lỗi có thể gây hậu quả, trong các hậu quả, bao nhiêu phần trăm là nghiêm trọng? Nên chọn một phần mềm có 100 lỗi nhưng đều nhẹ hoặc chỉ user có quyền đăng nhập mới khai thác được hay chọn một phần mềm chỉ có 1 lỗi nhưng hacker có thể qua Internet chui vào xóa hết dữ liệu?
(Trong phần sau của báo cáo này, tác giả xây dựng một hệ thống các tiêu chí logic, chi tiết để đánh giá mức độ nghiêm trọng của các lỗi bảo mật. Kết quả đánh giá đã trình bày tóm tắt ở phần đầu báo cáo - ND)
So sánh thiết kế của Windows và Linux.
Thiết kế của Windows
Virus, Trojan và các loại mã độc khác thâm nhập được vào Windows vì những nguyên nhân rất thông thường với Windows nhưng xa lạ với Linux:
- Windows chỉ gần đây mới chuyển từ thiết kế một người dùng sang thiết kế nhiều người dùng.
- Windows được thiết kế theo nguyên tắc đơn khối (monolithic) không phải đa khối (modular) như Linux.
- Windows phụ thuộc quá sâu vào mô hình RPC ( Remote Procedure Call).
- Windows tập trung vào giao diện đồ họa.
Gần đây Windows mới phát triển từ thiết kế một người dùng (single-user design) sang mô hình đa người dùng (multi-user model)
Thiết kế đầu tiên của Windows là một người dùng (single-user). Vì vậy cả người dùng và phần mềm ứng dụng đều có thể tự do truy cập đến toàn hệ thống, lục lọi mọi chương trình hệ thống hoặc file hệ thống quan trọng. Do đó, virus và các loại mã độc cũng có thể làm vậy vì Windows không cô lập, bảo vệ các chương trình hoặc file hệ thống.
Windows XP là phiên bản Windows đầu tiên có những cố gắng nghiêm chỉnh để cách ly người dùng khỏi hệ thống, mỗi người dùng có các file riêng và quyền truy cập hệ thống hạn chế. Nhưng khi đó, các ứng dụng Windows cũ lại không chạy được vì chúng “quen” được phép lục tung hệ thống. Do đó, Windows XP có một kiểu chạy tương thích (compatibility mode) cho phép các chương trình ứng dụng chạy như thể chạy trên các hệ Windows cũ, có quyền truy cập tự do vào hệ thống. (Và virus cũng có thể làm được vậy - ND)
Như vậy, Windows XP đã là một tiến bộ nhưng vẫn không phải hệ đa người dùng (multi-user) thực sự và do đó vẫn còn các lỗ hổng an ninh của hệ single-user.
Windows Server 2003 là một bước tiến mới về môi trường đa người dùng thật sự nhưng vẫn không thoát khỏi các lỗ hổng an ninh thừa kế từ các đời single-user trước. Vì vậy, Windows server 2003 mặc định phải tắt nhiều tính năng của trình duyệt có nguy cơ về an ninh như ActiveX, scripting,...
(Ở đây có hai vấn đề: a/do mới chuyển sang multi-user nên công nghệ sẽ không hoàn chỉnh, chín muồi được như Linux đã làm từ hàng chục năm nay, b/vẫn phải đảm bảo tương thích với một số ứng dụng cũ nên sẽ tạo lỗ hổng an ninh. Gần đây, Google khi xây dựng hệ Chrome OS đã hứa hẹn là sẽ thiết kế mới hoàn toàn để đảm bảo an ninh. Và chỉ có như vậy mới triệt để -ND)
Windows được thiết kế đơn khối (Monolithic by Design) không phải đa khối (Modular).
Một hệ đơn khối thì các tính năng tích hợp trong một thể thống nhất. Ngược với đơn khối, trong hệ đa khối các tính năng được chia thành các lớp (các module) riêng biệt, mỗi lớp có khả năng truy cập giới hạn đến các lớp khác.
Trong khi một số nhược điểm an ninh của Windows là do thiết kế đơn người dùng như đã nói ở trên, một số nhược điểm khác lại do những quyết định thiết kế cố tình. Microsoft đã loại trình duyệt Nestcape cạnh tranh bằng cách tích hợp trình duyệt Internet Explorer vào hệ điều hành đến mức không thể gỡ ra được. Dùng Help hay Outlook, … đều phải gọi đến IE. Microsoft đã thành công loại các sản phẩm cạnh tranh bằng cách tích hợp ngày càng nhiều các dịch vụ vào hệ điều hành nhưng điều đó cũng tạo nên một con quái vật gồm các dịch vụ phụ thuộc qua lại lẫn nhau chặt chẽ và đó chính là một hệ đơn khối.
Sự phụ thuộc chặt chẽ vào nhau của các dịch vụ tạo ra hai hệ quả xấu.
Thứ nhất, trong một hệ đơn khối, mọi lỗ hổng an ninh của một bộ phận sẽ ảnh hưởng đến tất cả các bộ phận khác phụ thuộc vào nó. Việc tích hợp IE vào hệ điều hành sẽ làm cho một lỗ hổng an ninh của IE sẽ ảnh hường đến hàng loạt ứng dụng khác.
Thứ hai, một hệ đơn khối về bản chất là không ổn định. Khi thiết kế một hệ có quá nhiều quan hệ phụ thuộc lẫn nhau giữa các bộ phận, việc thay đổi một bộ phận có thể gây nên vô số rủi ro, ảnh hưởng dây chuyền đến các bộ phận khác phụ thuộc vào bộ phận bị thay đổi. Một ví dụ điển hình là mỗi lần cập nhật hoặc vá lỗi một bộ phận của Windows thường làm hỏng các bộ phận hoặc ứng dụng khác (nhất là ứng dụng của bên thứ ba).
Windows phụ thuộc quá nhiều vào mô hình RPC.
RPC là chữ viết tắt của Remote Procedure Call (gọi thủ tục từ xa). Một chương trình gửi một message lên mạng để bảo một chương trình khác làm một việc gì đó. Sở dĩ có từ “remote – từ xa” là vì chương trình được gọi có thể nằm trên cùng máy, trên máy khác trong mạng hoặc thậm chí trên Internet.
RPC là một nguy cơ an ninh tiềm ẩn vì nó cho phép một máy khác trong mạng có thể bảo máy của bạn làm một việc gì đó. Windows phụ thuộc vào RPC đến mức mà bạn không thể tắt RPC đi ngay cả khi máy không nối mạng. Một số lỗi an ninh nghiêm trọng của Windows Server 2003 (xem bảng dưới đây) là do khe hở an ninh trong chính chức năng RPC chứ không phải trong chương trình sử dụng RPC. Cách thông thường nhất để khai thác một lỗ hổng RPC là tấn công dịch vụ sử dụng RPC.
Điều quan trọng là RPC không phải lúc nào cũng cần và vì thế rất khó hiểu là tại sao Microsoft lại dựa vào nó một cách bừa bãi đến vậy. Nếu một web site dùng một database server và một web server trên cùng một máy thì database server không cần phải dùng đến RPC để liên lạc với web server (nhưng lại vẫn phải dùng nếu là sản phẩm của Microsoft).
Nhắc đến điều đó vì chính sâu Slammer, một trong những sâu nguy hiểm nhất từng tấn công Internet, khai thác một trong những lỗi RPC của Microsoft. Slammer lây nhanh qua nhiều hệ thống đến nỗi thực tế đã làm tê liệt Internet.
Windows chú trọng vào giao diện đồ họa máy để bàn quen thuộc
Microsoft xem giao diện Windows quen thuộc của máy để bàn là một ưu điểm khi dùng Windows Server 2003.
Vì thế người dùng đăng nhập vào Windows Server với tên người quản trị (admininstrator) và có toàn quyền với hệ thống. Như vậy, khi dùng một chương trình dễ bị lỗi an ninh như IE, toàn server sẽ bị nguy hiểm.
(Trong Linux server thì không như vậy. Xem phần sau)
Thiết kế của Linux
Theo kết quả một cuộc điều tra mùa hè 2004 của Evans Data Linux Developers, 93% nhà lập trình Linux đã gặp dưới hai sự cố khi máy Linux bị lỗi. 87% chỉ gặp 1 sự cố và 78% chưa bao giờ gặp một cuộc xâm nhập nào vào máy Linux. Trong một số ít trường hợp bị xâm nhập, nguyên nhân chủ yếu là do đặt cấu hình an ninh không tốt.
92% số người được hỏi chưa bao giờ gặp một virus, Trojan hoặc các loại mã độc khác trên các máy Linux.
Virus, Trojan và các loại mã độc khác hiếm khi nhiễm được vào một hệ Linux một phần vì các lý do sau:
- Linux có thiết kế multi-user lâu đời, được rà soát, bổ xung đầy đủ.
- Linux hầu như dựa trên thiết kế đa khối.
- Linux không phụ thuộc vào RPC, các dịch vụ thường mặc định được cấu hình không dùng RPC.
- Các máy chủ Linux là lý tưởng để quản trị từ xa, không trực tiếp.
Linux có thiết kế multi-user lâu đời, được rà soát, bổ xung đầy đủ.
Ngay từ đầu, Linux xây dựng theo mô hình Unix đã là một hệ multi-user, mỗi user chỉ có quyền truy cập hạn chế, vừa đủ vào hệ thống vào các ứng dụng. Khi một user chạy một ứng dụng, ứng dụng đó chạy theo các quyền hạn chế của user, chỉ ghi vào thư mục riêng của user, không thay đổi các file hệ thống và cả các thư mục của user khác trừ khi người quản trị cho phép.
Điều quan trọng nữa là mọi tính năng, dịch vụ mà Linux cung cấp hầu hết đều dưới dạng các module thư viện (modular libraries). Do đó, khi một trình soạn văn bản cần tô màu một ảnh JPEG, chức năng tô màu sẽ chạy với cùng quyền truy cập như trình soạn văn bản, tức là với quyền của user sử dụng trình soạn văn bản đó. Nếu có một lỗ hổng an ninh trong thủ tục tô màu, hacker khai thác lỗ hổng đó cũng chỉ có quyền như user và do đó hạn chế thiệt hại vì không tác động được vào hệ thống. Đó chính là ưu điểm của thiết kế đa khối.
Do bản chất đa khối của Linux, khi gửi một email có nhiễm virus cho một Linux user, virus đó không thể lan ra toàn bộ máy. Dù trình email client có tồi đến thế nào đi nữa thì virus cũng chỉ có thể nhiễm, làm hỏng thư mục riêng của user. Trình duyệt Linux không hỗ trợ các đối tượng kém an toàn như ActiveX controls, và dù nó có hỗ trợ thì một ActiveX control chứa mã độc cũng chỉ chạy với quyền của user đang dùng trình duyệt, không thể phá hoại hệ thống hoặc các user khác được.
Ngay cả các dịch vụ, như máy chủ web, cũng chạy như một user với quyền truy cập hạn chế. Ví dụ trong bản Linux Debian, máy chủ web Apache chạy với quyền của user www-data. Nếu hacker chiếm được quyền kiểm soát Apache, hacker đó cũng chỉ tác động được đến các file mà user www-data là chủ (owner). Cơ sở dữ liệu MySQL, thường dùng chung với Apache, được chạy với quyền của user mysql. Do đó nếu Apache có lỗ hổng, hacker kiểm soát được Apache cũng không kiểm soát được MySQL vì MySQL do một user khác làm chủ.
Ngoài ra, các user điều khiển các dịch vụ như nói ở trên thường không có quyền truy cập các lệnh. Vì vậy nếu hacker nắm được quyền điều khiển user mysql cũng không thể phát ra các lệnh cho máy chủ Linux vì user mysql không có quyền chạy lệnh.
Ngược hẳn lại các điều nói trên, Windows ban đầu được thiết kế để mọi user và mọi ứng dụng đều có quyền admininstrator với mọi file của toàn bộ hệ thống. Chỉ sau này, Windows mới hạn chế dần quyền của user. Windows Server 2003 đã gần đạt được đến mức đó. Nhưng phương pháp luận của Microsoft để dựng rào cản giữa user và hệ thống vẫn là dựa trên cơ sở thiết kế cũ mà không thiết kế lại một cách cơ bản để hỗ trợ khả năng multi-user và đảm bảo an ninh.
Thiết kế Linux là đa khối, không phải đơn khối
Linux là một hệ điều hành phần lớn theo thiết kế đa khối từ nhân (kernel) đến các ứng dụng. Trong Linux hầu như không có cái gì liên kết chặt với cái khác đến mức không gỡ ra được. Hệ thống Help hoặc trình email không phụ thuộc vào một động cơ trình duyệt (browser engine) duy nhất. Có thể dễ dàng cấu hình trình email dùng động cơ trình duyệt có sẵn hoặc bất kỳ trình duyệt nào khác để xem các thư HTML. Vì vậy một lỗ hổng an ninh trong động cơ trình duyệt sẽ ảnh hưởng rất ít hoặc không ảnh hưởng đến các ứng dụng khác vì có ít hoặc không có ứng dụng nào phụ thuộc vào trình duyệt đó.
Không phải mọi thứ trong Linux đều đa khối. Hai môi trường đồ họa phổ biến nhất GNOME và KDE có thiết kế ít nhiều đơn khối; ít nhất cũng đủ để nếu update một phần của GNOME hoặc KDE có thể có nguy cơ làm hỏng các phần khác. Tuy nhiên, chúng cũng không đơn khối đến độ chỉ cho phép chạy các ứng dụng viết riêng cho chúng. Có thể chạy các ứng dụng GNOME trong KDE và ngược lại.
Nhân Linux dùng các module driver, nhưng về cơ bản nó là nhân đơn khối trong đó các dịch vụ của nhân phụ thuộc lẫn nhau. Tuy nhiên, tác hại của tính đơn khối này cũng được giảm đến mức tối thiểu vì nhân Linux được thiết kế sao cho nhỏ nhất. Linux đi theo triết lý sau: “Nếu một việc có thể làm được bên ngoài nhân, thì nó phải được làm ngoài nhân”.
(Hình như điều này bây giờ đã thay đổi, xem tại đây - ND)
Ngược lại, lỗi driver màn hình là nguyên nhân phổ biến nhất dẫn đến cái-chết-màn-hình-xanh của Windows. Đó là vì Windows tích hợp đồ họa vào nhân, lỗi đồ họa sẽ làm sập cả hệ thống. Trong Linux, trừ một vài trường hợp ngoại lệ như với driver màn hình Nvidia, Linux buộc tất cả các driver card màn hình chạy bên ngoài nhân. Một lỗi của driver có thể làm hỏng môi trường đồ họa nhưng không làm sập cả hệ thống. Chỉ cần khởi động lại môi trường đồ họa mà không phải khởi động lại máy tính.
Linux không bị phụ thuộc vào mô hình RPC (Remote Procedure Call)
Như đã nói ở trên, Windows phụ thuộc nặng vào RPC và cho chạy nó cả khi không cần thiết. Điều đó dẫn tới những nguy cơ an ninh nghiêm trọng.
Phần lớn các chương trình Linux khi cài đặt đều mặc định tắt truy cập mạng. Ví dụ cơ sở dữ liệu MySQL thường được cài sao cho nó không nghe các lệnh từ mạng. Nếu bạn xây dựng một website dùng Apache và MySQL chạy trên cùng một máy thì Apache sẽ liên hệ trực tiếp với MySQL và MySQL sẽ không liên hệ gì với mạng. (Ngược lại Microsoft SQL Server luôn luôn lắng nghe mạng dù có cần hay không). Nếu muốn MySQL nghe các lệnh đến từ mạng thì phải thiết lập điều đó bằng tay, rồi xác định user và máy được phép truy cập đến MySQL.
Ngay cả khi các ứng dụng Linux mặc định sử dụng mạng, chúng cũng thường được cấu hình để chỉ trả lời máy cục bộ, bỏ qua các yêu cầu của các máy khác trong mạng.
Các máy chủ Linux là lý tưởng để quản trị từ xa
Máy chủ Linux thường có thể và nên cài như một hệ “không đầu – headless” (không có màn hình) và quản trị từ xa (truy cập máy chủ từ một máy khác trong mạng, không dùng bàn phím, màn hình nối trực tiếp vào máy chủ - ND). Đó là kiểu cài lý tưởng cho máy chủ vì quản trị từ xa không có những nguy cơ mà quản trị tại chỗ có thể gặp.
Ví dụ, bạn có thể log in vào máy để bàn của bạn như một user thường với quyền hạn hạn chế rồi quản trị máy chủ Linux qua một giao diện quản trị web (Admininstration consol). Ngay cả những lỗi an ninh nguy hiểm nhất của trình duyệt web cũng chỉ ảnh hưởng đến user thường mà bạn đã dùng log in vào máy để bàn của bạn, không ảnh hưởng gì đến máy chủ.
(webmin là một trong những giao diện quản trị web quản trị được khá nhiều thứ trên máy chủ - ND)
Trong các phần tiếp theo, tác giả xây dựng một hệ thống các tiêu chí đánh giá lỗi bảo mật, áp dụng cụ thể vào 40 lỗi được công bố gần thời điểm viết báo cáo và kết quả tìm kiếm trong cơ sở dữ liệu lỗi của CERT. Kết quả tóm tắt đã được nêu ở phần đầu báo cáo.
Chi tiết đọc thêm tại đây.
8/18/09
Lại card màn hình Intel
Điều này xảy ra với các hệ Linux đời mới nói chung, không riêng gì Ubuntu. Ví dụ Mandriva 2009.1 khi cài trên máy có card màn hình onboard Intel 82G33/G31 sẽ gặp lỗi "rendering": khi nhấn vào các menu, cửa sổ, màn hình của menu hoặc cửa sổ đó thoạt đầu hiện lên vạch ngang lằng nhằng, một lúc mới hiện lên đầy đủ.
Mỗi bản Linux đều có trang liệt kê các lỗi đã gặp mà tới lúc phát hành vẫn chưa sửa được và nêu cách sửa tạm. Ubuntu nêu các lỗi đó trong trang Release Note, Mandriva thì đặt ở trang Errata.
Hai trang đó đều nêu cách chữa lỗi nói trên như sau (nhưng không đảm bảo là mọi trường hợp đều chữa được):
Mở file /etc/X11/xorg.conf với quyền root rồi thêm vào bên dưới dòng "Device Intel" một dòng sau:
Option "AccelMethod" "UXA"
Với Mandriva 2009.1, sau khi sửa như trên, khởi động lại máy thì hết lỗi nhòe cửa sổ. Ngoài ra để tăng tốc đồ họa có thể thêm các dòng sau:
Option "MigrationHeuristic" "greedy"
Option "DRI" "off"
(tắt DRI sẽ tắt các hiệu ứng màn hình).
Trước vẫn biết là có các trang báo lỗi như trên nhưng quên không xem. Có lỗi gì, xem trang đó trước tiên là hay nhất.
8/17/09
Zimbra - bộ phần mềm cộng tác nguồn mở

Zimbra Collaboration Suite là bộ phần mềm cộng tác gồm cả phần mềm chạy trên máy chủ và máy trạm có các đặc điểm, tính năng chính sau:
- Thư điện tử: một hệ thống thư điện tử hoàn chỉnh gồm Mail server (SMTP, POP3, IMAP, antivirus, antispam, openLDAP, backup, ..., có đầy đủ các tính năng như auto-reply, auto-forward, mail filter, ...) và Mail client (Zimbra desktop và Zimbra Web Client).
- Lịch công tác (calendar): lịch cá nhân và lịch nhóm, tự động gửi mail mời họp,...
- Sổ địa chỉ (Contacts): sổ cá nhân và sổ chung của nhóm
- Danh mục công việc (Task): của cá nhân và nhóm.
- Tài liệu (Documents): tài liệu dưới dạng wiki của cá nhân hoặc soạn tập thể
- Cặp hồ sơ (Briefcase): lưu file dùng riêng hoặc chung.
- Chat: chat nội bộ trong mạng LAN hoặc trên Internet.
- Tất cả các mục trên đều có phần chạy trên máy chủ (nằm trong Zimbra Server), lưu trên máy chủ để có thể dùng chung được và truy cập được từ bất kỳ đâu có Internet. (nếu cài trên máy chủ có Internet). Các mục đó đều có khả năng share (kể cả các thư mục email: Inbox, Sent) cho người khác dùng chung.
- Zimbra có hai phần mềm client: Zimbra desktop và Zimbra Web client là giao diện với người dùng. Zimbra desktop (tương tự như Outlook, KMail,...) cài được trên Windows, Mac, Linux. Ngoài ra có thể dùng các mail client khác như Outlook, Evolution, KMail, Thunderbird, ... Hai loại mail client trên ứng với hai cách làm việc:
- Làm việc online, dùng Zimbra web client. Mọi thông tin sẽ lưu trên máy chủ Zimbra. Zimbra Web Client có hai giao diện: dạng html thông thường, nhanh nhưng ít tính năng và dạng Ajax (tương tự Yahoo Mail). Zimbra Web Client là một trong những Web Client hoàn chỉnh nhất hiện nay (hỗ trợ hầu hết tính năng của Zimbra Server, kể cả chat).
- Làm việc offline, dùng các mail client còn lại. Riêng Outlook, Apple Desktop và Evolution có thể đồng bộ email, calendar, contacts và task với máy chủ Zimbra, các mail clien khác chỉ dùng đọc và gửi email.
- Zimbra cũng hỗ trợ làm việc với các điện thoại di động iPhone, Blackberry, ...
- Zimbra có một kho các Zimlet (một thứ tương tự các extensions của Firefox) mà các quản trị mạng có thể chọn cài để bổ xung tính năng. Mọi người có thể tự viết các Zimlet để kết nối hệ thống Zimbra với các hệ thống thông tin khác hoặc mở rộng tính năng. Đây có lẽ là một trong những điểm mạnh nhất và sẽ gây nghiện cho người dùng giống như các extensions của Firefox vậy.
- Quản trị hệ thống qua giao diện web khá đầy đủ và chi tiết với nhiều tiện ích. Ví dụ có thể tạo hàng trăm account trong vài phút.
Zimbra có một bản opensource miễn phí và ba bản khác có thu phí. Bản đắt nhất là 35USD/user/năm cho 25 user đầu. Bản opensource có các tính năng sử dụng giống bản có phí, chỉ kém một số tính năng quản trị nhưng có thể bù đắp bằng cách tự cài bổ xung và hoàn toàn có thể dùng bản opensource vào các hệ thống thật được.
Về kiến trúc bên trong, Zimbra vẫn sử dụng các bộ phần mềm chức năng (nguồn mở) phổ biến như OpenLDAP, Postfix, SpamAssassin, Amavisd, Tomcat, ... cùng với một số phần mềm riêng tạo nên một hệ thống tích hợp chặt chẽ. Có thể không dùng OpenLDAP mà dùng Windows Active Directory, hoặc import user từ một máy chủ Exchange sang.
Hiện tại, Zimbra Server có các bản cài trên Red Hat, Fedora, CentOS, Debian, SUSE, Ubuntu và MacOS. Nếu chỉ cài trên một máy chủ độc lập thì cách cài đặt khá đơn giản và nhanh.
Zimbra có thể cài theo nhiều cấu hình khác nhau từ một hệ thống nhỏ vài chục account trên một máy chủ duy nhất cho đến hệ thống rất lớn hàng nghìn account trên nhiều máy chủ có các chức năng khác nhau. Có khả năng mở rộng (scalability) bằng cách thêm máy chủ dễ dàng.
Hiện đang chạy thử trên một cặp máy chủ clustering bằng drbd và heartbeat và chưa chê được điểm gì. Hoàn toàn có thể thay được cặp Exchange + Outlook (nhất là với trình độ sử dụng như hiện nay). Phải chạy thật và sau một thời gian mới có thể phát hiện xem có lỗi gì không.