Posts

Showing posts from July, 2007

www.tuoitre.com.vn thay đổi cách thiết kế menu

Cập nhật mới: các menu ở www.tuoitre.com.vn giờ đã trở thành clickable, có vẻ như họ rất quan tâm đến những gì tôi viết ;).

Hôm nay vào www.tuoitre.com.vn, tôi thấy họ lại thay đổi thiết kế của menu. Bản thân tôi nghĩ rằng thiết kế mới này là một bước lùi đáng kể so với thiết kế cũ mà tôi đã phân tích trước đây.

Chỗ không hay nhất trong thiết kế này là unclickable menu. Tôi không thể click trực tiếp vào các menu như "Thế giới" hay "Thể Thao", mà tôi phải rê chuột vào các menu này, rồi sau đó rê chuột xuống các submenu bên dưới và click vào các submenu này. Điều này sẽ đem lại rất nhiều phiền toái cho tôi:

Thứ nhất, để đọc được tin tức trong một chuyên mục nào đó, tôi phải thực hiện tổng cộng 3 thao tác, thay vì chỉ 1 thao tác nếu như các menu là clickable. Đó là chưa kể một vài submenu còn sổ ra một dropdown menu nữa, tôi buộc phải click vào chúng thêm một lần nữa. Khi số lượng thao tác tăng lên, nghĩa là xác suất tôi - người sử dụng - gây ra lỗi hoặc phải suy nghĩ sẽ…

Không phải cứ "hàng khủng" là tốt (tt)

Nhắc lại phần đầu, máy chủ Oracle của một khách hàng mặc dù có đến 32G RAM và 16CPU nhưng vẫn thường xuyên bị treo vì quá tải. Tôi được giao nhiệm vụ tìm hiểu nguyên nhân và nhờ sự hỗ trợ của Oracle Metalink, tạm thời tôi đã tìm ra đầu mối liên quan đến Hugepages.

HugePages là một tính năng được giới thiệu từ phiên bản Linux kernel 2.6. Linux sử dụng page như là đơn vị cơ bản của bộ nhớ - bộ nhớ vật lý được phân chia và truy cập theo từng page. Kích thước mặc định của một page trong kiến trúc x86 là 4KB, trong ia64 là 16KB, nghĩa là nếu tôi có 32G RAM, Linux sẽ tự động chia lượng RAM này thành 2^21 page, một con số khổng lồ.

Hugepages, như tên gọi của nó, giúp Linux tăng kích thước mỗi page lên, nhằm mục đích giảm số lượng page. Với kiến trúc x64, khi sử dụng Hugepages, mỗi page sẽ có kích thước lên đến 256MB, nghĩa là nếu tôi có 32RAM, Linux chỉ cần chia ra 128 hugepage là đủ.

Trước khi đi vào chi tiết những lợi ích của Hugepage, ta hãy cùng điểm qua hai thành phần rất quan trọng trong…

Tấn công DDoS bằng PDF Spam

Image
Hôm nay tôi có một case khá thú vị. Một khách hàng gọi điện, báo server của họ đặt ở FPT Telecom (chỗ 64-66 Võ Văn Tần Q.3) bị phía FPT Telecom...tắt mất vì có quá nhiều traffic đi vào server này, có thời điểm lên đến 100Mbs. Họ nhờ tôi đến FPT Telecom trực tiếp kiểm tra xem nguyên nhân tại sao có quá nhiều traffic đến server.

Trên đường đi, tôi được biết server của khách hàng tôi không hề bị treo hay gặp vấn đề gì cả, chỉ có...firewall của FPT Telecom (nếu tôi đoán không lầm là Checkpoint trên Windows) lại bị treo khi phải tiếp nhận và xử lí lượng traffic lớn như thế; thành ra toàn bộ các server nằm phía sau con firewall này coi như bị cách ly với thế giới bên ngoài.

Bên FPT Telecom cũng đã thông báo cho khách hàng của tôi rồi, nhưng khách hàng của tôi lại không biết cách kiểm tra thế nào, thế mới xảy ra chuyện FPT Telecom buộc lòng tắt server và disable cái switch port luôn.

Đến chỗ FPT Telecom, đợi gần 15' đám bảo vệ mới cho vào, rồi leo thang bộ lên đến tận tầng 5, tôi muốn ná th…

VNNIC bán thông tin khách hàng cho spammer?

Liên tục trong tuần này tôi nhận được tổng cộng 5 email từ các công ty VDC Hà Nội, VDC Tp.HCM, PAVietnam và NetNam. Ngoại trừ một email có tiêu đề là "Thử phát nữa" (??!!) từ VDC Tp.HCM, tất cả các email còn lại đều...khuyên tôi nên chuyển các tên miền .vn tôi đang sở hữu ở VNNIC sang công ty của họ. Dĩ nhiên tất cả đều không quên quảng cáo về công ty cũng như dịch vụ "ưu việt" mà họ hứa hẹn sẽ cung cấp cho tôi, nếu tôi đồng ý với đề nghị của họ.

Đây rõ ràng là hành động spamming và các công ty kể trên chính là spammer, bởi lẽ tôi không muốn và không đăng ký để nhận email quảng cáo từ họ. Tuy vậy, chuyện các công ty kể trên đi spam khách hàng đã là chuyện thường ngày ở huyện, không có gì mới cả. Chuyện mới ở đây là tại sao các công ty này lại có thông tin về tên miền và địa chỉ email của tôi? Phải chăng VNNIC đã bán thông tin khách hàng cho spammer?

Thư rác VN

Image
VietnamNet vừa có đăng một bài nhan đề Thư rác Việt Nam vào thời "loạn"!
Dịch vụ gửi thư rác ở Việt Nam đã lên đến mức "chuyên nghiệp". Ngay tại Hà Nội, đã có hàng chục công ty công khai tên tuổi, danh tính tuyên bố sẵn sàng gửi thư rác thuê với số lượng hàng triệu e-mail mỗi ngàyNhìn chung bài báo đưa ra được những cảnh báo cần thiết về tình trạng bùng phát của việc gửi spam ở VN. Tuy vậy tôi thấy có vài điểm cần bàn ở đoạn cuối của bài báo này:Ai là người chịu thiệt?
Tất nhiên là người dùng! Năm 2005, một trong những nhà cung cấp dịch vụ Internet ở Việt Nam từng bị thế giới xếp vào danh sách có số lượng spam mail ở mức báo động, và các doanh nghiệp sử dụng dịch vụ của ISP này sau đó không thể gửi thư điện tử ra nước ngoài vì bị chặn. Đương nhiên người dùng mới là những người chịu thiệt đầu tiên.
"Thời gian gần đây, số thư rác tiếng Việt bùng phát gây ra những phiền toái và thiệt hại cho công ty chúng tôi rất nhiều, có hôm, cả cơ quan bị nghẽn mạng và không liên…

Ngồi ở đâu trên máy bay là an toàn nhất?

Image

Dùng iptables NAT thay thế cho reverse proxy

Hôm rồi một khách hàng thông báo website của họ cứ chập chờn, lúc vào được, lúc lại không. Tôi vào kiểm tra thì thấy web-server của họ hoàn toàn ổn, duy một điều coi log lại không thấy kết nối nào đến được web-server cả. Loay hoay một hồi, khách hàng mới báo cho biết rằng họ có sử dụng một con squid làm reverse proxy đứng trước web-server, mục đích là để cache lại static content.

Tôi vào kiểm tra con squid này thì phát hiện trong log của nó phun ra khá nhiều lỗi. Google cho biết đây là những lỗi khá nghiêm trọng và cũng có đưa ra vài giải pháp, nhưng do tôi không có nhiều kinh nghiệm với squid thành ra loay hoay mãi mà vẫn không sao giải quyết được.

Tôi quyết định tạm thời stop con squid này lại, tìm một giải pháp thay thế. Ban đầu tôi định sử dụng Apache để làm reverse proxy do tôi có nhiều kinh nghiệm với thằng này. Tuy vậy, giải pháp này khá mất thời gian mà con reverse proxy này cũng sẽ bị "kết liễu" trong vài ngày tới, nên tôi quyết định sử dụng chức năng NAT của iptabl…

20 chai/tháng + 5% cổ phiếu dạng cổ đông chiến lược

Image
(bạn Lê Quỳnh, phóng viên VNN, có hỏi ý tôi về việc đăng bài này lên VNN, và tôi đã đồng ý. Các bạn có thể xem ở http://vietnamnet.vn/giaoduc/2009/03/833719/).

Câu hỏi nào là khó trả lời nhất khi phỏng vấn xin việc? Không biết đối với người khác thì như thế nào, đối với tôi đó chính là câu "thế anh đề nghị mức lương bao nhiêu?".

Từ trước đến giờ, không kể các dạng làm theo hợp đồng, tôi có apply vào tổng cộng 3 công ty. Hầu như lần nào tôi cũng đề nghị một mức lương thấp hơn tôi dự tính rồi nhận một mức lương thấp hơn tôi xứng đáng được nhận.

Công ty đầu tiên đầu tiên của tôi là FPT Telecom, hồi cuối năm 2003. Lúc người phỏng vấn hỏi câu trên, tôi đã rất thành thật khai báo mất lương hiện tại của tôi là 2.500.000/tháng (lúc đó tôi làm cộng tác viên cho Tuổi Trẻ Online) và chỉ muốn nhận bằng khoản lương đó. Bài học đầu tiên: mỗi lần đổi công việc là mỗi lần phải được tăng lương, nghĩa là bạn phải yêu cầu một mức lương cao hơn công việc cũ, coi như là chi phí để làm quen với môi…

Không phải cứ "hàng khủng" là tốt

Cách đây hơn 2 tháng, một khách hàng của tôi có một project rất quan trọng: nâng cấp máy chủ database từ Oracle 9i lên Oracle 10g cho hệ thống core-banking của họ.

Mọi việc diễn ra tốt đẹp cho đến ngày đưa hệ thống vào production. Cứ chạy chừng 30' là con server "hàng khủng" 16 CPU Intel Itanium 2 + 32G RAM "sụm bà chè". CPU idle 0%, ssh vào còn không được, huống hồ chi là chạy Oracle. Họ liên hệ với tôi để tìm cách cứu chữa (tôi vốn có làm dự án core-banking này từ trước).

Việc đầu tiên tôi làm là...nhất nút reboot máy chủ. Dẫu biết đối với hệ thống database, việc hard reset như thế là điều tối kỵ, nhưng lúc đó quả thật tôi chẳng còn lựa chọn nào khác để giải thoát máy chủ ra khỏi tình trạng treo cứng, đành phải gửi trọn niềm tin vào Larry Ellison, hi vọng "bé" Oracle sẽ tự phục hồi sau khi reboot (thật ra vẫn còn một giải pháp dự phòng nếu Oracle không thể tự phục hồi được nên tôi mới tự tin vậy).

Sau khi reboot, tôi bắt đầu chuẩn bị một mớ công cụ cần…

Một phương pháp chống DDoS bằng xFlash

Ý tưởng

Dựa vào gợi ý của Amit Klein:
Notice the first limitation of the technique - it states that no raw CR and LF can be placed in the body section. This means that the technique cannot be used to send (POST) requests whose body complies with the "multipart/form-data" content-type format (this format uses raw CRs and LFs to mark headers and boundaries). In other words, a (POST) request whose body is a valid "multipart/form-data" stream is guaranteed (as far as today's knowledge extends) not to be sent from a Flash player. Web application authors can therefore use HTML forms whose ENCTYPE attribute is set to "multipart/form-data", and enforce that the submission contains a valid multipart/form-data body. Once these mechanisms are in place, and a request passes through, it is known not to originate from a Flash player, so the attack
described here is irrelevant. Gợi ý ở trên có thể được diễn giải như sau:
Cách thức browser xử lí các HTML form có enctyp…

Where are Vietnamese hackers/security researchers?

From rd of VnSecurity:
So the Call for Papers of VNSECON 07 has been closed last week. The technical committees of VNSECON 07 now are looking over all the submissions. The final technical program would be announced sometimes at the beginning of next week and there are some really interesting topics which I love to hear.

I'm kind of disappointed that so far we've only received 03 submissions from Vietnamese (two of them are VNSEC members and one from a student in Hanoi). These submissions are quite ok and I would love to see more submission from Vietnam. We may consider extending 1 - 2 more weeks for submissions on both Technical and Business tracks (see below) for Vietnamese only. So if you want to have a chance to talk about your security experience/research this August in Ho Chi Minh City, please submit your proposal to cfp-AT-vnsecurity.net.

DDoS Attacks and Countermeasures

Tôi mới làm xong cái slide nói về đề tài trên. Mặc dù bàn về DDoS nhưng cũng có nhiều thông tin về xây dựng hệ thống sao cho đảm bảo về performance và scalability. Tôi sẽ trình bày về đề tài này vào lúc 9h sáng 09/06/2007, tại Lầu 2 - Nhà Hàng LION – 11C Công Trường Lam Sơn, Q.1.




Giao diện mới của www.tuoitre.com.vn

Image
Trang www.tuoitre.com.vn mà tôi đã thử mổ xẻ lần trước vừa mới thay đổi giao diện. Theo nhận xét của riêng tôi, giao diện mới của www.tuoitre.com.vn là hay nhất trong các website tin tức phổ biến ở VN, mặc dù vẫn còn vài chỗ chưa được.

Do lần trước tôi chê hơi bị nhiều, lần này tôi sẽ nói về hai vấn đề thôi: điều tôi thích nhất và điều tôi ghét nhất ở giao diện mới này.

Thích nhất: navigation bar nằm ngang



Điều tôi ứng ý nhất ở giao diện mới này chính là nagivation bar được chỉnh sang nằm ngang. Người thiết kế www.tuoitre.com.vn đã mạnh dạn (và hoàn toàn chính xác) khi vượt qua khỏi lối mòn thiết kế navigation bar nằm dọc của hầu như tất cả các trang tin ở VN (có lẽ tất cả đều cố gắng bắt chước VnExpress). Có nhiều lợi ích khi chuyển navigation bar sang nằm ngang:

Thứ nhất, navigation bar nằm ngang sẽ tách rời hoàn toàn so với nội dung của website, nó giúp người dùng nhanh chóng nhận ra được những đề mục chính mà website này cung cấp.

Navigation bar là một phần quan trọng của website,…

designing the obvious

Image
Đợt đi chơi vừa rồi tôi mua được 5 cuốn sách:

* 2 cuốn về web design: css masterydesigning the obvious

* 2 cuốn về security: the oracle hacker's handbookreversing: the secrets of reverse engineering

* 1 cuốn tôi chẳng biết xếp vào đâu: building scalable web sites

Mỗi cuốn tôi mua dành cho một mục đích khác nhau. Cuốn css mastery là dành để tặng bạn gái, hi vọng em sẽ nhanh chóng hiểu được css và xhtml, haha lúc đó tôi tha hồ...lợi dụng, nhờ thiết kế giùm mấy cái dự án của tôi. Cuốn oracle là dành cho công việc, hiện tại tôi có rất nhiều thứ phải làm liên quan đến thằng oracle này. Cuốn building scalable web sites dành cho tương lai một vài tháng tới, nếu dự án bán áo thun của tôi thành công, tôi sẽ cần đến nó. Ngoài ra tôi nghĩ nó cũng sẽ giúp ích một phần nào đó khi đi tư vấn cho mấy cái hệ thống LAMP. Cuốn reversing dùng để giải trí là chính.

Chỉ mỗi cuốn designing the obvious là tôi mua mà không có mục đích gì hết, chỉ vì thấy nó thiết kế đẹp và đọc thử thấy nó nói cũng hay …

WordPress 2.1.1 chứa mã nguy hiểm

Một tay hacker xâm nhập vào máy chủ của Wordpress và sửa mã nguồn của phiên bản 2.1.1 để gài vào một backdoor cho phép thực thi mã PHP từ xa: This morning we received a note to our security mailing address about unusual and highly exploitable code in WordPress. The issue was investigated, and it appeared that the 2.1.1 download had been modified from its original code. We took the website down immediately to investigate what happened.

Ai viết 2.6.20?

LWN.net vừa trả lời một cách xuất sắc cho câu hỏi thường gặp: ai viết code cho Linux? Hóa ra phần lớn mã nguồn của Linux được đóng góp bởi lập trình viên làm việc cho các tập đoàn như Red Hat, IBM, Google và cả Nokia. Bài viết kết luận: The end result of all this is that a number of the widely-expressed opinions about kernel development turn out to be true. There really are thousands of developers — at least, almost 2,000 who put in at least one patch over the course of the last year. Linus Torvalds is directly responsible for a very small portion of the code which makes it into the kernel. Contemporary kernel development is spread out among a broad group of people, most of whom are paid for the work they do. Overall, the picture is of a broad-based and well-supported development community.

Tự làm một distro Linux

Image
Khi mới tìm hiểu Linux, tôi đã luôn thắc mắc không biết người ta tạo ra một distro như thế nào. Tôi nghĩ chắc hẳn đó phải là một công việc hết sức phức tạp, đòi hỏi nhiều kĩ năng cao cấp mà chỉ những người sử dụng Linux lâu năm mới làm được. Và dĩ nhiên, chắc hẳn bạn cũng biết, tôi đã luôn ao ước một ngày nào đó có thể tự tay mình tạo ra được một distro.

Tôi bắt đầu bằng Linux from scratch. Chà, có vẻ cũng dễ nhỉ, cứ việc làm theo những gì trong sách viết là xong. Nhưng nếu làm thủ công như thế này thì làm sao có thể sản xuất đại trà được nhỉ? Có cách nào làm tự động không ta? Chẳng hạn như tôi chỉ cần đóng gói các software lại, đưa chúng vào để chung trong một thư mục, bấm một nút hay chạy một lệnh là nó sẽ tự động tạo ra cái distro với đầy đủ bộ cài đặt và tài liệu đính kèm. Có ngay rBuilder Online!

Có thể nói rằng công nghệ hay nhất mà tôi học được trong năm 2006 chính là công nghệ do rPath cung cấp thông qua rBuilder Online. Một công nghệ tuyệt vời giúp bạn có thể tạo ra được một di…

Phần thưởng nào dành cho người làm bảo mật?

Nên đọc bài này nếu bạn có ước muốn trở thành chuyên gia bảo mật:
One of the problems with the field of Information Security, particularly secure application development, is that it is not an inherently rewarding practice. Development is a rewarding practice when you add new functionality, or make existing processes easier to use or more efficient.

The really dangerous part of this lack of reward is that hacking is inherently rewarding for those with that mindset. I've told co-workers many times that if I didn't really have a concern with the legality or the morality of it, (we won't get into whether Robin Hood was virtuous or not), I would probably want to be a hacker. In a development world, or even in support of a development world, you're driven by project deadlines and feature sets that the users covet. Security is (generally) an afterthought. In the black hat world, unless you're being directly paid for something you're supposed to produce ultimately, you&#…

ADSL DoS

Trong bài trước tôi có nói về ý tưởng làm luận văn tốt nghiệp với đề tài bàn về những điểm yếu trong cơ sở hạ tầng mạng có thể ảnh hưởng đến sự an toàn của người sử dụng Internet ở VN. Trong bài này tôi sẽ trình bày một điểm yếu nhỏ trong dịch vụ ADSL hay Cable Internet -1- của các ISP. Tận dụng điểm yếu này, bạn có thể tấn công theo kiểu từ chối dịch vụ, ngăn cản một người nào đó sử dụng dịch vụ ADSL khi bạn biết được địa chỉ MAC-2- của họ.

Tôi đã kiểm tra và xác nhận lỗ hổng này tồn tại trong dịch vụ Cable Internet của SCTV. Tôi chưa kiểm tra các ISP khác như FPT, MegaVNN hay Vietel nên không biết liệu họ có bị vấn đề này hay không. Nếu có điều kiện, tôi sẽ kiểm tra thử và cập nhật trên blog này.

Theo tôi được biết, tất cả các nhà cung cấp dịch vụ ADSL ở VN đều sử dụng giao thức PPPoE - Point to Point Protocol Over Ethernet để kết nối máy tính của bạn vào hệ thống mạng của họ. PPPoE, được miêu tả trong RFC 2516, là giao thức cho phép truyền frame PPP qua mạng Ethernet bằng cách nhúng …

Hội hay là thảo?

(bài này đánh giá chất lượng một cá nhân, tổ chức khác, nếu bạn không thích xin vui lòng đừng đọc)

Thứ bảy tuần rồi tôi mới tham dự một hội thảo bảo mật có tên khá kêu là Đại hội hacker mũ trắng. Hội thảo được tổ chức khá hoành tráng, kéo dài từ 8h sáng đến tận 5h chiều ở Dinh Thống Nhất với sự tham dự của Microsoft, MiSoft, VietShield, Athena...Buổi sáng tôi bận việc nên chỉ tham gia vào phiên thứ hai, bắt đầu lúc 13h30. Tôi đến lúc 13h45, cũng may là bài tham luận đầu tiên của buổi chiều vẫn chưa bắt đầu. Chà, dân mình quan tâm đến bảo mật thật, tôi ước đoán có khoảng 800-1000 người ngồi gần hết hội trường chính của dinh Thống Nhất, trong đó khoảng 70%-80% là sinh viên (một người bạn của tôi tham dự phiên buổi sáng cho biết buổi sáng toàn mấy bậc trung niên ngồi nghe).

Gần 2h chiều, bài tham luận mang tên "10 phút tấn công hệ thống email server", với diễn giả là một tay CCIE, mở đầu cho phiên buổi chiều. Diễn giả bắt đầu bằng việc đưa ra khá nhiều định nghĩa, mà tôi chỉ ấn t…

Cái giá của spam

Một khách hàng của tôi hôm rồi có hỏi có cách nào để ước lượng được mỗi năm công ty của họ đã phải tiêu tốn hết bao nhiêu tiền cho vấn đề spam? Tôi thử tìm trên Google và thật bất ngờ là có khánhiềucôngcụ (marketing) giúp tính thiệt hại do spam gây ra cho doanh nghiệp. Dĩ nhiên những con số mà các công cụ này đưa ra chỉ mang tính chất tham khảo, nhưng nó cũng cho chúng ta thấy rằng spam không chỉ gây phiền toái mà nó còn gây thiệt hại về kinh tế. Thông thường doanh nghiệp chỉ triển khai giải pháp chống spam để giải quyết vấn đề đầu tiên, họ ít hoặc hoàn toàn không nghĩ đến vấn đề thứ hai.

Trong trường hợp của khách hàng ở trên, họ có 1000 nhân viên có địa chỉ email, lương trung bình mỗi người là $3/giờ, mỗi người nhận 50 email mỗi ngày, trong đó 90% là spam. Như vậy họ mất $26041.67 mỗi năm. Chà, gần nửa tỉ bạc rồi còn gì, đó là chưa kể đến đường truyền, máy chủ, lưu trữ và lương cho sysadmin như tôi :p.

Đòn hi sinh của đám spammer

Tôi dành nguyên buổi tối ngày hôm qua để khắc phục sự cố trên hệ thống chống spam. Lũ spammer thật khốn nạn, chúng đẻ ra đủ mọi cách để chơi xấu. Nếu như lần trước là trò ném đá dấu tay thì lần này chúng đánh thẳng vào hệ thống chống spam của tôi. Đúng là quân bất nhân!

Mấy ngày gần đây không ngày nào tôi không bị khách hàng than phiền về trình trạng chập chờn của hệ thống chống spam, khi mà họ không thể nhận được email từ phía đối tác gửi vào.
Tìm hiểu log, tôi phát hiện ra DSPAM, một phần mềm quan trọng trong hệ thống chống spam cứ vài phút lại lăn ra chết cứng, mặc kệ tôi đã tái khởi động cũng như điều chỉnh các thông số như thế nào. Tôi đã sử dụng phần mềm này được hơn 1 năm nay và đây là lần đầu tiên tôi thấy tình trạng này. Trước giờ nó rất ổn định, chỉ đôi lần bị quá tải chứ chưa bao giờ chết bất đắt kì tử như thế này. Đám spammer lại giở trò gì nữa chăng? Tôi quyết định biên dịch lại DSPAM, mở tính năng debug để xem chuyện gì đã xảy ra. Để chắc ăn, tôi khởi động lại toàn bộ hệ t…