8/28/09

OpenDiscovery- bản Linux dành cho sinh học phân tử

Open Discovery là một bản Linux dựa trên nền Fedora dành riêng cho sinh học phân tử. Nó có các công cụ phần mềm để phân tích chuỗi DNA, xem cấu trúc protein và cấu trúc hóa học, mô hình hóa phân tử, động học phân tử, v.v.. (chi tiết xem thêm và tải về tại đây). OpenDiscovery hỗ trợ các máy tính nhiều processors để tăng tốc các quá trình tính toán và hỗ trợ các ngôn ngữ lập trình phổ biến trong lĩnh vực sinh học phân tử như PERL và PYTHON.

screenshot-5

Những ai hay chống Linux nhất?

Nếu bạn chỉ vọc Linux cho riêng mình thì thôi. Nếu bạn lại muốn phổ biến tuyên truyền điều mình ham thích thì dưới đây là những đối tượng bạn nên tránh.

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)

Tôi mở "cửa hàng" zxc232.wordpress.com với hai mục đích:

  1. 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.

  2. 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:

  1. 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.

  2. 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ũ.

  3. 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.

  4. 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à:

  1. 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.

  2. 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

Bill Vass là Chủ tịch kiêm Tổng Giám đốc điều hành (Chief Operating Officer) của Sun Microsystems Federal, Inc. Bài dưới đây đăng trên blog của ông, tôi lược dịch lại. Link gốc nhấn vào tên bài.

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.

sun-rr-b-123107-new-small

sun-rr-a-123107-new-small.jpg

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?

Một trong những lý luận thường gặp nhất của những người chống Linux (nhưng tuyệt đại đa số không hiểu gì về Linux) là Linux không an toàn. Cái cảm giác mơ hồ về một sản phẩm  do một đám người ảo trên mạng tham gia xây dựng, ai cũng có thể đọc được "ruột" của nó dẫn đến cảm giác bất an cũng là điều dễ hiểu.

Để 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:

  1. 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).

  2. 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.

  3. 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?

  4. 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ạ).

  5. 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:

  1. Mức độ nghiêm trọng của lỗi bảo mật dựa trên các tiêu chí:

    1. Mức độ thiệt hại có thể do lỗi đó gây ra.

    2. Khả năng khai thác lỗi đó dễ hay khó.

    3. 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?)



  2. 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:

  1. 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.

  2. Windows được thiết kế theo nguyên tắc đơn khối (monolithic) không phải đa khối (modular) như Linux.

  3. Windows phụ thuộc quá sâu vào mô hình RPC ( Remote Procedure Call).

  4. 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:

  1. Linux có thiết kế multi-user lâu đời, được rà soát, bổ xung đầy đủ.

  2. Linux hầu như dựa trên thiết kế đa khối.

  3. 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.

  4. 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

Trong một post trước có nói về vấn đề mà card màn hình Intel (một số, không phải tất cả) đang gặp với các công nghệ đồ họa mới mà driver chưa tìm được giải pháp tối ưu.

Đ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 nguyên là một công ty độc lập về phần mềm nguồn mở được Yahoo mua lại năm 2007.  Điều đó cũng chứng tỏ sản phẩm của công ty được đánh giá cao. Theo quảng cáo trên site của hãng thì hiện có 60.000 tổ chức và 40 triệu mailbox đang dùng Zimbra.

Screenshot-1



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 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.

8/14/09

gOS - một bản Linux nhẹ và đẹp

gOS là một bản Linux được xếp thứ 19/310 về mức độ quan tâm của người dùng trong 12 tháng qua tại site Distrowatch. Vì vậy tôi cũng thử qua xem thế nào.

Screenshot


gOS là sản phẩm của công ty Mỹ và Đài loan Good OS mới thành lập đầu năm 2007 mà nhiệm vụ chính là dựng các phần mềm cho điện toán đám mây (cloud computing). Hệ điều hành này đã được chọn cài trên netbook Everex gPC 199 USD bán trong chuỗi cửa hàng Wal-Mart tại Mỹ.


gOS dựng trên nền Ubuntu Hardy 8.04, phiên bản hiện tại là gOS 3.0 Gadgets. Bên trong thì không biết thế nào nhưng nhìn bên ngoài thì chủ yếu là sửa sang hình thức và cài thêm một số phần mềm (tự làm trên Ubuntu hoặc các bản Linux khác cũng được):




  • Hình thức sáng sủa và đẹp, sử dụng một theme riêng là gOS3_theme. Đáy màn hình có cài sẵn một docking bar là Wbar. Nhìn chung hình thức hơi "teen".

  • Trên desktop có cài sẵn một số Google Desktop Gadgets. Cái này tự cài lên Ubuntu được và có thể chọn bổ xung ở đây. Ưu điểm của Google Desktop Gadgets là số lượng gadgets nhiều và phong phú.

  • Tích hợp với các sản phẩm của Google: GMail, Google Docs, Google Calendar, Google Finance, v.v... bằng cách dùng công nghệ Mozilla Prism để chạy các ứng dụng nói trên trong các cửa sổ Firefox riêng biệt, độc lập với nhau, không mở chung thành từng tab trong một trình duyệt. Do đó có thể: dành nhiều chỗ cho ứng dụng hơn trong một cửa sổ, tạo các shortcut riêng trong menu hoặc docking bar, khi một ứng dụng treo không ảnh hưởng đến cái khác. Trên Windows có thể cài Prism như một add-ons của Firefox dễ dàng, nhưng chưa có Prism for Linux. Có lẽ gOS dùng Prism qua wine.

  • Các thứ khác: cách cài đặt, phần mềm cài sẵn, kho phần mềm, tiện ích, ... hệt như Ubuntu Hardy 8.04. Vẫn phải cài ubuntu-restricted-extra hoặc perfecbuntu (xem tại đây) để có đủ các thứ cần thiết khác. OpenOffice vẫn là bản 2.4. Bộ gõ tiếng Việt scim-unikey 0.3 cho Ubuntu 8.04 dùng tốt trên gOS.

  • Có cảm giác là nhẹ, chạy nhanh (có lẽ vì hướng vào netbook).


Hiện nay, Good OS đang xây dựng một hệ điều hành hơi đặc biệt là Cloud: hệ điều hành + trình duyệt web để hướng vào điện toán đám mây như đã nói trong một post trước.

8/11/09

Linux ảnh viện

Tại đây là nơi trưng bày ảnh chụp màn hình (screenshot) của một số khá lớn các bản Linux, kể cả các bản alpha, beta thường không có ảnh trên site chính thức. Có thể ngắm nghía trước khi quyết định tải về thử. Nếu theo ảnh ở đó thì bản Ubuntu 9.10 sắp tới không thay đổi gì về hình thức màn hình.

Còn đây là một bức chân dung của bản Ubuntu Thiên Chúa giáo (Ubuntu Chritian Editor 5.0). Tính chất Thiên Chúa giáo không chỉ ở ảnh nền desktop mà còn cả ở trong nội dung một số phần mềm chuyên biệt (học kinh, các lời răn,...).

desktop

Còn dưới đây là bản Ubuntu Hồi giáo (Ubuntu Muslim Edition 8.04.1)

screenshots

Trong đó có lịch cầu kinh Coran (hình như tới 6 lần một ngày mà phải quỳ hướng đúng về Thánh địa Mecca!):

screenshots2

Mà hình như không thấy ... à có đây rồi. Search "ubuntu buddhism" thì lần ra một bản Ubuntu Phật giáo (Ubuntu-budha)  ở đây và cái hình này:

screenshots1

Cuối cùng để cân bằng với tất cả những cái trên là bản Ubuntu Quỷ Satan (Ubuntu Satanic Edition):

SE-Skulls-1


Không hiểu trong đó có cái quái gì.

8/9/09

Hậu cung của nhà vua

(Nghỉ cuối tuần mà trời nóng quá, ngại ra đường nên ngồi nhà nổi máu văn chương)

Sau khi đã lập xong hậu cung và trở thành một cao thủ trong tình trường Linux, đức Hoàng thượng rùng mình nghĩ lại thời mình còn lẽo đẽo đi theo bà Hoàng hậu già Windows khó tính, bệnh tật virus đầy người, hơi một tý lại lăn ra ngất. Nói cho công bằng, không có bà dìu dắt, Người cũng chẳng có ngày hôm nay. Bây giờ, Người ngạc nhiên nhìn lũ trai trẻ trong vương quốc cam tâm cúc cung tận tụy với Windows mà không biết rằng cả một chân trời mới đang ở ngay bên cạnh. Bởi vậy, Người mới quyết định giới thiệu hậu cung của mình để làm gương.

Và cũng bởi Người bắt đầu thấy nhàm rồi, đang tiến quân đi chinh phục những vùng đất mới.

Nước nhỏ và nghèo nên hậu cung xây trên một miếng đất khá chật: notebook Dell INSPIRON 700m với CPU Pentium M 1.6MHz, 1.256 GB RAM, 40 GB HDD, 82852/855GM Intel Integrated Graphics Device.

Đất hẹp nên mỗi quý phi chỉ được có khoảng 4-5 GB ext3 partition và có một phòng sinh hoạt chung My Documents (ntfs partition, 10 GB) thừa hưởng lại của hoàng hậu Windows XP đã quá cố (xóa sạch rồi chỉ còn lại có My Documents) và cái sảnh swap partition 500 MB cũng dùng chung nốt. Menu list là cái danh sách quyết định cô nào được ân sủng vua vời sẽ nói sau.

Mandriva 2009.1 KDE


snapshot1



Cô này vốn xuất thân từ một dòng họ quý tộc lâu đời (Mandrake 1.0, 7/1998). Cái tính quý tộc thể hiện từ hình thức đến nội dung. Mọi sinh hoạt đều tuân thủ theo nề nếp gia phong của Control Center và System Settings rất đầy đủ, chặt chẽ, rõ ràng, có lớp có lang từng bước một (wizard). Riêng cái nề nếp đó chưa có cô nào theo kịp, kể cả openSUSE. Bảo cô làm việc gì cũng dễ dàng và ngoan ngoãn.

Bộ áo KDE 4.2 cô đang diện vốn là một bộ áo thời thượng nhất, đẹp nhất hiện nay nhưng cũng khó mặc nhất. Nhiều cô khác cũng cố khoác nó lên người nhưng rồi phải bỏ hoặc lụng thụng trông chẳng ra sao (Kubuntu chẳng hạn). Mandriva hòa nhập với KDE4 nhuần nhuyễn và có bản sắc riêng từ cái màn hình khởi động (splash) đến screensaver và nhiều tiểu tiết khác được may cắt riêng chứ không dùng cái có sẵn của KDE.

Nhìn sâu hơn thì cô thuộc loại quý tộc không nghèo nhưng cũng không phải là giầu. Các kho của hồi môn (repositories) khá lớn nhưng chưa bằng được một số cô khác. Và bố trí bên trong cũng hơi lộn xộn.

Tuy dòng dõi cao sang nhưng Mandriva nổi tiếng bình dân. Đặt vào đâu cô cũng hòa nhập rất tốt, không kén cá chọn canh gì (tương thích phần cứng tốt). Chỉ có đến đời 2009.1 này là thấy có chuyện. Cô sống rất thoải mái, nhanh nhạy với cái card màn hình Intel 82852/855GM, nhưng đưa sang chỗ khác có card  82G33/G31 cũng của Intel là chậm chạp hẳn. Đời trước 2009.0 thì lại không sao. Nguyên nhân có lẽ do cái driver Intel mới nhất hiện còn chưa ổn như đã nói trong một post trước.

Mandriva còn có một cô em diện áo GNOME, không xinh bằng chị nhưng nhìn thoáng hơn, nhanh nhẹn hơn vì bớt cầu kỳ. Hoa thơm đánh cả cụm nhưng đất chật đành cho hai cô ở chung một phòng (Install & Remove sofware -> Meta package -> GNOME -> task-gnome-minimal thế là xong). Thích ngắm cô nào thì ở cửa ra vào (màn hình Log in), nhấn vào hình quyển sổ bút chì đăng ký gặp cô đó. Hình cô em đây:

snapshot


Nếu để ý trên hình sẽ thấy, mặc dù cô em khoác áo GNOME nhưng vẫn dùng được đồ KDE của chị (Kontact) và ngược lại. Như thế hay hơn là chỉ có một thứ.


Đức vua hiện nay sủng ái cô chị Mandriva nhất. Hồi mới lập hậu cung, nghe thiên hạ đồn thổi người vời Ubuntu đầu tiên nhưng rồi chê vì hình thức màu mè xấu quá (hồi đó bản lĩnh người còn thấp chưa biết mua sắm trang điểm cho quý phi). Tiếp sau, có thời người sủng ái Kubuntu vì có nhiều nét hao hao giống hoàng hậu Windows. Bây giờ Mandriva với nền nếp gia phong dễ bảo lại xinh đẹp thì vượt lên không có gì là lạ.


Còn sau này thì chưa biết.



Ubuntu 9.04


snapshot1


Ubuntu là con gái nhà giàu mới nổi. Bố cô sau khi quăng một đống tiền đi du lịch vũ trụ về mới sinh ra cô. Tài kinh doanh, tổ chức của bố, tiền của bố và một chiến dịch lăng xê ngoạn mục đã làm cho Ubuntu nhanh chóng nổi như cồn. Chính nhà vua khi mới lập hậu cung cũng nghe đến tên Ubuntu đầu tiên. Đến bây giờ những kẻ chết mê chết mệt cô đông vô kể và đó chính là sức mạnh vô địch của cô. KDE 4.3 mới ra đời có mấy hôm đã có kẻ dâng lên cô rồi là một ví dụ. Đội ngũ fan người Việt cũng khá đông đảo và có một diễn đàn riêng (www.ubuntu-vn.org), cần gì lên đấy mà hỏi. Đó cũng là thế mạnh của Ubuntu ở cái xứ sở còn sơ khai về opensource này.


Kho của hồi môn (repositories) của Ubuntu thừa kế từ cụ bà Debian và bổ xung liên tục đứng vào hàng nhất nhì thiên hạ. Ngay kho Việt nam cũng được chăm sóc cẩn thận hơn các cô khác. Khi đức vua nổi máu phiêu lưu muốn thử cái mới, bao giờ người cũng dùng Ubuntu. Gia đình giàu có, đội ngũ fan đông đảo, thông tin tràn lan trên Internet, Ubuntu dễ dàng giải quyết được những việc mới đề ra.


Con gái nhà giàu mới lớn nên hơi khó bảo so với Mandriva. Có nhiều việc tề gia nội trợ bình thường, Mandriva có sẵn công cụ làm êm ru thì Ubuntu phải tìm kiếm cách làm, cài thêm công cụ,... hết hơi. Mặt khác vì là tầng lớp thượng lưu nên hay sợ điều tiếng, những cái gì không phải opensource là không dùng, báo hại người dùng phải tự bổ xung hơi bị mệt. Nhưng về lâu dài, tiềm năng của Ubuntu là vô địch và tương lai chắc còn sáng lạn.


Cô em Kubuntu khoác bộ cánh KDE4 lộng lẫy cũng được cho ở chung với chị (System -> Administration -> Synaptic Package Manage rồi tìm cài kubuntu-desktop). Nếu muốn diện bộ áo mới nhất KDE 4.3 (vừa may xong hôm 4/8/2009) thì theo hướng dẫn ở đây. hoặc ở đây. Mặc áo xong, ra khỏi phòng (log out) rồi trước khi vào lại, ở màn hình Log in nhấn vào Options -> Sessions để chọn. Kubuntu mặc áo KDE4 không được nhuyễn như Mandriva. Dung nhan Kubuntu 9.04 với KDE 4.3 như thế này:


snapshot2


Sống chung nên hai cô có thể dùng lẫn đồ của nhau. Ubuntu có thể dùng Kontact viết cho KDE và ngược lại Kubuntu cũng dùng được Brasero vốn viết cho GNOME. Thực ra cái đó không phải là mới. Thời các cụ tổ Red Hat (còn miễn phí) và Mandrake, bộ CD cài có 5-6 đĩa, cài xong là có cả KDE và GNOME cùng một đống phần mềm hỗn hợp. Bắt đầu từ Ubuntu nhằm mục đích phổ biến cho nhanh, mọi thứ được co gọn lại về bộ cài một đĩa CD mới có sự phân biệt như ngày nay.



Linux Mint 7


Screenshot


Trong 12 tháng qua (và kể cả trước đây), Linux Mint luôn đứng trong TOP 5 Người đẹp Linux Hoàn vũ. Về cô này đã có bài chi tiết trước đây. Khi cần giới thiệu người đẹp Linux với một người mới (bạn bè, người thân) đưa cô này ra là tiện nhất vì các lý do sau:




  • Mất độ 20 phút cài vào ổ cứng là xong. Hầu như không phải cài thêm gì (trừ bộ gõ tiếng Việt). Ubuntu và Mandriva phải cài bổ xung nhiều. Linux Mint con nhà bình dân không thượng lưu như Mandriva và Ubuntu nên không câu nệ tiểu tiết hay nói đúng hơn là không sợ điều tiếng. Cái gì cần là có không phân biệt cái đó có thuộc đẳng cấp mình (opensource) hay đẳng cấp khác (proprietary).

  • Giao diện nhẹ (GNOME) phù hợp với mọi cấu hình máy, thoáng, đẹp và menu dễ dùng.

  • Linux Mint cũng họ nhà Ubuntu. Do đó thừa hưởng được mọi ưu thế (và cả nhược điểm) của Ubuntu như đã nêu ở trên, nhất là phần hướng dẫn tiếng Việt cho người mới học. Mặt khác vì sinh sau nên Linux Mint có những phần bổ xung mà Ubuntu không có.


PCLinuxOS 2009.2


PCLinuxOS năm ngoái liên tục đứng trong TOP 5 Người đẹp Linux Hoàn vũ. Năm nay thì tụt hạng còn có thứ 7 nhưng vẫn còn có hạng. Con nhà nghèo (nhóm phát triển hoàn toàn là tình nguyện), bố mẹ lại lục đục nên cô chịu nhiều thiệt thòi. PCLinuxOS thuộc họ nhà Mandriva nên cũng thừa hưởng được nền nếp gia phong vốn có (Administration Center).

snapshot1


PCLinuxOS 2009.2 vẫn giữ nguyên bộ áo KDE3. KDE3 nhẹ hơn KDE4 dù không lộng lẫy bằng nhưng phát triển lâu nên khá chín, nhiều công cụ tiện ích bổ xung và chạy cũng nhanh hơn. PCLinuxOS cũng như Linux Mint có tính thực dụng cao nên cái gì cần là có và có khá nhiều tiện ích.


PCLinuxOS có một bộ cánh GNOME khá độc đáo như thế này (cái theme này chắc cài được lên các bản GNOME khác):


Screenshot


Tuy nhiên hai cô này hơi khó ghép ở chung với nhau.


Một trong những điểm chơi trội gần đây của PCLinuxOS là bản Firefox 3.5 vừa ra đời chỉ ít lâu sau đã được chính thức đươưa vào kho và tự động upgrade được. Các cô khác còn đang ngắm nghía, thử nên nếu muốn phải tự cài riêng từ ngoài vào.


Thực tình trước đây openSUSE, Fedora, Debian, Mepis, DreamLinux, Knopix,... và thậm chí cả openSolaris cũng đã lần luợt đi qua hậu cung này. openSUSE dung nhan không có gì đặc biệt, nề nếp gia phong rất bài bản nhưng lại quá rắc rối khắt khe, Fedora và Debian dòng dõi lâu đời nhưng không có gì nổi bật đối với người dùng bình thường, Solaris là một nhánh trực hệ của cụ cố Unix, khó tính khó nết không chịu sống chung với các cô khác nên đều bị loại. Bởi vì mục đích lập hậu cung là thực dụng, không phải nghiên cứu.


Những lúc vui đùa với đám mỹ nữ này, coi khinh các loại virus, nghĩ đến những kẻ đang mê muội bám đuôi bà lão Window mà thấy thương và ái ngại.


(còn tiếp, nếu trời còn nóng).



8/7/09

Mạng 1 triệu máy tính chạy trong một căn phòng!


Một mạng máy tính gồm 1 triệu cái chạy đồng thời trong một căn phòng! Và sắp tới là 10 triệu cái.
Không, đây không phải phim viễn tưởng.
Cuộc tấn công các site Hàn quốc và Mỹ vừa qua bằng một đội quân 160 000 máy tính âm binh (botnet) đặt ra những thách thức nghiêm trọng đối với toàn thế giới. Các nhà nghiên cứu an ninh mạng đã tiến hành tạo 1 triệu máy tính ảo chạy trên một siêu máy tính, mỗi máy ảo sẽ chạy hệ điều hành tối thiểu là nhân Linux (Linux kernel) để mô phỏng hành vi của một mạng 1 triệu máy tính ma. Nếu dùng Windows, chỉ tính riêng tiền bản quyền cứ cho là 10 USD/1 máy đi, thí nghiệm này sẽ mất 10 triệu USD. Trong các siêu máy tính thì Linux là hệ điều hành thống trị. Và cũng chỉ có Linux với phần nhân (kernel) rất nhỏ nhưng vẫn chạy độc lập được với một số chức năng cần thiết mới có thể tham gia thí nghiệm này (bản Tiny Linux khoảng 13 MB, kernel khoảng vài MB). Về ảo hóa trong môi trường máy tính đã giới thiệu tại đây.
Dưới đây là bản lược dịch bản tin gốc tại đây
07/31/09 4:00 AM PT

Các nhà nghiên cứu tai phòng thí nghiệm quốc gia Sandia đã tạo nền móng cho một thí nghiệm mô phỏng chưa từng có một mạng máy tính ma cỡ lớn khi họ cho khởi động 1 triệu máy tính ảo chạy nhân Linux (trên một siêu máy tính).


Các nhà khoa học máy tính tại phòng thí nghiệm Sandia: Ron Minnich (phía trước) và Don Rudish (phía sau)



Hiện họ đang chờ chế tạo xong một siêu máy tính mới mạnh hơn và nhanh hơn tại phòng thí nghiệm Livemore, California. Trên đó, họ hy vọng sẽ chạy được 10 triệu máy ảo có cả các Web server và mail server cũng như mô phỏng các user kích vào các email chứa virus rồi biến thành âm binh như thế nào.

Cũng còn nhiều khó khăn, thách thức. Ví dụ thiết bị chuyển mạch (switch) của siêu máy tính không thể nhận biết được 1 triệu địa chỉ MAC. Sau khi 100'000 máy ảo khởi động, mạng bò lê bò càng. Và đọc được 1 triệu dòng trong một file log mất vô khối thời gian.

Hiện nay thì các nhà nghiên cứu chưa biết gì nhiều về hoạt động của một mạng máy tính ma (botnet). Vì vậy họ dự kiến chờ siêu máy tính Red Sky sắp chế tạo xong để tạo nên một mạng máy ảo 10 triệu cái, đưa phần mềm botnet vào và xem điều gì sẽ xảy ra.

Các nhà nghiên cứu khác cũng đã mô phỏng hành vi của botnet trên máy tính, nhưng ít người biết nó thực sự hoạt động như thế nào. Thí nghiệm ở Sandia khác hẳn vì nó gần với thực tế hơn.

8/5/09

Máy chủ mail gồm những gì

Để cài đặt một máy chủ email, có nhiều cách làm, nhiều lựa chọn. Tôi chia sẻ một vài điều "lọ mọ" được.

Đại thể khi gửi, nhận thư điện tử các bước và các phần mềm sau được sử dụng;

  1. Người gửi thư dùng một trong những phần mềm thư điện tử cá nhân (email client: Outlook, Outlook Express, Thunderbird, KMail, ... hoặc các webmail như Gmail, Yahoo Mail, Squirrel Mail,,...) để soạn thư. Các email client còn được gọi là Mail User Agent (MDA).

  2. Khi nhấn nút Send, một kết nối theo giao thức SMTP qua cổng 25 được thiết lập với máy chủ mail. Để đảm bảo an toàn, kết nối này có thể dùng các giao thức mã hóa SSL (Secure Socket Layer) hoặc TLS (Transport Layer Security) để mã hóa các thông tin trao đổi giữa email client và máy chủ mail.

  3. Username và password của người gửi được một chương trình xác thực (authentication) kiểm tra. Chương trình này thường là OpenLDAP hoặc một cơ sở dữ liệu (MySQL, ....).

  4. Nếu kết quả kiểm tra xác nhận người gửi là người đã đăng ký, thư được chuyển cho chương trình Mail Transfer Agent (MTA). Chương trình này có thể là Sendmail, Postfix, Courrier, qmail, v.v...Trước khi nhận, MTA (hoặc một chương trình riêng Mail Submission Agent -MSA) soát, sửa các lỗi của thư (lỗi địa chỉ, ngày tháng, ...).

  5. MTA sẽ đọc domain trong địa chỉ người nhận (phần bên phải @) rồi hỏi các DNS server trên Internet để tìm địa chỉ máy chủ mail của domain đó theo các MX record đã khai trong DNS server. Khi tìm được, MTA gửi thiết lập kết nối với MTA nhận qua cổng 25.

  6. Chương trình xác thực trên máy chủ nhận (OpenLDAP, MySQL, ...) sẽ kiểm tra xem người nhận có được đăng ký trên máy đó không. Nếu không, sẽ có báo lỗi 550 về cho người gửi và từ chối nhận thư.

  7. Nếu người nhận được xác thực, thư sẽ được tiếp tục kiểm tra virus, spam bằng các chương trình antivirus (ví dụ clamAV), chương trình antispam (ví dụ Spamassasin hoặc Postgrey, ...) và quota dung lượng hộp thư người nhận trên máy chủ cũng được kiểm tra xem còn không hay đã đầy. Nếu hộp thư đầy hoặc thư có virus sẽ có mail thông báo cho người gửi và thư bị từ chối.

  8. Sau khi kiểm tra mail xong, MTA chuyển giao thư cho phần mềm Mailbox Server qua giao thức LMTP. Tại đây, một phần mềm Mail Delivery Agent sẽ lưu thư vào hộp thư người nhận (Inbox hoặc Spam tùy theo thư có bị đánh dấu là spam hay không).

  9. Tại Mailbox Server còn một loạt hoạt động khác được thực hiện: lập chỉ số (index) của thư và file đính kèm bằng Lucent để tìm kiếm nhanh, lưu meta-data của mail vào một cơ sở dữ liệu nào đó, lưu thư theo định dạng mailbox hoặc maildir đã chọn vào một hệ thống file, convert các file đính kèm thành dạng HTML để xem trong trình duyệt, v.v... Các dịch vụ này có thể có hoặc không theo ý đồ của người thiết kế hệ thống mail.

  10. Người nhận dùng một phần mềm email client (Outlook, webmail, ...) kết nối với máy chủ mail bằng giao thức POP3 hoặc IMAP để đọc thư. Trên máy chủ, phần mềm POP3 hoặc IMAP server (Dovecot, Courrier, ...) phụ trách việc kết nối này và tìm thư từ mailbox để chuyển về hoặc hiển thị trên email client. Quá trình kết thúc ở đây.

  11. Ngoài ra trên máy chủ Mail server còn có thể có một số thành phần phụ nữa theo ý người cài đặt: webmail, một giao diện quản lý (Administrator consol) thường cũng là giao diện web, phần mềm backup, phần mềm clustering nếu muốn hệ có tính sẵn sàng cao, v.v...Với một hệ thống lớn có thể dùng nhiều máy chủ, thiết lập một cơ chế tự động cân bằng tải, bổ xung hoặc thay thế các máy chủ khi cần.


Mô tả thì hơi dài nhưng trong thực tế, một số phần mềm kiêm nhiều chức năng đã nêu ở trên.

Như vậy, cái gọi là Mail server không phải chỉ là một phần mềm. Nó là cả một cỗ máy gồm nhiều bộ phận kết hợp hài hòa với nhau mà gọi chính xác là một email solution. Do đó, để cài một Mail server ta có vài cách làm (cũng như khi xây nhà):

  1. Nếu bạn có đủ các điều kiện sau đây: chỉ sô IQ cao, lòng say mê, tính kiên nhẫn và thời gian dài rộng bạn có thể tự mình chọn lựa, thiết kế, tích hợp và cài đặt một mail server từ các bộ phận nói trên. Chỉ tìm đọc trên Internet và chọn thật sự một bộ phận đúng ý mình cũng đủ mệt rồi. Bước tiếp theo cài cho chúng làm việc khớp với nhau có thể theo các hướng dẫn kiểu như thế này. (thực hiện đến từng dòng lệnh). Nhưng phần còn lại mới là khó nhất: điều khiển (control), tinh chỉnh (fine tuning), khắc phục lỗi từng bộ phận sao cho toàn hệ thống làm việc đạt tốc độ tối ưu, trơn tru liên tục. Xây một cái trông giống như cái nhà không khó. Chất lượng thật của cái nhà đó sau một thời gian ở và vài cơn mưa bão mới là cái đáng bàn. Những ai đã từng tự xây nhà để ở đều hiểu những khó khăn chầy chật của cách làm này. Bù lại, kiến thức, tay nghề lên trông thấy, hiểu đến từng file config trong hệ thống. Nhưng nếu trình thấp, đọc tiếng Anh còn không thông, hay sốt ruột làm bừa thì .... cái bạn làm ra sẽ gieo tai họa cho người dùng. Tôi phải nhấn mạnh điều này vì tôi đã và có nguy cơ sẽ là nạn nhân của kiểu sản phẩm như vậy.

  2. Cách thứ hai là dùng các sản phẩm tích hợp sẵn ở mức cơ bản.Những sản phẩm này (eBox, iRedMail, deefOfix, ...) có các bộ phận cấu thành vẫn là các phần mềm nguồn mở thông dụng như đã nêu ở mục trên nhưng được tích hợp sẵn, chặt chẽ với nhau. Các lệnh cài đặt, cấu hình được tập hợp lại thành một chương trình scripts. Vì vậy khi cài theo một mạch từ đầu đến cuối. Và đặc biệt khi thay đổi, cấu hình một bộ phận nào thì các phần liên quan sẽ tự động thay đổi theo. Thường cũng có thêm một phần mềm quản trị dưới dạng web.Tính năng của cả sản phẩm nằm trong phạm vi tính năng của từng bộ phận cấu thành và vì vậy thường đơn giản nhưng đủ dùng cho những nhu cầu cơ bản. Các tính năng mở rộng cũng có nhưng phải tự cài qua các extensions.

  3. Loại sản phẩm thứ ba có các bộ phận cơ bản cũng vẫn như trên (postfix, openldap, spamassassin, ...) nhưng phần giá trị gia tăng rất đáng kể. Zimbra, Open-Xchange, Scalix,. v.v... thuộc loại này. Giá trị gia tăng ở đây có thể là thiết kế hệ thống phức tạp và tinh vi hơn, nhiều bộ phận hơn, tính năng mở rộng, đầy đủ hơn, có nhiều phần mềm bổ xung, viết thêm ngoài những phần mềm nguồn mở cơ bản có sẵn, giao diện quản trị và sử dụng đầy đủ. Nhóm này thường không chỉ có mail mà là một bộ phần mềm cộng tác (collaborative software) có thể chia sẻ mail, lịch công tác, file, sổ địa chỉ, danh mục công việc, lên lịch họp và tự động gửi mail mời họp, báo thời gian bận, rỗi v.v... tương tự như cặp MS Exchange + Outlook.


Vì vậy, để học và nắm vững thì nên theo cách thứ nhất. Nhưng sau đó để dùng thì nên theo cách 2 hoặc 3.

Lại mấy người khổng lồ chuyển sang dùng Linux

Hệ thống phối hợp hỗ trợ chiến đấu của quân đội Mỹ (the Global Combat Support System-Joint GCSS-J)


Cục Hệ thống thông tin Quốc phòng của quân đội Mỹ (The Defense Information Systems Agency DISA) chịu trách nhiệm về lập kế hoạch, phát triển, thử nghiệm, triển khai và hỗ trợ các hệ thống thông tin, viễn thông chỉ huy và điều khiển phục vụ cho Tổng thống, Phó tổng thống, bộ trưởng Quốc phòng, Tổng tham mưu trưởng liên quân, các tư lệnh chiến trường và các đơn vị khác của quân đội Mỹ trong mọi điều kiện thời chiến cũng như thời bình.

Hệ thống phối hợp hỗ trợ chiến đấu GCSS-J do DISA phát triển là hệ thống tích hợp các nguồn thông tin hậu cần (logistics information) khác nhau. GCSS-J có khả năng cung cấp cho các tư lệnh chiến trường thông tin theo thời gian thực về vận tải, tiếp liệu, quân lực, bảo trì, y tế, tài chính và các hệ thống kỹ thuật phục vụ chiến đấu. Chi tiết xem tại đây.

DISA đã chọn MetaMatrix Enterprise Data Services Platform của Red Hat làm hệ thống nền cho GCSS-J. Đây là một giải pháp của Red Hat cung cấp dịch vụ truy cập các nguồn dữ liệu đa dạng khác nhau cho phần mềm xây dựng theo kiến trúc hướng dịch vụ.

Hãng bán lẻ khổng lồ Gap Inc.


Gap Inc. là công ty đứng thứ 144 trong danh sách Fortune 500 năm 2007, sử dụng 150'000 nhân công tại 3100 chi nhánh trên toàn cầu. Để tân trang lại hạ tầng công nghệ thông tin, công ty đã tiến hành xem xét, thử nghiệm cả Unix, Windows và Linux. Kết quả Linux Red Hat được chọn như hệ điều hành nền cho toàn hệ thống.

Tuy nhiên, để quản lý user trong hệ thống toàn cầu của mình, Gap dùng Active Directory của Microsoft (giống cách làm của ngân hàng HSBC, xem tại đây). Likewise, một giải pháp nguồn mở khác cho phép các user trên máy Linux, Unix,.. xác thực trong Active Directory, đã được sử dụng làm cầu nối giữa các hệ điều hành này.

Như vậy cùng với WallMart, hãng bán lẻ lớn nhất và cũng là hãng đứng đầu Forune 500 2008 dùng SUSE Linux Enterprise (xem thêm tại đây) lại thêm một hãng trong Fortune 500 chuyển sang dùng Linux. Thông tin thêm về các hãng trong Fortune 500 dùng Linux xem tại đây. SUSE Linux Enterprise còn có một khách hàng lớn trong các hãng bán lẻ là Office Depot (xem tại đây)

Hãng sản xuất thép Posco


Posco là một trong những hãng sản xuất thép lớn nhất thế giới (30 triệu tấn/năm) có hơn 20'000 công nhân. Trước đây, hãng dùng các máy chủ Unix lớn và đắt tiền. Trong giai đoạn từ 2004-2009, hãng quyết định thay thế các máy chủ đã cũ đó bằng các máy chủ thương mại thông thường của IBM và HP. Hệ điều hành được chọn cho các máy chủ mới là Red Hat Enterprise Linux.

Còn nữa, nhưng tạm thế đã.