Thứ Hai, 6 tháng 6, 2011

Hướng dẫn tấn công website bằng DDOS (dễ hiểu)

1 Hacker khi muốn hack 1 web nào đó thì hắn sẽ dùng đủ mọi cách và đủ mọi phương pháp ,nhưng mãi vẫn ko hack dc thì phương pháp cuối cùng mà các Hacker sử dụng là DDOS (tấn công từ chối dịch vụ) đến web đó mục đích là deface web đó cho nó khỏi hoạt động luôn
Nguyên tắc hoạt động của ddos là : cùng 1 lúc server hoặc 1 địa chỉ IP bị hàng chục ngàn máy khác tấn công vào ,điều này khiến cho máy bị tràn bộ nhớ ==> làm serve bị treo hoặc reset lại ,rất nguy hiểm có thể xóa sạch Database của web đó

Sau đây tôi xin trình bày cách tấn công DDOS = tool ,chỉ nên học hỏi để biết cách thức nó ddos thui chứ ko nên phá hoại ( những hành động của các bạn phải tự chịu trách nhiệm - Các bạn nên nhớ đây là mục anti ddos nhé !).
Đầu tiên các bạn download phần mềm Supper Scan tại đây :


http://www.esnips.com/doc/dc77f35b-9e19-4fa2-8dea-8ab9a0a13dd7/superscan4


Và phần mềm Smurf2K (cái này dùng ddos heee) tại đây :


http://freewebs.com/hongluong/Smuif2k.rar


Bạn muốn tấn công 1 máy tính hay 1 website thì bạn phải biết địa chỉ IP của máy tính đó hoặc IP của website đó
muốn biết IP của 1 máy tính có nhiều cách : có thể chat với người đó, hoặc dụ cho người ta click vào 1 website của bạn có gắn code lấy IP (cái này thì có nhiều tài liệu trên mạng tôi ko cần nói đến vấn đề này nữa )
muốn biết IP của 1 website ,bạn vào Start ==>run gõ “cmd” ,tại đây bạn gõ lệnh sau:
ping tênwebsite
ví dụ : ping


www.domain.com






Tại đây bạn để ý dòng pinging có dãy số 210.245.110.213 đây chính là địa chỉ IP của website

Tiếp theo bạn cài đặt chương trình supper scan lúc nãy down về ,cài xong bạn mở chương trình này lên ,giao diện này như sau :




ở đây ta chỉ để ý mục IP
tại ô start bạn gõ 1 địa chỉ IP bất kì nhưng số cuối cùng nên gõ số 01 :
ví dụ :203.62.100.01
tại ô stop bạn gõ địa chỉ IP giống trên nhưng số cuối cùng phải gõ số:255
ví dụ :203.62.100.255
mục đích của việc này là quét tất cả các máy tính đang online có địa chỉ IP từ
203.62.100.01 ==> 203.62.100.255
Sau đó click vào Start ,nó sẽ quét
Quét xong nó sẽ tự Save cho ta vào 1 file .txt ở trong cùng thư mục chứa cái supper scan
Tương tự thay địa chỉ IP trên thành 1 địa chỉ IP khác (trong cả 2 ô start và stop chỉ thay thế 3 số đầu ,còn số cuối để nguyên ,rùi click Start để Scan tiếp
Vd:
Start: 109.156.120.01
Stop:109.156.120.255

Lưu ý: càng Scan nhiều IP càng tốt (vì victim mau chết hơn heee)
Ta có list địa chỉ các IP
Tiếp theo mở chương Smurf2K lúc nãy down về (cái này ko cần setup )
giao diện này như sau :




Tại ô victim bạn gõ địa chỉ IP của 1 máy tính hay 1 website mà bạn muốn tấn công (ở trên tôi đã giới thiệu cách lấy địa chỉ IP của máy tính online hoặc IP của website )
Rùi click vào “load list” ,tại đây chúng ta chỉ đến nơi đã đã Save list IP
Sau đó click vào “smurf” là victim sẽ bị tấn công ngay lập tức
Kết quả là máy victim sẽ bị treo và reset lại heeee

Chú ý : Để có hiệu quả hơn ,thì nên rủ 5 ,6 thằng cùng DDOS vào web đó cùng 1 lúc ,hiệu quả sẽ thật bất ngờ heeee
Bài này hứơng dẫn rất rõ ràng ,nếu bạn có thắc mắc có thể post lên mình sẽ trả lời
Khi nào có thời gian Vicky sẽ trình bày cách tấn công DRDOS (cách này nguy hiểm rất nhiều và lợi hại hơn DDos nhiều -các hacker thường dùng cách này để tấn công các website của nhau )


Một lần nữa ! bài viết này chỉ giúp bạn biết cơ chế ddos để phòng chống thui ! còn lại mình không chịu trách nhiệm nhé !

Thứ Hai, 15 tháng 11, 2010

Những cuộc đối thoại với rookie - Phần 5

8. "Hai mặt" của vấn đề:
Trái hẳn với hai tuần lễ trước, vài tuần nay "cuti" liên tục 'dội' YIM và mail box của tôi với hàng loạt câu hỏi. Phần lớn là những câu hỏi thuộc dạng 'what'. Tôi cố gắn trả lời hầu hết các thắc mắc của "cuti" mặc dù vấn đề thời gian của tôi rất giới hạn. Có những e-mail hồi âm của tôi chỉ vỏn vẹn có một câu: cái này thuộc dạng 'what', em thử tìm hiểu xem. "cuti" tỏ vẻ khá bực dọc với những e-mail này của tôi. Tuy nhiên, tôi vẫn... phớt lờ và duy trì giới hạn những câu trả lời nhằm mục đích 'đẩy' "cuti" vào chỗ thật sự làm quen và hình thành kỹ năng tìm kiếm, tổng hợp và thu thập thông tin. Có lần tôi nhận một thông điệp của "cuti" trên YIM như thế này:
"Anh già ui, hình như càng học em thấy em càng ngu hay sao đó. Hu hu hu smilie. Cứ mỗi điểm cần tìm hiểu lại nảy ra hàng sa số những điểm xung quanh. Em đọc sách muốn khùng luôn nhưng càng đào sâu, càng thấy mình ngu si đi. Hay là em bị 'tẩu hoả' thật sự rồi?"

Tôi thầm nghĩ, hiện tượng "cuti" đang đối chọi có lẽ do cu cậu cố dồn ép quá mà ra. Tôi gởi "cuti" một offline message:
"cuti ơi, trưa Chủ Nhật tuần này anh rảnh đó. Có muốn 'giải bày' thì 'bay' vô YIM hả?"

Hai ngày sau, tôi nhận được một e-mail từ "cuti" như sau:
"Anh già ơi, mấy ngày vừa qua em chả thèm động đến máy. Em xách xe đi chơi vòng vòng cho bớt căng thẳng. Chiều nay em nhớ đến việc anh yêu cầu lần trước là hình thành một 'bản tổng kết' những gì anh em mình thảo luận cho đến giai đoạn này. Tự nhiên trong quá trình hình thành 'bản tổng kết' em thấy rất nhiều sự việc trở nên rõ ràng. Đây, 'bảng tổng kết' em có thể rút tỉa được:

1. 'hack' là hành động điều chỉnh máy tính ở nhiều tầng khác nhau nhằm thay đổi thái độ làm việc của nó.
2. muốn 'hack' phải hiểu rõ mục tiêu mình sắp sửa 'hack' là gì.
3. 'hacker' là một 'user' rất thấu đáo môi trường làm việc của mình. 'hacker' không những nắm vững 'nút' bấm (hoặc lệnh) để làm gì mà còn biết rõ những gì xảy ra khi 'nút' được bấm (hoặc lệnh được chạy) và có thể tạo ra 'nút' để bấm (hoặc lệnh để chạy) để đáp ứng đòi hỏi cụ thể.
4. mọi vấn đề trong thế giới 'hack' đều có giềng mối của chúng. Nắm được những 'giềng mối' này mới có thể làm thay đổi được thái độ làm việc của hệ thống.
5. đọc đi đôi với 'hành'. Trước khi biết được 'why' phải biết được 'what'.
6. để có thể nắm được 'what' cần phải có kiên nhẫn và có hệ thống. Để có thể nắm được 'why' cần phải có khả năng phân tích và tổng hợp những điểm cốt lõi.

Anh xem thử những điểm em đưa ra còn thiếu sót gì không? Chủ Nhật này em sẽ online đợi anh đó nha.

Chúc anh một tuần làm việc vui vẻ.
cuti."

Nhận được mail của "cuti", tôi đọc phần tổng kết của cu cậu và thấy rằng "cuti" đã tổng kết khá đầy đủ các điểm cốt lõi mà bọn tôi đã trao đổi những lần trước đây. Đây là việc đáng mừng. Tuy nhiên, vận dụng thế nào vẫn còn là một con đường dài dằng dặc và đầy chông gai. Tôi hồi âm "cuti" bằng một e-mail ngắn gọn như sau:
"cuti thân mến, sáu điểm em đưa ra thật tuyệt. Tuy nhiên, anh nghĩ em vẫn còn sót một điểm cuối, điểm thứ bảy. Em thử nghĩ xem điểm này là điểm gì?

Hẹn gặp lại chiều Chủ Nhật khoảng 3 giờ.
Thân."

Chiều Chủ Nhật, đúng 3 giờ chiều tôi logon YIM và "cuti" đã ngồi chễm chệ chờ. Tôi gởi cho "cuti" một thông điệp để báo cho cu cậu là tôi đã online (vì tôi vẫn ở tình trạng invisible). "cuti" hồi đáp gần như ngay lập tức kèm theo là một lời mời tham gia một conference:
"Chào anh, mình mở một cái conference được hông anh?"

Tôi khá thắc mắc, "việc gì phải conference nhỉ? Có lẽ có ai đó muốn tham gia chat chăng?". Tuy vậy tôi vẫn tiếp nhận lời mời. Không ngoài dự đoán, khi tham gia conference này, tôi thấy có thêm hai nhân vật mới với nick name khá.... kiếm hiệp. Một người mang tên là 'docco' (độc cô) và một người mang tên là 'haothu' (hảo thủ). Tôi chào mọi người:
"Chào cuti, chào docco và haothu."

"cuti" nhanh nhảu:
"Dạ, đây là hai đứa bạn học chung với em, bọn em chơi thân với nhau lắm. Sau khi em đưa cho bọn nó xem bản sao cuộc nói chuyện của anh em mình, bọn nó khoái lắm nhưng giữa bọn em nổ ra một trận tranh cãi khá gay gắt là: bảo mật trước hay 'hack' trước?. Bọn nó cho rằng muốn bảo mật cho tốt thì phải biết hack trước. Còn em thì do bị 'tiêm nhiễm' anh nên cho rằng muốn hack giỏi thì phải biết bảo mật, biết bảo mật rồi thì mới biết hack. Bây giờ em muốn anh đứng ra phân giải dùm bọn em. Hy vọng anh không phiền vì em đã mời thêm hai ông tướng này vào nói chuyện mà không báo trước cho anh biết."

"docco" và "haothu" chào tôi sau khi "cuti" giới thiệu và giải bày sự thể. Tôi vui vẻ đáp:
"Không sao đâu em, có nhiều người nói chuyện thì càng vui chớ sao đâu? Mấy anh em mình nói chuyện một cách thoải mái, đừng cứng nhắc quá mà mất vui. docco', 'haothu' cũng học chung lớp với 'cuti' hả?"

"haothu" đáp:
"Dạ, em học cùng trường với 'cuti' đó anh. Em cũng biết anh lâu rồi nhưng em ngại, không dám liên lạc trực tiếp với anh. Kỳ này bọn em cãi nhau rôm rả, âu cũng là dịp tốt để em làm quen với anh."

"docco" thêm vào:
"Hì hì, chỉ có thằng khỉ 'cuti' này mới bạo gan add tên anh vào YIM của nó chớ em thì hông dám. Lỡ anh 'đì nai' thì quê chết. 'cuti' nói là anh dễ tính, vui vẻ lắm, bây giờ em mới thấy."

Tôi cười đáp:
"Hì hì, em mà thấy cái danh sách người trên YIM của anh thì em không té xỉu là dở, mặc dù anh rất ít vào YIM nhưng có nhiều người cứ 'add' và anh cứ 'accept'. Riết hồi anh chẳng còn biết ai là ai nữa. Chắc bữa nào phải dọn dẹp một lần."

"cuti" lên tiếng:
"Tụi mày thấy chưa? tao đã nói là ổng dễ tính, vui vẻ mà. Bọn em xưng mày tao búa xua, anh già 'dễ tính' chắc không phiền hả?"

Tôi đáp:
"Ừa, cứ thoải mái đi em. Còn chuyện bọn em cãi nhau như "cuti" nói hồi nãy, bọn em đã cãi những gì, lược sơ qua dùm anh tí coi? smilie"

"docco" nhanh nhảu đáp:
"Dạ, em với thằng Khoa, ý quên, thằng 'haothu' có cùng quan điểm là muốn bảo mật cho giỏi thì phải biết hack trước. Em thấy có rất nhiều chuyên gia bảo mật nói một câu có ý đại khái là: muốn bảo mật tốt thì phải suy nghĩ như một hacker. Nghiệm tới, nghiệm lui em thấy quả là đúng nhưng thằng khỉ Hưng, ý quên, thằng 'cuti' thì khăng khăng cho rằng phải có kiến thức từ căn bản lên đến nâng cao, phải nắm rõ hệ thống mình cần bảo vệ thì mới kiện toàn chuyện bảo mật, từ đó mới nắm được 'hack' là gì. Anh nghĩ sao?"

"cuti" xen ngay vào:
"Thằng khỉ kia, ai biểu mày khai tên thiệt ra hết vậy trời? Hì hì, anh già đừng trách nha, trước giờ nói chuyện với anh, em chưa bao giờ tiết lộ tên thiệt của em, thằng khỉ Duy này khai hết. Chuyện bọn em tranh cãi chẳng đi tới đâu cả. Em tin rằng muốn 'hack' thì phải giỏi bảo mật trước. Vậy thôi."

"haothu" chêm vào:
"Em cũng đồng quan điểm với thằng Duy luôn đó anh."

Tôi cười, và đáp:
"Từ từ cái đã. Để anh hỏi cu Hưng một câu để đúc kết phần anh và nó trao đổi mấy lần trước đây đã nha? Vậy anh gọi 'cuti' là Hưng, 'haothu' là Khoa và 'docco' là Duy được không?"

"cuti" đáp lời ngay:
"À, ý anh muốn hỏi em điểm thứ bảy là gì đó phải không anh? Thật tình em đã đọc kỹ lại mấy đoạn anh em mình trao đổi nhưng em tìm không ra điểm nào có thể là điểm thứ bảy. Còn chuyện gọi bọn em bằng tên nào cũng được hết anh. Bọn em gọi nhau bằng tên thật quen rồi nên vào chat vẫn quen thói gọi tên thật."

Tôi đáp:
"Vậy tốt, thống nhất cách gọi như vậy đi. Còn điểm thứ bảy mà em tìm không ra là "4 đê" đó em: đều đặn và điều độ. Đây là điểm cực kỳ quan trọng bởi vì 'ăn' không giờ giấc, không điều độ thì thế nào cũng bội thực smilie."

"cuti" liếng thoắng:
"Ái chà, đây là điểm thứ bảy sao? Em không hề nghĩ đến nó, đừng nói chi là thấy nó quan trọng ngang hàng với những điểm kia. Em thấy hễ mình hứng lên thì ngồi táy máy bao nhiêu tiếng cũng được nhưng không hứng thì vô phương thôi anh."

Tôi vẫn kiên nhẫn trả lời:
"Không đâu em. Muốn tìm tòi lâu dài và có kết quả thì cần phải có kế hoạch hẳn hòi. Không thể dựa trên cái 'hứng' được. Nếu em may mắn, ngày nào cũng 'hứng' thì em có thể gặt hái vài điều. Lỡ may cả tháng em... mất 'hứng' thì coi như đi tong tháng ấy sao? Sự điều độ tạo cho não bộ của em một thứ 'phản xạ có điều kiện'. Đến giờ đó trong ngày, nó sẵn sàng làm việc và lúc ấy mới mang lại kết quả tốt được. Có thể lúc đầu khi chưa quen, em chưa thấy tác dụng đó. Tuy nhiên, sau một thời gian, em sẽ thấy sự đều đặn có tác dụng như thế nào."

"cuti" đáp:
"Quả thật em chưa hình dung được điểm này. Để em chiêm nghiệm thử xem. Bây giờ mấy anh em mình thử bàn chuyện 'hack trước hay bảo mật trước' nha anh?"

Tôi cười, đáp:
"Được thôi. Trước hết anh muốn nghe các lý do tại sao một bên tin rằng 'muốn bảo mật tốt phải biết hack trước' và bên đối lập lại cho rằng 'muốn hack giỏi thì phải biết bảo mật trước'. Để khỏi bị hiểu sai và khai triển sai, anh đề nghị xác định lại cụ thể vấn đề ở đây. Có lẽ 'hack' và 'bảo mật' ở đây đồng nghĩa với tấn côngphòng thủ phải không?"

"docco" reo lên:
"Đúng rồi đó anh. Lúc tụi em cãi với nhau toàn là dùng hai chữ 'hack' và 'security' nhưng em nghĩ là tấn côngphòng thủ là chính xác tinh thần rồi đó."

Tôi đáp:
"Hì hì, nếu quả thật là như vậy thì 'attack' là công và 'defend' là thủ. Anh nghĩ là dùng hai chữ 'hack' và 'security' ở đây sai tinh thần rồi. 'hack' không hẳn chỉ là tấn công mà còn có thể là hành động đóng góp cho việc phòng thủ. 'security' chỉ chung cho sự bảo mật và chưa hẳn nó loại trừ 'hack' ra khỏi các hành động, thao tác để đạt được tính 'bảo mật'. Mình nên dùng đúng 'term' và xác định rõ ý nghĩa của chúng để loại trừ những ngộ nhận có thể có thì mới bàn cãi sâu sát và chính xác được."

"haothu" phát biểu một cách hết sức thật thà:
"Ái chà, mới vào đầu câu chuyện đã thấy 'anh già' quá kinh rồi. Thôi đi Duy ơi, hai thằng mình thua non đi cho rồi. Tao biết ảnh bảo kê cho thằng Hưng là cái chắc. Mới vào đã thấy ảnh 'bẻ' sơ sơ thấy phát ớn."

Tôi xen vào ngay:
"Khoa, đừng nghĩ vậy em. Anh chẳng 'bảo kê' ai cả. Anh chỉ 'bảo kê' cái đúng mà thôi. Cứ xem như anh là trọng tài của cuộc đấu khẩu này thôi. Sở dĩ anh phải xác định rõ mỗi phía bởi vì mình cần phải tránh sự hiểu lầm ngay từ đầu không thì có bàn cãi cũng chẳng đi tới đâu hết. Hì hì, đối với anh không có chuyện ăn thua ở đây đó nha. Rồi hả? Ai muốn bắt đầu?"

"cuti" lăn xả vào trận chiến:
"Em muốn, em nói trước được hông anh?"

Tôi chưa kịp trả lời thì "docco" đã đáp lời:
"Chấp luôn. Thằng khỉ Hưng này lúc nào cũng tranh tiên hết. Nó thì lúc nào chả vậy!"

"cuti" cũng không phải tay vừa:
"Tao nói trước hay nói sau gì mày cũng thua một mức mày ạ smilie bởi vì lẽ phải thì lúc nào cũng phải, không phân biệt trước sau."

Tôi xen vào:
"Thôi đi ông thần, ba hoa lắm vậy? Bắt đầu đi."

"cuti" có ý kiến như sau:
"Em không biết có phải em bị anh tiêm nhiễm hay không chớ em thấy rõ một điều: nếu tay quản lý máy chủ không nắm rõ server của mình có cái gì, điều hành nó ra làm sao, quản lý nó ra làm sao thì không cách gì có thể bảo mật được. Tương tự như vậy, tay tin tặc nào đó muốn tấn công một server thì phải hiểu server đó có những gì, làm việc ra sao. Nếu không, hắn không có cách gì mà tấn công hoặc thâm nhập được. Giả sử em thiết lập một cái server và em dấu hết 'footprint', tay tin tặc không thể xác định được server này chạy trên hệ điều hành nào cả. Cùng lắm là hắn dò ra được các dịch vụ đang chạy trên máy chủ này nhưng để thâm nhập là một chuyện cực khó."

Tôi cười, khơi mào cho "docco" phản bác:
"Em nghĩ sao Duy? Những điều cu Hưng nói có những điểm yếu nào?"

"docco" im lặng khá lâu. "haothu" bèn lên tiếng:
"Dạ, thằng Duy có cái tật đắn đo vòng vo tam quốc dữ lắm anh. Thôi để em trả lời trước cho. Em thấy là khi tay tin tặc ấy xác định được các dịch vụ đang chạy trên một máy chủ, hắn chỉ cần 'thử' hết những lỗi thường thấy và đã được công bố, trước sau gì cũng phá thủng hàng phòng thủ mà thôi. Hắn đâu cần biết dịch vụ đó chạy trên Linux hay AIX, hay Solaris hay Windows làm chi? Trên Internet có hàng 'tấn' công cụ, scripts... để thực hiện chuyện này. Hắn chỉ cần download hết về máy rồi ngồi đó mà thử từng cái một. Em tin rằng, đến lúc nào đó cũng đột nhập được thôi."

Tôi hỏi tiếp "docco":
"Em nghĩ sao Duy?"

Lúc này "docco" mới lên tiếng:
"Em thấy cả hai đứa Hưng và Khoa đều có những điểm không ổn. Hưng thì dừng lại ở bình diện kiến thức khả dĩ để hình thành một server. Khoa thì vận dụng phép... mò. Cả hai chưa đi đến ngọn ngành. Theo em thấy, nếu cả hai tay quản lý server và tay tin tặc có kiến thức và kinh nghiệm ngang nhau, chưa biết ai phòng thủ giỏi hay tấn công giỏi. Em không thể biện minh rõ ràng và rành mạch được nhưng vì lý do gì đó, em tin rằng tay tin tặc dễ đạt mục đích hơn vì hắn vốn thích táy máy, mày mò. Còn tay quản lý server thì thường làm theo tài liệu hướng dẫn."

"cuti" phản công ngay lập tức:
"Thôi đi 'pa'. Nếu 'pa' không biết server đó có cái gì, cấu trúc nó ra làm sao thì làm sao mà thâm nhập? Cho dù thâm nhập rồi mà không biết đường đi nước bước thì có nước đứng đó... ngẩn tò te thôi. Như cái vụ 'anh già' và tao đánh cuộc đây này, ảnh cho tao luôn cả account name và password để vào máy chủ luôn đó nhưng sau đó thì... bó tay vì không biết làm gì hết."

"haothu" reo lên thích thú:
"Á à, vậy mày chịu thua rồi hả Hưng? Mày đóng vai là tay phòng thủ mà lại ngẩn tò te thì thua non đi cho rồi con ơi."

Tôi xen ngay vào để 'nắn' câu chuyện khỏi lạc đề:
"Anh thấy Duy có những nhận xét rất cẩn thận và lý thú. Hưng và Khoa cũng có lý đứng trên quan điểm của mỗi phía. Tuy nhiên, điểm cần xác định thêm ở đây là trình độ của cả 'kẻ công' chọi với 'người thủ' là thế nào? Nếu 'kẻ công' là một tay cực kỳ kinh nghiệm và 'người thủ' là một tay mơ thì cán cân sẽ khác rõ. Ngược lại 'người thủ' là một tay từng trải và 'kẻ công' là một tay ứng dụng phương thức... mò thì kết quả cũng quá hiển nhiên. Có lẽ mình nên xác định lại một cách cụ thể trình độ và kinh nghiệm của hai tay này cho thoả đáng."

"cuti" nhảy ngay vào:
"Dạ, nếu vậy thì cứ cho là cả hai tay đều rành Linux như nhau, có 5 năm kinh nghiệm như nhau, có khả năng thiết lập máy chủ như nhau. Vậy thì 'phòng thủ' sẽ thủng hay, 'tấn công' sẽ bó tay?"

"docco" lên tiếng:
"Em thấy cách xác định hai tay này có trình độ ngang nhau để so sánh hai phía công / thủ là công bình nhất. Ở cỡ tụi em, nếu thằng Hưng mà thiết lập một server và thằng Khoa thì dùng mấy thứ đồ nghề khai thác có sẵn trên Internet thì em tin rằng thằng Hưng sẽ bị thủng vì nó chưa nắm được cách phòng thủ cho đúng mức. Trong khi đó, thằng Khoa không cần biết nhiều về Linux, nó chỉ thử hết cái này đến cái kia thì rốt cuộc cũng vào được máy chủ kia mà thôi."

"haothu" chêm vào:
"Hẳn nhiên rồi."

"cuti" cay cú:
"Mấy thằng này đầu xi măng hay sao mà nói mãi không lay nhỉ? Tao nói là cỡ thằng Khoa có cho account để vào cũng chống mắt mà nhìn chớ biết làm khỉ gì."

Tôi vội vàng xen vào:
"Hưng làm gì mà cay cú vậy em? smilie. Vậy thì mình phải thêm một yếu tố để so sánh: tay 'tấn công' phải thâm nhập và thay đổi cách làm việc của hệ thống, nếu vào được rồi mà ngồi đó... ngó thì không thể gọi là 'tấn công'. Còn tay 'phòng thủ' phải làm sao không cho chuyện thâm nhập xảy ra. Ngay cả có thâm nhập được rồi cũng 'ngồi đó mà ngó' thì phía phòng thủ thắng chớ gì?"

"cuti" nhanh nhảu:
"Hì hì, chắc anh hơi ngạc nhiên với cách nói chuyện của bọn em hả? Bọn em ăn nói bất kể lắm nhưng không có ý gì đâu anh. Chắc anh không khó chịu chớ? Còn yếu tố anh đưa ra thêm em thấy hoàn toàn có lý."

"docco" đáp lời:
"Nếu theo đúng các yếu tố anh đưa ra để có thể so sánh thì em nghĩ bọn em không đủ sức so sánh cho xác thực. Bởi vì thật tình mà nói, thâm nhập cũng như bảo vệ có quá nhiều trường hợp, có quá nhiều tầng. Nhìn hai mặt của vấn đề đều thấy sự phức tạp của chúng."

Một lần nữa, tôi thầm cảm mến tính chững chạc và cẩn thận của "docco". Rõ ràng những nhận định của "docco" đánh đổ trọn bộ những nhận xét và ý kiến mang nặng cảm tính. Tôi đáp:
"Em nhận xét tinh tế và cẩn thận lắm Duy. Nếu so sánh, mình cần phải nhìn cả hai mặt của vấn đề. Nếu thiên vị mặt nào thì mặt ấy sẽ nặng hơn và nhận xét trở nên thiếu chính xác. Như vậy làm sao mình đánh giá thật sự cần biết 'công' trước hay biết 'thủ' trước thì mới bảo mật tốt theo đúng tin thần của cuộc bàn cãi?"

"cuti" vẫn khăng khăng:
"Thủ trước. Em vẫn nghĩ là thủ trước."

"haothu" không nhường bước:
"Công trước. Em vẫn tin là công trước."

"docco" vẫn trung hoà:
"Em không xác định được. Anh có ý kiến gì không vậy?"

Tôi đáp:
"Hãy tóm lược lại 'bài toán' của chúng ta: có hai nhân vật, một kẻ chuyên 'công', một người chuyên 'thủ'. Cả hai có kinh nghiệm tương đương nhau, đều nắm rõ hệ thống như nhau nhưng đào luyện với tinh thần khác nhau. Kẻ 'công' thì nhìn vấn đề từ phía 'công', có nghĩa là hắn ta phải nắm rõ hệ thống để có thể tìm ra những điểm yếu cho việc thâm nhập và tấn công. Trong khi đó, người 'thủ' thì nhìn vấn đề từ hướng 'thủ', có nghĩa là hắn nắm rất rõ hệ thống mình thiết kế, biết chọn lọc những dịch vụ cần thiết, biết thắt chặt những điểm hở. Trong 'cuộc đấu' này, nếu kẻ 'công' có thể thâm nhập và thay đổi được hệ thống làm việc, hắn nắm phần thắng. Nếu kẻ thủ 'phòng thủ' quá chặt kiến cho kẻ công không thể thâm nhập và thay đổi hệ thống, 'kẻ thủ' thắng. Liệu anh tóm lược như vậy đủ chưa?"

Bộ ba Hưng, Khoa và Duy đều im lặng hồi lâu. "haothu" Khoa là người lên tiếng trước:
"Em thật tình không biết phải so sánh thế nào."

"cuti" Hưng tiếp theo:
"Em nghĩ rằng không thể so sánh được."

"docco" Duy đá lời sau chót:
"Theo em, nếu mình phân tích từng trường hợp thâm nhập và phòng thủ một cách tỉ mỉ thì may ra có thể đi đến một kết luận nào đó. Ngoài ra, em bắt đầu tin rằng không thể xác định được nên biết 'công' trước hay nên biết 'thủ' trước. Nói một cách khác, định đề muốn bảo mật cho tốt thì phải biết thâm nhập trước và ngược lại đều thiếu cơ sở."

Tôi gật gù trước nhận định chặt chẽ của "docco". Chỉ qua vài chục dòng chat, cá tính của mỗi người trong bộ ba này thể hiện thật rõ. "cuti" Hưng nhanh nhảu, thông minh. "haothu" Khoa nóng nảy, trực tính. "docco" Duy chậm chạp nhưng sâu sắc. Vậy mà ba cu cậu chơi rất thân với nhau. Có thể ba cá tính bổ khuyết cho nhau nên chúng thân với nhau chăng? Tôi khơi mào:
"Vậy, mấy anh em mình có nên 'khai phá' vài trường hợp để xem thử hai định đề muốn bảo mật cho tốt thì phải biết thâm nhập trước hoặc muốn thâm nhập cho giỏi thì phải biết bảo mật trước không?"

Cả ba cùng reo lên:
"Dạ."

"Chơi luôn."

"Chắc anh là người 'khai phá' chớ bọn em thì không đủ sức rồi smilie"

Tôi ngẫm nghĩ rồi đáp:
"Thế này, anh nghĩ để tạo ra một buổi bàn thảo lý thú, mấy anh em mình nên chuẩn bị kỹ lưỡng trước các điểm cần bàn. Hãy hình thành một số trường hợp cụ thể. Đặt tên cho kẻ tấn công, người phòng thủ. Phải quy định xem nên thiết lập một máy chủ ra sao, có những dịch vụ nào. Sau đó mình sẽ phân tích từng 'thử nghiệm' cụ thể cả hai phía. Ví dụ như:
'kẻ công' = A
'người thủ' = B
server của B thiết lập = Z
dịch vụ của Z = z1, z2, z3...


Sau đó mới khai triển:

A xác định footprint Z như thế nào, B ngăn chặn việc này ra làm sao.
A dò tìm z1, z2, z3 như thế nào, B kiện toàn các dịch vụ này ra làm sao.
A exploit z1, z2, z3 như thế nào, B thắt chặt các dịch vụ này ra làm sao...


Mấy anh em mình chat đã khá lâu, anh phải đi. Mình có một tuần để suy nghĩ xem: nếu mình là A thì mình sẽ thăm dò ra sao? thử nghiệm những gì và hành động như thế nào? Nếu mình là B thì mình thiết lập những gì, thắt chặt những gì và đối phó ra sao khi A thâm nhập.

Thấy được không?"

"cuti" reo lên trước:
"Ái chà, được như vậy thì hơi bị... hay. Vậy em sẽ chọn vị trí A hay B?"

"haothu" cũng không kém hào hứng:
"Ui chao, phân tích những thứ này đến đầu, đến đũa thì còn gì bằng? Em chọn mình là A được không anh?"

Như thường lệ, "docco" trả lời sau cùng:
"Em thấy ý kiến này tuyệt diệu. Nó tạo điều kiện cho mình tự đặt mình ở hai phía và tìm giải pháp thích ứng. Sao bọn em không chọn cả A và B để tự lý giải anh nhỉ?"

Tôi đã không sai lầm khi nhận định rằng "docco" Duy là một cậu bé hết sức điềm đạm và cẩn thận. Tôi đáp:
"Hoan hô Duy, em đề nghị rất hay. Khi đưa ra các trường hợp ở trên, ý anh là mọi người đều nên lý giải hai mặt của vấn đề. Có như thế thì mình mới hình thành một cái nhìn toàn diện, không thì bị rơi vào tình trạng thiên vị và bởi thế, không thể khai phá đến nơi, đến chốn."

"cuti" phụng phịu"
"Trời ơi, một tuần làm sao mà đủ thời gian để tìm hiểu hết những chuyện cần tìm hiểu anh?"

Tôi đáp:
"Hì hì, bộ em nghĩ trong một tuần bọn mình nắm được cặn kẽ vấn đề hay sao em? Anh không nghĩ thế đâu. Một tuần để bọn em tự hình dung những điểm tổng thể. Khai triển và 'đào xới' thì không biết chừng nào mới xong. Em chỉ thử hình dung xem một máy chủ thông thường cần có những gì? và một máy chủ như thế nếu 'bị' tấn công thì tấn công vào đâu? Như thế đã là nhiều. Sau đó đám tụi mình mới bàn sâu từng trường hợp. Vậy hả?"

"cuti" lẩm nhẩm:
"Vậy là sắp thêm 'những đêm không ngủ'."

"haothu" phấn khích:
"Ái chà, trúng 'mánh' rồi."

"docco" điềm đạm:
"Quả là một điều kiện để học hỏi và nghiên cứu một cách tuyệt vời!"

Tôi kết thúc:
"Rồi nha, Chủ Nhật tuần sau, cũng vào giờ này. 'cuti' nên nhớ đến '4 đê' nha em? Chào Khoa, chào Duy."

và tôi logoff.
19/7/2005
<còn tiếp>

Những cuộc đối thoại với rookie - Phần 4

7. Giềng mối:
Như tôi đoán trước, lần này quả thật "cuti" im ắng. Suốt hai tuần lễ, tôi không nhận được một thông điệp nào từ "cuti" nhưng lần này tôi không còn ngại "cuti" bỏ cuộc mà tin rằng "cuti" đang 'vật lộn' với mớ khái niệm mới, với môi trường hệ điều hành mới. Tôi biết đây là một đoạn dốc khá cao và căng thẳng với "cuti" vì cu cậu gần như phải bắt đầu lại từ đầu với một hệ điều hành mới mẻ.

Có sẵn kinh nghiệm dùng máy tính và sử dụng hệ điều hành Windows cộng với dăm ba mẹo vặt không tạo điều kiện thuận lợi cho "cuti" 'vượt dốc' mà ngược lại có thể tạo những khó khăn nặng nề hơn vì chắc chắc cu cậu sẽ không ngừng liên hệ đến những thói quen và kiến thức có sẵn về hệ điều hành Windows. Điều đáng nói là "cuti" không hề gởi một thông điệp nào để than vãn hoặc cầu cứu. Tôi không biết cu cậu có tham gia diễn đàn nào khác và đang tung lên hàng loạt câu hỏi. Dù "cuti" có thử giải quyết cách này, cu cậu chắc chắn sẽ mất một khoảng thời gian dài để đi đến giai đoạn hiểu được mình đang ở đâu.

Sau hai tuần, tôi nhận được một bức e-mail từ "cuti". Nó có nội dung rất dí dỏm như sau (tôi đã lượt bỏ những chi tiết riêng tư và không phù hợp với tinh thần chủ đề, tôi cũng đã điều chỉnh lại cho ngôn từ nghiêm túc và chuyên nghiệp hơn):


"Anh già khó tánh kính mến,

Hai tuần qua em bị con chim cánh cụt 'đè' gần ngất xỉu nhiều lần. Em nhiều lần rất muốn gởi anh một vài thông điệp để cầu cứu nhưng lời anh nói cứ ám trong đầu: "Sao hỏi anh? Cuốn cẩm nang Linux của em đâu?" làm em ngần ngại. Lúc này em không khác gì người đi trong rừng Amazon, chẳng còn biết phương hướng ở đâu nữa. Bây giờ em mới thật sự thấy chuyện đánh cuộc của anh em mình khó đến mức nào.

Anh già biết hông? sau bao nhiêu là mò mẫm, em mới hiểu ra chỉ có root mới có thể tạo account cho người dùng và mới tìm ra được lệnh dùng để tạo account. Nhìn lại thì thấy những chuyện này không khác gì bên Windows mấy. Tuy nhiên, để khai mở những điểm anh đưa ra về chuyện 'nhìn sự việc như một system admin hay một coder' thì em quả lạc lối mất rồi. Cuốn 'cẩm nang Linux' của em không đề cập bao nhiêu về những điểm này. Vậy em tìm hiểu những thông tin này ở đâu anh? Thật kỳ lạ anh ạ, trước đây hễ thấy cuốn e-book nào dày vài trăm trang là em hết muốn đụng tới. Giờ đây, em lại mong cuốn e-book Linux của em dày hơn, nhiều hơn. Em nghĩ anh là con người nguy hiểm là một điều không sai bởi vì không hiểu tại sao anh có thể biến em từ một đứa không buồn đụng đến cuốn e-book mà bây giờ lại mong nó dày hơn. Hì hì, em nói đùa đó thôi. Có nhiều lúc em muốn bỏ dở để đi bắn Gunbound cho khoẻ nhưng nghĩ lại thì thấy hơi... ê vì thế nào cũng bị anh chửi cho một chặp, nên thôi.

Em đã tạo được account dành cho người dùng bình thường và có thể login bằng account đó rồi. Tuy nhiên, em đang ở trong giai đoạn 'dậm chân tại chỗ' bởi vì khi dùng account này và thử 'vi' trang index.html của web server trên máy chủ Linux thì nó luôn luôn báo lỗi 'changing read-only file'. Câu hỏi của em là: bằng cách nào mình có thể 'viết' vào nó để thay đổi nội dung hở anh?

Nếu rảnh anh sớm hồi âm dùm em nhe? Em biết anh chắc bận rộn lắm nhưng không hỏi anh thì hỏi ai bây giờ? Nếu anh quá bận rộn thì chắc em phải đành cho con chim cánh cụt 'đè' thêm ít hôm nữa, chắc cũng không sao đâu.

Chúc anh và gia đình vui khoẻ.

Em,

Cuti."


Tôi đọc e-mail của "cuti", ngẫm nghĩ tìm cách trả lời cho cu cậu. Câu hỏi cu cậu đưa ra [i]"bằng cách nào mình có thể 'viết' vào nó để thay đổi nội dung hở anh?" là một câu hỏi ở dạng có thể có vô số các câu trả lời. Tôi sẽ chọn câu trả lời nào đây?

Mấy ngày kế tiếp, tôi vô cùng bận rộn nên vẫn chưa trả lời cho "cuti" nhưng thỉnh thoảng tôi ghi xuống dăm ba điểm quan trọng để dùng chúng mà khai triển câu trả lời. Chiều nay, trên đường đi làm về, ngồi trên tàu lửa, tôi mở laptop ra và quyết định thảo một bức e-mail cho "cuti" như sau:[/i]

"Cuti thân mến,

Anh đã nhận được mail của em vài ngày trước đây nhưng lu bu công việc quá nên chưa hồi âm ngay cho em được. Mong em thông cảm. Anh sẽ trả lời các thắc mắc của em theo thứ tự như sau:

1. Em nên ngần ngại khi hỏi anh nếu như:
- em chưa đọc kỹ cuốn "cẩm nang" của em
- em đọc rồi nhưng chưa hiểu rõ và không muốn đọc lại lần nữa để hiểu rõ hơn

Nói cách khác, nếu em hỏi có cái gì dính dáng với "what" và "how" thì cứ nhớ đến câu: "Sao hỏi anh? Cuốn cẩm nang Linux của em đâu?" smilie. Nếu em hỏi có cái gì dính với "why" thì anh sẽ trả lời thắc mắc của em.

Lý do anh khuyến khích em đọc và suy nghĩ vì quá trình 'hành xác' này sẽ biến những thứ em đọc và suy nghĩ thành 'tài sản' của em. Anh có thể tổng kết, rút gọn lại những điều em cần đọc và giải thích cho em. Tuy nhiên, mình không nên đi theo hướng này vì nó làm... hư người đi smilie. Em cần tự mình hình thành một lối suy nghĩ, tiếp cận và giải quyết vấn đề riêng cho mình.

2. Chuyện đánh cuộc của anh em mình sẽ rất khó đối với những ai không hiểu được chiều rộng và bề sâu của điều cần phải làm. Nó sẽ khó với những ai đã hình dung được chiều rộng và bề sâu này và nó sẽ không khó với những ai đã 'thử' đi xuống bề sâu và đi ngang qua chiều rộng này. Đọc mail của em, anh hình dung là em đã bắt đầu hình dung được chiều rộng và bề sâu của vấn đề. Thật tình mà nói, em rất sáng dạ và chịu khó vì em đã đi qua một đoạn đường khá 'chông gai' trong một khoảng thời gian ngắn ngủi như thế. Anh không gặp bao nhiêu người có thể làm như em đâu. Cho nên gắng lên em và nên kiên nhẫn hơn.

3. Câu hỏi "bằng cách nào mình có thể 'viết' vào nó để thay đổi nội dung hở anh?" thì anh có thể tóm gọn như sau:

Không riêng gì root làm chủ một (hoặc nhiều) hồ sơ, thư mục... mà bất cứ tài khoản nào cũng vậy, nếu chủ nhân của các hồ sơ này ấn định một số giới hạn đến những thứ họ tạo ra thì tổng quát mà nói, em không thể thay đổi được nó một cách chính diện bằng chính tài khoản của em ngoại trừ... em 'hack' (và ngoại trừ em có 'root' account). Hành động 'hack' ở đây được tiếp cận và phân tích ra sao thì tùy vào mức độ am hiểu hệ thống của người muốn 'hack'. Tuy nhiên có hai trường hợp tổng quát để có thể làm nền tảng cho việc 'thay đổi nội dung hồ sơ' ấy:
- 'mượn tay' root để thay đổi nội dung vì chỉ có root mới có thể làm chuyện này.
- 'biến' mình thành root để thay đổi nội dung cũng vì lý do ở trên.

Ngoài ra, có thể có khả năng khác. Ví dụ như hồ sơ này cho phép những ai trong nhóm (group) điều chỉnh (nếu như attribute của hồ sơ này ấn định như thế).

Vậy, điều em cần tìm hiểu ở đây là gì? Đây:
- tìm chủ quyền và giá trị ấn định chủ quyền hồ sơ mình cần thay đổi (cho owner, group và others) xem thử nó là gì?
- 'mượn tay' root là sao? do đâu có khái niệm 'mượn tay' root?
- 'biến' mình thành root là sao? do đâu có khái niệm 'biến' mình thành root?

Đây là cốt lõi của các điểm yếu thường gặp trên hệ thống *nix nếu chế độ mặc định bị lỗi hoặc system admin thiếu kinh nghiệm, thiếu cẩn thận trong quá trình điều chỉnh hoặc chính software trên hệ thống này bị lỗi. Từ ba điểm yếu này mở ra muôn vàn khả năng, biến thái, kết hợp, điều chế, thử nghiệm.... và đây chính là 'hack': hành động tìm kiếm và đi đến tác động để thay đổi thái độ làm việc của hệ thống. Không riêng gì trên *nix mà bất cứ hệ điều hành nào cũng vậy, bất cứ cơ chế xác thực người dùng (authentication) và ấn định chủ quyền người dùng (authorisation) nào đều có cơ hội bị 'xoáy thủng' dựa trên ba điểm trên.

Anh chỉ có thể trả lời chi tiết hơn khi nào em đã nắm vững cơ chế ấn định chủ quyền của tài nguyên trên một máy chủ. Em còn nhớ đoạn lệnh anh gởi cho em lần trước làm em 'lùng bùng' không? Nó có liên quan trực tiếp đến cái gọi là giá trị ấn định chủ quyền đó. Anh giới thiệu thêm vài từ khoá: ls, umask, chmod, chown, chgrp để em đỡ phải lan man. Sau khi đã hiểu rõ những gì thuộc về mấy từ khoá trên và những giềng mối xung quanh nó, thắc mắc của em sẽ trở nên rõ ràng hơn.

Thứ năm tới đây anh có ngày nghỉ. Có lẽ anh sẽ bận buổi sáng nhưng buổi chiều thì rảnh. Nếu muốn 'bổ' thêm vài 'thang' thì cho anh biết. Từ đây đến đó còn ba ngày cho nên em nên tham khảo qua mấy từ khoá ở trên trước đi. Em cũng nên chuẩn bị sẵn những điều mình thắc mắc thì anh em mình 'chat' mới có chất lượng. Nên nhớ: ask me why, don't ask me what smilie

Chúc em một ngày vui.

Chào cuti."


Tối hôm ấy tôi gởi "cuti" bức e-mail trên. Sáng ngày hôm sau tôi nhận được hồi âm của "cuti":
"Hello anh già khó tánh smilie

Cứ mỗi lần nhận được một thông điệp của anh, bộ não của em lại chạy ro ro. Em lại sinh ra một cái tật mới là miệng hay lẩm bẩm smilie, chắc anh biết lý do tại sao.

Chiều thứ Năm em cũng rảnh nhưng phải sau một giờ trưa lận bởi vì em phải vào trường. Như vậy khoảng sau 4 giờ chiều nơi anh ở. Vậy có tiện không anh?

Em sẽ 'lên danh sách' những điều em thắc mắc để được anh 'châm' cho vài phát. Em đang lùng thêm vài cuốn e-book Linux, không biết anh có cuốn nào khác không?

Vậy anh nhé? Hẹn gặp lại chiều thứ Năm.

Chúc anh một tuần làm việc vui vẻ.

Cuti."

Suốt mấy ngày tiếp theo, tôi vùi đầu vào công việc và ba ngày đi qua nhanh chóng. Chiều thứ Năm ấy tôi quên bẵng mình có 'hẹn' với "cuti", vẫn đi chơi với gia đình. Mãi đến sau 4 giờ chiều mới sực nhớ. Khi tôi về nhà và logon, "cuti" vẫn chưa online. Tôi cười, thầm nghĩ "Chà, tưởng đâu mình cho cuti leo cây, không ngờ lại bị cuti cho mình leo cây". Tôi gởi "cuti" một offline message:
"Cuti, anh đã online. Khi nào em vào, hú một tiếng cho anh biết."

Mãi mười lăm phút sau tôi mới nhận được thông điệp hồi báo của "cuti". Cu cậu có vẻ "hớt hãi" lắm:
"Dạ em đây, em đây. Trên đường đi học về bị xẹp lốp anh à cho nên trễ nãi hết. Cho em xin lỗi nhe. May mà không có anh ở đây chớ không thì chắc cũng bị ăn vài cái 'kí' trên đầu rồi. Hi hi."

Tôi trả lời:
"Không sao em, anh cũng mới online chừng 15 phút thôi. Em ăn cơm chưa? cứ thong thả đi."

"cuti" lại hóm hỉnh:
"Dạ em đang vừa 'đớp', vừa 'chat' đây. Hông phải vừa đốp, vừa chát đâu nghe? Ai mà dám đốp chát với anh smilie."

Tôi cười, đáp:
"Vậy em thong thả ăn cơm đi rồi mình nói chuyện sau. Anh duyệt web, trả lời e-mail cũng được."

"cuti" rối rít:
"Dạ không, được mà anh. Bụng đớp kệ bụng, não đớp kệ não. Em ăn hai thứ một lượt cũng được mà."

Phì cười vì tính dí dỏm cố hữu của cu cậu, tôi cũng hóm hỉnh với cu cậu:
"Vậy thì được thôi, anh chỉ sợ cơm thì lên não mà chữ thì xuống ruột... già thì công toi thôi, hì hì. Vậy em đã 'lên danh sách' những điều em muốn hỏi chưa?"

"cuti" nhanh nhẩu:
"Ha ha, anh cũng biết nói chuyện tếu lâm nữa sao? Em cứ tưởng anh là một lão đạo mạo chỉ có số với chữ không chớ! Còn chuyện danh sách thì có rồi chớ anh. Lúc máy mó trên con Linux thì bao nhiêu là câu hỏi. Lúc đọc mail của anh lại thêm cả đống câu hỏi. Vậy mà khi ngồi xuống liệt kê lại thì chẳng còn được bao nhiêu câu hết. Lạ thật."

Tôi đáp:
"Vậy em cứ hỏi rồi tự nhiên câu hỏi này sẽ dẫn đến câu hỏi kia thôi. Còn chuyện em nghĩ anh đạo mạo thì em lầm to rồi đó smilie."

"cuti" trịnh trọng:
"Em hỏi nhe? Anh sẵn sàng chưa?"

Tôi bật cười, trả lời:
"Shoot!"

"cuti" chộp ngay câu trả lời của tôi và hỏi liền:
"shoot là gì vậy anh? đá banh hả?"

Tôi không nén nổi, bật cười xoà vì tính con nít và năng động (và có phần thiếu tập trung) của "cuti". Tôi đáp:
"Thôi đi ông thần. Ráng tập trung vào vấn đề, đừng thấy gì hỏi đó. Em chỉ cần biết 'shoot' là 'hỏi đi' là đủ. Đó chỉ là một cách nói."

"cuti" ra vẻ nghiêm trang:
"Câu 1: tại sao anh nói: "ask me why, don't ask me what" vậy? Em hiểu nghĩa tiếng Anh là hỏi tại sao, đừng hỏi cái gì. Vậy ý anh là thế nào?"

Tôi đáp:
"Rất đơn giản.
- 'What' là 'cái gì', 'cái gì' có thể tìm thấy trong sách giáo khoa và sách tham khảo. Công việc của em là tìm ra câu trả lời cho các cái 'cái gì' bởi vì anh không thể trả lời hết cái 'cái gì' được. 'cái gì' là kiến thức căn bản.

- 'Why' là 'tại sao', 'tại sao' cũng có trong sách giáo khoa và sách tham khảo nhưng cần phải được đúc kết, rút tỉa. Một người thể chưa đủ 'cái gì' để hình thành 'tại sao', có thể chưa đủ kinh nghiệm để hình thành 'tại sao' và cũng có thể chưa đủ suy luận để hình thành 'tại sao'. 'tại sao' là kiến thức mở rộng.

Cho nên anh có thể giúp em những cái 'why' mà không thể giúp em những cái 'what'. Nên nhớ, sau khi có 'what' rồi thì mới có 'why'.

Rồi, câu kế tiếp."

"cuti" thảng thốt:
"Trời! anh giải thích y như kiểu suy luận toán học hông bằng. Ùm... để em xem lại một phát nữa cái. Ùm... hình như lần trước anh đề cập đến sách giáo khoa và sách tham khảo cũng có giềng mối với chuyện này phải hông anh?"

Tôi cười và trả lời cu cậu:
"Ái chà, em cũng dùng chữ 'giềng mối' sao? Đúng vậy, sở dĩ anh đưa ra chuyện đọc sách, phân loại sách và phương pháp tổng hợp, thâu thập từ sách là vì anh có ý muốn em phải đi qua cái 'what' trước sau đó mới có thể khai triển đến cái 'why'. Rồi, câu thứ hai?"

"cuti" liếng thoắn:
"Ái chà, chữ 'giềng mối' là chữ em copy anh đó thôi. Chữ này ít thấy dùng nhưng em thấy hay hay. Chắc mình phải đi sâu vào chi tiết kỹ thuật đọc sách và rút tỉa từ sách quá anh à, tại vì em vẫn thấy những thứ trong sách muôn trùng. Điều mình cần tìm hiểu thì ít ỏi, điều mình không cần tìm hiểu thì quá nhiều. Cái khó là tìm ra được những phần mình cần trong một cuốn sách. Nhưng thôi, để mình bàn chuyện này sau. Câu thứ hai của em là: anh có thể cho em vài ví dụ kỹ thuật về cái 'giềng mối' mà anh nói ở đây không?"

"cuti" quả không đơn giản tí nào. Tôi trầm ngâm vài giây rồi trả lời:
"Được rồi. Cái gọi là 'giềng mối' chính là những mắc xích từ phần này đến phần kia một cách logic trong một chuỗi sự việc, hiện tượng, thể trạng. Trên bình diện kỹ thuật và nhất là trong khuôn khổ những gì mình đang đi qua, 'giềng mối' nói một cách tổng quát, là những bước dẫn mình đi đến mục đích cuối. Ví dụ:

- em đọc sách đúng phương pháp để hình thành cái 'what', rồi từ 'what' đi đến 'why, thiếu 'what' không thể hình thành 'why', thiếu 'why' không thể đi đến đích: đây là 'giềng mối' sự việc.

- em không thể điều chỉnh nội dung index.html kia: đây là hiện tượng. Nếu phân tích hiện tượng này thì em thấy rằng, để có thể thực hiện việc điều chỉnh này em phải có đủ chủ quyền, để có đủ chủ quyền em phải là 'root', để biến em thành 'root' hoặc mượn tay 'root' thì em phải hiểu rõ những điểm nào trong hệ thống có thể cho phép cho em thực hiện: đây là 'giềng mối' hiện tượng.

- em cần phải tham khảo và hiểu rõ ls, umask, chmod, chownchgrp là vì ls cho phép em liệt kê tính chất và thể trạng của các hồ sơ và thư mục, umask ấn định các thể trạng này cho tình trạng mặc định và chmod, chownchgrp thay đổi hoặc ấn định lại thể trạng hiện có sang thể trạng mới: đây là 'giềng mối' thể trạng.

Em đọc ba ví dụ trên rồi suy gẫm đi smilie"

"cuti" lặng thinh hồi lâu rồi đáp, có phần gay cấn:
"grừ... anh nói chuyện độc thiệt, nhưng anh dùng nhiều từ làm em lùng bùng rồi smilie. Em chưa hề thấy có sách giáo khoa nào về IT mà đề cập những điểm: sự việc, hiện tượng và thể trạng như anh. Một lệnh là một lệnh, một quyển sách là một quyển sách.... em chưa hề thấy qua lối diễn giải sự việc như anh. Thật tình em hơi bị lùng bùng đây anh ạ. Em không hiểu tại sao em phải hiểu rõ giềng mối thể trạng của các lệnh. Bộ muốn trở thành một người rành rẽ về IT thì phải hiểu rõ các 'giềng mối' mà anh đưa ra sao?"

Tự nhủ là mình nên kiên nhẫn vì "cuti" đã 'lỡ' ám ảnh với lối suy nghĩ cục bộ, tôi tiếp tục trả lời:
"Những ví dụ về 'giềng mối' trên là đúc kết logic của những trường hợp anh em mình đang đi qua. Nếu em chỉ hiểu ở mức độ 'một lệnh là một lệnh', em chỉ cần biết gõ lệnh nào đó còn chuyện gì gì xảy ra đằng sau là chuyện em không muốn biết thì em chỉ dừng lại ở mức độ người dùng bình thường. Em còn nhớ chi tiết chuyện 'nhấn nút' trước đây không? Người dùng bình thường chỉ... nhấn nút và chờ kết quả. script kiddie cũng nhấn nút và chờ kết quả. Tuy nhiên, hacker nhấn nút và biết rõ ngay sau khi nút được nhấn, chuyện gì đã và đang xảy ra. Bởi vì hacker đã khiến cho cái 'nút' kia thực thi những điều cụ thể mà anh ta muốn. 'Lệnh' cũng như 'nút' vậy, chúng đều là phương tiện để tác động đến hệ thống. 'hacker' không những biết những phương tiện tác động căn bản, hiểu rõ cơ chế và giềng mối làm việc của chúng mà còn phải có khả năng tạo 'nút' và 'lệnh' để thoả mãn đòi hỏi của mình. Nếu chưa nắm được 'nút' và 'lệnh' làm những gì đến hệ thống thì việc tạo thêm 'nút' và 'lệnh' là chuyện không thể xảy ra. Đây chính là vấn đề thuộc về giềng mối.

Riêng chuyện ngôn từ anh dùng thì... em thông cảm hả? anh quen dùng những từ ấy rồi. Vả lại anh không biết em dùng những từ nào tương đương nên đành phải dùng những từ anh quen thuộc, hì hì."

"cuti" tiếp tục vặn:
"Vậy anh có thể nói rõ hơn cái 'giềng mối' giữa ls, umaskchmod được không anh? Tại sao anh đơn cử mấy lệnh này? Em thấy vấn đề 'giềng mối' anh đưa ra ở đây chưa tỏ lắm. Hay là em lù khù quá nên chưa nắm được ý anh."

Tôi đáp:
"Anh nghĩ anh đã giải thích khá rõ trong e-mail và trong câu trả lời trên rồi mà? Em nên xem lại. Có lẽ mình đi xuyên qua vấn đề hơi nhanh nên em chưa có đủ thời gian để suy gẫm đó thôi. Rồi, câu hỏi tiếp theo là gì?"

"cuti" vẫn kiên trì:
"Đúng là anh đã giải thích về chuyện 'giềng mối' rồi nhưng em vẫn thắc mắc là làm sao mình biết khi nào mình cần dùng lệnh ls, khi nào mình cần dùng lệnh chmod chẳng hạn? Em cần được đả thông khúc mắc này trước khi em có thể hỏi câu tiếp theo."

Tôi trả lời "cuti":
"Chà, điều em cần đả thông ở đây là sự nhuần nhuyễn một hệ điều hành và những phương tiện tác động đến nó để thực hiện điều mình muốn. Để đạt được chuyện này, em phải dùng nó, phải thử nghiệm, phải biến 'lạ' thành 'quen'. Nói một cách khác, em phải là một 'user' thật sự trên hệ điều hành này trước khi em trở thành một 'hacker'. Nếu em dùng hệ điều hành đến mức nhuần nhuyễn, tự nhiên em biết được khi nào em cần dùng lệnh nào để thực hiện chuyện gì. Đây là cái 'what' mà em phải thực hiện."

"cuti" trở nên gàn bướng:
"Nhưng đợi đến khi em thành thạo hết những 'lệnh' kia thì biết cho đến bao giờ hở anh? Điều em thắc mắc là có một quy trình gì đó để thao tác những lệnh đó không anh?"

Tôi hơi thất vọng vì lại phải quay lại giai đoạn này. Tôi đáp:
"Hèm, anh nghĩ mình đã thống nhất với nhau là: em phải hiểu rõ hệ thống trước khi có thể 'hack' hệ thống rồi mà? Việc em dành thời gian cài một cái Linux server và cố gắng làm quen với nó chính là quá trình hiểu hệ thống đó. Ở đây anh giúp em một điều: giới hạn lại những điểm cần tìm hiểu cho việc điều chỉnh nội dung index.html kia thì cần tham khảo những lệnh nào. Anh không khuyến khích học 'lệnh' mà anh chỉ khuyến khích học 'system'. Tuy nhiên để em đỡ mất thời gian, anh giới thiệu vài 'lệnh' để em tập trung vào một phần nào đó của system. Còn chuyện quy trình thì anh nghĩ là không có quy trình gì cả. Các bước thẩm định, dò xét để chọn lựa hướng giải quyết của mỗi người đều khác nhau.

Đến một mức nào đó, quá trình hình thành hướng giải quyết và cách giải quyết cụ thể chỉ thuần tuý phụ thuộc vào khả năng sáng tạo của mỗi cá nhân mà thôi. Những lệnh căn bản như ls, umask là những lệnh không thể thiếu để thẩm định. Thẩm định còn có thể mở rộng ra bằng cách phối hợp một số 'lệnh' để mang lại kết quả nhanh chóng và trung thực hơn. Anh cho rằng không có một công thức hay quy trình nào cả. Cùng lắm là mọi người đều chọn chung một hướng giải quyết là đi từ dễ đến khó, từ đơn giản đến phức tạp."

"cuti" reo lên:
"Vậy thế nào là đơn giản, thế nào là phức tạp? thế nào là dễ và thế nào là khó hở anh?"

Tôi cười, đáp:
"Em không đùa đấy chứ? Em không biết thế nào là đơn giản, phức tạp, dễ và khó hay sao? Hay ý em muốn nói trong khuôn khổ điều chỉnh nội dung index.html ở đây mà thôi?"

"cuti" đáp một cách thoả mãn:
"Đúng rồi anh, có vậy mới được chớ? hì hì. Em chỉ muốn biết cách nào là cách đơn giản, dễ để điều chỉnh nội dung index.html kia. Cách nào là cách khó và phức tạp. Anh nói qua chuyện này đi?"

Tôi đáp:
"Hì hì, em vẫn chưa thoát khỏi con ma 'thiếu kiên nhẫn', nó cứ đi theo em và 'ám' em mãi vậy? smilie. Em chỉ muốn thấy kết quả liền liền thôi. Anh có thể nói đến các thao tác để em nghe nhưng làm như vậy bị hỏng hết kế hoạch của anh em mình. Làm như vậy em không còn có chuyện để tìm hiểu và thâu thập nữa."

"cuti" chống chế:
"Hì hì, dạ đúng rồi. Em đúng là muốn thấy ngay kết quả. Nhưng anh thông cảm cho em tí đi. Dù gì em cũng còn nhỏ dại, thiếu kiên nhẫn mà. Nếu em mà điềm đạm, kiên nhẫn thì em đã thành một ông... già khó tánh như anh rồi smilie. Nếu anh nghĩ rằng mình không nên đốt giai đoạn thì em không tò mò thêm nữa đâu."

Tôi mỉm cười, nghĩ ngợi vài giây rồi trả lời "cuti":
"Hèm.... 'nhỏ dại' thì phải làm gì đó mới 'lớn lên' được chớ em? Không nên viện lý do 'nhỏ dại' để làm sai hướng mình đi. Hơn nữa, nếu lúc nào cũng chống chế bằng sự 'nhỏ dại' thì khó mà 'lớn lên' được. Thật ra anh có thể tổng hợp lối giải quyết vấn đề một cách chung chung cho em xem. Tuy nhiên, em nên nhớ đây không phải là một quy trình hay công thức gì cả, đây chỉ là những thẩm định và thực thi mang tính thói quen và kinh nghiệm mà thôi. Giả sử em đánh cuộc với anh là làm sao anh có thể đổi nội dung index.html thì anh sẽ làm như sau, không nhất thiết phải theo đúng thứ tự:
- trước tiên, dùng ls để xem chủ quyền ấn định đến hồ sơ này. Nếu nó cho phép mọi người 'viết' và 'đọc' --> game's over.
- nếu nó cho người tạo ra hồ sơ này và một nhóm người dùng nào đó (group) được phép 'viết' và 'đọc', anh xem thử umask ấn định chế độ chủ quyền theo mặc định ra sao để đánh giá mức cẩn thận của người làm chủ server này --> anh tìm cách đưa tài khoản của anh vào group này --> nếu được, game's over.
- nếu nó chỉ cho người tạo ra hồ sơ này muốn làm gì thì làm, ngoài ra mọi người chỉ được phép 'đọc' --> cái này dẫn đến nhiều chọn lựa.

a. anh xem thử sudo được ấn định thế nào. Nếu sudo ấn định lỏng lẻo và cho phép anh thay đổi một script nào đó hoặc mượn tay root để làm gì đó --> game's over

b. nếu sudo quá chặt chẽ, em mới dò tìm xem trên system này có 'world-writeable' script nào không. script cần cho root thực thi thì càng tốt. Nếu có --> game's over

c. nếu không tìm ra được gì hết, anh mới chuyển qua tìm xem có binary nào trên system có SUID và bị lỗi. Nếu có --> game's over.

d. nếu tìm không ra SUID có lỗi, anh mới nghĩ đến chuyện tìm những chương trình hay dịch vụ nào chạy với chủ quyền super user và cần tạo hồ sơ tạm thời ở /tmp. Nếu các chương trình này thiếu sanity check trước khi tạo temp file thì anh dùng symlink để mượn tay 'su' đổi chủ quyền một file nào đó anh chọn trước để khai thác password hoặc những thứ tương tự --> game's over

e. nếu system này... chiến quá, không có chương trình nào hoặc dịch vụ nào thiếu sót trong phần sanity check trước khi tạo temp file thì anh mới nghĩ đến shellcoding. Tìm cách dò ra một vị trí nào đó trên memory đang được 'su' dùng và bắt nó thực thi một chuyện gì đó tiện lợi cho anh để biến anh thành 'root' --> game's over.

Nếu đi xuyên qua các dạng thẩm định trên (cộng với các phối hợp) mà vẫn không tìm ra kẻ hở --> bó tay.

Nếu xét về mặt khó hay dễ, đơn giản hay phức tạp thì a -> e tạm xem là thứ tự. Tuy vậy, mỗi dạng thăm dò và quyết định phương hướng có thể mở ra nhiều khả năng khác nhau, mức đơn giản và phức tạp sẽ thay đổi. Bởi vậy, trình tự cụ thể và rõ ràng là chuyện không thể có được."

"cuti" khoái chí đáp:
"Thấy chưa? em 'moi' một chặp cũng ra thôi. Anh đưa ra a -> e không đơn giản và dễ hiểu hơn sao?"

Tôi đáp:
"Tất nhiên là 'đơn giản và dễ hiểu' nếu như em vẫn còn đeo cứng lối khai triển và thực hiện theo kiểu 'step-by-step'. Nếu em hiểu rõ việc ứng dụng các cơ chế làm việc trên máy chủ, tự nhiên em hiểu rõ vấn đề và hiểu rất sâu về nó. Nếu em không hiểu rõ việc ứng dụng các cơ chế mà chỉ làm theo các 'steps' thì sự thất bại chiếm trên 90% vì khi gặp trở ngại, em không biết cách đổi hướng hay vận dụng thêm các chọn lựa khác để thay đổi tình hình. Nên nhớ, anh không 'chỉ vẽ' chuyện 'khai thác' ở đây. Anh chỉ đưa ra ví dụ và phân tích cái gọi là 'giềng mối' cho em thấy rõ 'giềng mối' là thế nào mà thôi. Nếu em hỏi anh SUID là gì, làm sao khai thác nó thì anh sẽ không trả lời vì anh không biết phải trả lời thế nào. Cho đến khi em tìm ra SUID là gì, nó có tác dụng gì, tại sao có nó thì tự nhiên em sẽ có câu trả lời 'làm sao để khai thác nó' mà thôi smilie."

"cuti" bức xúc thấy rõ:
"Trời, anh lúc nào cũng úp úp, mở mở smilie. Anh đúng là làm khó em."

Tôi cười phá lên vì "cuti" bị lạc đề và đi đến việc ngộ nhận vấn đề một cách trầm trọng. Tôi nói tiếp:
"Này ông thần nước mặn, anh em mình đang nói chuyện 'giềng mối' hay anh em mình đang bàn chuyện 'exploit' ở đây vậy? Em đừng nóng nảy như thế. Liệu trước giờ em đã 'chat' với ai ở cấp độ anh em mình đang 'chat' chưa? Nếu chưa thì em không nên cho là anh 'úp úp, mở mở' smilie."

"cuti" chống chế và phụng phịu:
"Hông phải, hông phải. Ý em trách móc gì anh hết. Em thấy 'giềng mối' được thể hiện qua quy trình exploit là dễ thấy và dễ hiểu nhất. Anh dùng ví dụ a -> e tự nhiên em thấy thông hẳn ra. Thế nhưng anh lại quay về chuyện khái niệm. Để em tiêu hoá được mớ khái niệm này chắc chết mất."

Tôi quyết định trở nên cứng rắn với "cuti" không thì hỏng bét. Tôi đáp:
"Nếu em không tiêu hoá nổi mớ 'khái niệm' kia thì em sẽ không bao giờ có thể 'hack' được. Anh phải nhấn mạnh điều này bởi vì có ba điểm quan trọng như sau:
- những cái em gọi là 'khái niệm' kia chính là kỹ năng lập luận và định hướng. Không có nó, em không làm gì được (và chỉ có thể ngồi đó chờ được mách nước). Kỹ năng này giúp cho em không chỉ mở một 'ổ khoá' mà nhiều 'ổ khoá'. Em chọn lựa lối tiếp thu 'step-by-step' thì chắc chắn em chỉ có thể mở được một 'ổ khoá' mà thôi.
- từ những thứ gọi là 'khái niệm' kia, nó tạo điều kiện cho em tìm hiểu và hiểu những kiến thức cần thiết để hình thành những 'giềng mối' của cả một hệ thống làm việc.
- nếu em chỉ 'nhắm mắt' mà thực thi các 'lệnh', em vướng vào một thế giới cực kỳ mơ hồ và nguy hiểm."

"cuti" cố chống chọi:
"Trời, có gì mà nguy hiểm anh? Cùng lắm là làm không được thôi mà smilie."

Tôi cười, đáp:
"Nếu anh cho em một đoạn script hoặc một đoạn mã nguồn và anh nói rằng: 'chạy nó đi, nó sẽ thực hiện điều em muốn' nhưng bên trong đoạn script hoặc đoạn mã nguồn này tàng chứa những 'thứ' nguy hiểm khác mà em không biết. Liệu em có chạy nó không?"

"cuti" cười giã lã:
"Chẳng lẽ anh mà lại 'chơi' em sao? Tất nhiên là em chạy nó liền mà chẳng ngần ngại."

Tôi đáp:
"Đó chính là điểm nguy hiểm mà em không nhận ra. Cứ cho là anh không làm chuyện đó nhưng làm sao em dám chắc là một chương trình nào đó em download từ Internet về hoàn toàn đáng tin cậy nếu em không soi xét nó kỹ lưỡng? Và để soi xét kỹ lưỡng nhất định em phải có đủ kiến thức cần thiết. Em dùng một thứ công cụ, một đoạn script, một đoạn mã nguồn với mục đích 'exploit' mà bị 'exploit' bởi chính công cụ mình dùng thì... hack hiếc cái nỗi gì?"

"cuti" đáp:
"Trời, em chưa bao giờ nghĩ đến điểm này. Có lẽ em chưa có đủ kinh nghiệm 'chiến trường' mà thôi."

Tôi trả lời:
"Ừa, chưa đủ kinh nghiệm 'chiến trường' thì quá rõ nhưng vấn đề mình đang bàn ở đây là mình phải có đủ kiến thức để xem thử mình đang 'chơi' với cái gì và chắc chắn lối khai triển 'step-by-step' sẽ không giúp được em. Hơn nữa, nếu hiểu rõ, mình có thể dùng nó để 'cải thiện' cho mục đích cụ thể của mình. Nhưng thôi, anh nghĩ mình đi hơi xa chủ đề rồi đó. Em nên lưu lại trọn bộ nội dung cuộc nói chuyện của anh em mình hôm nay và về đọc kỹ lại đi. Nếu được, lần sau em làm một bản 'tổng kết' những gì mình bàn cãi cho đến lúc này. Được không 'cuti'?"

"cuti" nhanh nhảu:
"Dạ được chớ anh, chuyện nhỏ như con thỏ thôi mà. Anh phải đi à?"

Tôi đáp:
"Ừa, anh phải đi. Anh dính chặt vào cái máy cả tiếng đồng hồ rồi. Anh phải đi có công chuyện. Cần gì cứ YIM cho anh nha. Chào cuti."

"cuti" vẫn hóm hỉnh:
"Chào anh già... dễ tánh".

Và tôi logoff.

12/7/2005
<còn tiếp>

Những cuộc đối thoại với rookie - Phần 3

6. "Vật vã":
Điều lạ đã xảy ra. Suốt tuần lễ này tôi không hề nhận được một thông điệp nào từ "cuti". Tôi không thể đoán nổi "cuti" bận học hành, thi cử hay cu cậu đã chán nản "con đường chông gai". Dù gì đi chăng nữa, tôi đã có ít nhiều cảm mến "cuti" ở cái tính thật thà và hóm hỉnh của cu cậu. Một phần nào đó thầm kín trong lòng, tôi mong "cuti" đừng bỏ cuộc.

Thế rồi, sang tuần lễ thứ hai, tôi nhận được một thông điệp ngắn gọn và bí hiểm từ "cuti":
"Chào anh già khó tánh. Em đang vật vã đây nhưng cũng chưa đến nỗi 'lực cùng, sức tận'. Em sẽ cho anh biết kết quả thử nghiệm của em". Tôi lẩm bẩm "chà, có gì mà bí hiểm quá vậy? 'thử nghiệm'? chắc cu cậu đã táy máy cái gì đây.". Tôi thấy vui vì thông điệp này chứng tỏ cu cậu chưa bỏ cuộc nhưng lại thắc mắc không hiểu lý do tại sao "cuti" lại trở nên tiết kiệm ngôn từ đến thế.

Tôi tiếp tục lao vào công việc suốt những ngày còn lại của tuần lễ. Mãi đến chiều thứ Bảy, rảnh rỗi một tí, tôi log vào YIM để xem các "offline message". Như thường lệ, tôi nhận hàng đống thông điệp và thong thả trả lời từng cái một. Quả nhiên có vài cái thông điệp của "cuti". Lần này "cuti" có vẻ rất khẩn trương:
"Ui, anh già khó tánh co đó không? Em bó tay rồi á. Anh có online cho em biết với"

Một thông điệp khác:
"Cuối tuần chắc anh rảnh hả? Lúc nào tiện, cho em biết. Em sẽ online cuối tuần để nhờ anh chỉ cho em thêm vài 'khẩu quyết'.".

Tôi chậc lưỡi: "Chà, cuti này làm gì mà có vẻ bí hiểm thật." Tôi đoán chắc cu cậu đang táy máy cái gì đây như bị tắc tị. Tôi bèn gởi cho "cuti" một thông điệp:
"Hello cuti, anh hiện đang online. Có cần gì thì vào mà hỏi. Anh sẽ online từ 2 giờ chiều đến tối đa là 3 giờ."

Không đầy một phút, tôi nhận được thông điệp của "cuti":
"Dạ, em đây. Em ngồi chờ từ sáng đến giờ á."

Tôi cười, đáp:
"Hì hì, rảnh rỗi quá hả? 'nằm' trên Internet thường trực? Mà này, em cũng chơi trò 'invisible' như anh hả? Có chuyện gì mà có vẻ khẩn trương vậy?"

"cuti" rối rít:
"Dạ, em chuyển sang 'invisible' để khỏi bị quấy rầy. Cả hai tuần qua em chả chat với ai cả mà gầm đầu vào để tìm hiểu lời thử thách của anh."

Tôi ngạc nhiên:
"Ủa, 'lời thử thách' nào của anh vậy?"

"cuti" nhanh nhẩu:
"Trời, mới có hai tuần mà anh quên béng hết rồi sao? Cái thử thách anh nói là anh cho em IP, account của một Linux box để em vào hack đó. Anh còn nhớ không?"

Tôi bật cười nhưng không kém phần ngạc nhiên. Quả tôi có 'thách' "cuti" thật nhưng đó chỉ là một chi tiết trong cuộc đàm thoại để làm rõ quan điểm của tôi mà thôi. Không ngờ "cuti" tiếp nhận vấn đề một cách nghiêm túc và nghiêm trọng. Tôi đáp:
"À, tất nhiên là anh nhớ chớ. Nhưng đó đâu phải là điều anh thách thức một cách chính thức đâu? Đó chỉ là một cách làm rõ quan điểm thôi mà em. Hơn nữa, anh nhớ là em chịu thua rồi mà? smilie"

Không ngờ "cuti" trả lời như sau:
"Dạ, em thua thật nhưng sau khi nói chuyện với anh lần thứ nhất, rồi đến lần thứ hai. Mọi điều anh em mình trao đổi em đều ghi nhớ và cố gắng suy gẫm. Có những điều em suy không ra, nhưng cũng có nhiều điều em thấy thấm lắm. Cho nên, những điều anh nói em đều cho rằng phải có một ẩn ý nào đó. Hơn nữa, quả thật anh đã 'thách thức' em mà. Em đã chịu thua nhưng sau đó nghĩ ngợi lại em thấy ấm ức chịu không nổi. Thế là em bắt tay vào thử nghiệm."

Hơi ngạc nhiên, tôi hỏi tiếp:
"Rồi sao nữa?"

"cuti" tiếp tục:
"Dạ. Em chỉ có một con Pentium 3 mà thôi. Lần trước em học đòi cài đặt Linux, xém chút nữa là tiêu cái Windows của em. Bây giờ em muốn học Linux nên em... vòi mẹ em tiền để sắm một con Pentium 4. Em viện lý do là em phải học mạng, cần hai máy nên rốt cuộc mẹ cho tiền sắm thêm một con P4. Thật là thích. Con này mạnh nên em mang cái đĩa chạy Windows qua và dùng con cũ để cài Linux."

"cuti" đưa tôi đi từ ngạc nhiên này đến ngạc nhiên khác, tôi hỏi tiếp:
"Thế rồi sao?

"cuti" hớn hở đáp:
"Em tậu con P4 chỉ trong vòng 2 ngày là có và đến ngày thứ 3 thì em đã có con P3 cũ để vọc quậy với Linux. Em mua một bộ đĩa RedHat 9 và tham khảo đống e-book của em để cài lại con Linux này. Ròng rã mấy ngày trời, em hoàn tất con Linux. Có hôm em thức đến mấy giờ sáng, ngủ chập chờn một tí rồi thức dậy đi học."

Tôi thầm cảm phục cái "bướng bỉnh" và quyết tâm của "cuti". Không ngờ cu cậu quá nghiêm trọng với chi tiết "thách thức" kia. Tôi hỏi tiếp:
"Vậy, cài xong con Linux kia, em dự định làm những gì?"

"cuti" đáp tỉnh khô:
"Trời, vậy mà anh không biết sao? Em định tạo dịch vụ web trên con Linux này rồi tự 'hack' nó để thay đổi trang chủ y hệt như lời anh thách thức em đó. Nhưng cài xong em chẳng biết thằng apache làm việc ra sao nữa. Khi cài, em chọn cài tất cả nên có tùm lum tá lả dịch vụ trên máy chủ này. Em lại lọ mọ tham khảo cuốn e-book nói về apache để xem nó làm việc ra sao. Anh cũng biết là tiếng Anh của em dỏm số một nên nhiều lúc tham khảo mấy tài liệu kia choáng váng cả mặt mày. Nhưng rốt cuộc em cũng đã hoàn tất được thằng apache rồi. Mất của em ròng rã mấy ngày trời á."

Tôi cười rộ vì lối suy nghĩ "thẳng ruột ngựa" của "cuti" nhưng đồng thời cảm thấy mến cu cậu nhiều hơn. Mến ở chỗ cu cậu không chỉ "nói miệng" mà dám gát qua hết mọi chuyện để tạo ra một môi trường để tự thử nghiệm và kiểm chứng. Tôi đáp:
"Tốt lắm đó 'cuti'. Em dám hy sinh thời gian và những 'trò chơi' thông thường để tự hình thành cho mình một cái Linux server trong khoảng thời gian ngắn như vậy thì quả thật xuất sắc. Anh thật lòng hoan nghênh em đó smilie"

"cuti" hồ hởi:
"Anh nói thật sao? ặc ặc, hu hu, sướng quá đi mất. Em cứ tưởng anh sẽ mắng cho em một chặp vì tội phí thời gian cài một con Linux để chứng minh một chuyện chẳng là cái gì hết. Ặc, ặc... em tưởng anh thật sự là 'anh già khó tánh' nhưng không ngờ anh cũng biết khen đó chớ, hì hì."

Tôi đáp:
"Trời, sao không khen được "cuti"? Nếu em làm một chuyện gì đúng và có giá trị thì phải được khen mới phải chớ? Anh khen vì anh thấy em không chỉ 'nói miệng' cho xong chuyện nhưng em đã thật sự bắt tay vào làm một việc cụ thể. Chưa biết kết quả công việc đó như thế nào nhưng ở giai đoạn tìm hiểu với một người như em, theo anh, em đã đạt một bước đầu hết sức quan trọng: học đi đôi với hành. Cái này cũng chứng tỏ là em có đủ ham muốn để tìm hiểu và làm sáng tỏ điều mình thắc mắc. Thật sự, anh thấy rất vui khi nghe chuyện này."

"cuti" rên rỉ:
"Hic hic, hơn một tuần qua em 'phờ phạc' với con Linux này. Giờ được khen tự nhiên bao nhiêu mệt nhọc biến đi đâu hết. Anh là một người rất 'nguy hiểm'! hì hì. Lý do em muốn gặp anh là vì em thấy muốn đổi thông tin trên trang chủ của website quá đơn giản. Em nghĩ là anh đố 'mẹo' em gì đây. Em nghĩ nát óc mà không ra lý do. Anh chỉ cho em với."

Tôi cười, hỏi lại:
"Thứ nhất, tại sao nghĩ anh là người nguy hiểm? Thứ hai, em điều chỉnh thông tin trên trang chủ của website em tạo ra bằng account nào và bằng công cụ nào vậy?"

"cuti" nhanh nhảu:
"Thứ nhất, anh là người 'nguy hiểm' vì anh có khả năng 'hành hạ' bộ não của em rồi sau đó mới khen một tiếng. Cú khen này thấy 'phê' hơn các cú khen thông thường. Theo em, như vậy là... 'nguy hiểm' smilie. Thứ nhì, ý anh account nào là sao? khi em cài con RH9 này nó cho phép em chọn mật mã của account root cho nên em chỉ dùng root từ bữa giờ thôi. Đâu có account nào khác đâu? Còn công cụ thì em thấy có cái Gnu Text Editor gì đó nên em dùng vậy thôi."

Tôi đáp:
"À ra vậy. Thứ nhất, nếu em nghiệm ra được anh là người 'nguy hiểm' thì không chừng em còn 'nguy hiểm' hơn anh. Thứ hai, em nghĩ lần trước anh đánh cuộc với em chuyện sửa nội dung một trang web trên Linux server, anh sẽ cho em root account sao? smilie. Nếu vậy còn gì vui nữa. Anh chỉ cho em một account như một người dùng bình thường trên server này thôi. Còn chuyện em dùng Text Editor gì đó thì có nghĩa là em chạy trên môi trường GUI hả?".

"cuti" thắc mắc:
"Vậy root account với account của người dùng bình thường khác nhau thế nào anh? Và anh nói chuyện GUI, có phải ý anh là làm việc trên giao diện đồ hoạ phải không?"

Thấy rõ "cuti" còn hổng nhiều điểm căn bản, tôi ngẫm nghĩ cách tốt nhất để giải thích cho cu cậu. Sau đó tôi trả lời:
"Anh nghĩ em rành Windows nên anh tạm dùng Windows để em dễ liên tưởng. Thế này, trên Windows, Administrator có chủ quyền cao nhất, có nghĩa là ai dùng account này có thể làm bất cứ chuyện gì trên máy. Trên *nix nói chung, root chính là Administrator vậy. Thông thường ít có ai (kinh nghiệm với *nix) mà dùng root account để làm việc bởi vì quá nguy hiểm. Nguy hiểm ở chỗ nếu 'lỡ tay' thì không cứu vãn được vì root có uy quyền tuyệt đối. Bởi thế, admin của server thường tạo các account thông thường cho người dùng thông thường. Chỉ có những trường hợp cần thiết thì mới chuyển sang su (super user mode - hay còn gọi là root mode). Trong trường hợp của em, em phải tạo thêm một account bình thường cho người dùng rồi mới dùng account này để 'hack' thì mới gần với hoàn cảnh chuyện anh đánh cuộc với em.

Riêng chuyện GUI thì thế này. GUI giúp cho những người mới làm quen *nix thấy dễ dàng và nó rất tốt nếu em có thể dùng nó như một dạng desktop để làm việc. Tuy nhiên, trong trường hợp anh cho em một account trên một Linux server nào đó để 'hack' thử, em thử nghĩ xem, em sẽ login server này bằng cách nào?"


"cuti" đáp ngay:
"Em nghĩ là phải dùng một dạng 'pcanywhere' hay 'terminal service' để log vào chớ sao nữa anh?"

Tôi cười đáp:
"Hì hì, trên *nix làm gì có 'pcanywhere' hay 'terminal service'? Thông thường, để bảo mật, những dạng dịch vụ cung cấp khả năng truy cập theo dạng GUI (trên *nix còn gọi là X) hoàn toàn bị loại bỏ vì rất dễ bị 'khai thác'. Nếu vậy, theo em thì mình log vào bằng cách nào?"

"cuti" ngẫm nghĩ rồi đáp:
"Bằng telnet phải không anh?"

Tôi đáp:
"Gần đúng! ngày trước dịch vụ telnet được dùng rất phổ biến nhưng ngày nay rất hiếm thấy máy chủ cung cấp phương tiện truy cập đến dịch vụ telnet vì lý do thông tin trao đổi giữa telnet client và telnet server hoàn toàn là 'cleartext' nên dễ bị 'sniff' (kể cả password). Thay vào đó, ngày nay người ta dùng ssh là chính."

"cuti" hớn hở:
"A, em có nghe đến SSH rồi nhưng chưa hề mó qua nó. Vậy mình truy cập vào bằng đường SSH có nghĩa là mình chỉ có một cửa sổ đen ngòm để làm việc phải hông anh?"

Tôi xác nhận:
"Đúng thế, em sáng dạ lắm smilie. Mình chỉ có một cửa sổ 'đen ngòm' để làm việc. Muốn có nhiều cửa sổ thì mình phải login nhiều lần. Rồi, nếu mình login qua ssh và có cửa sổ 'đen ngòm', vậy liệu em có thể dùng "Notepad" gì để để điều chỉnh hồ sơ trên website không?"

"cuti" liến thoắn:
"Hi hi, anh ghẹo em hoài. Lúc này không có GUI thì làm sao mà 'Notepad'? Vậy mình phải dùng cái gì để thực hiện chuyện điều chỉnh đây anh?"

Tôi cảm thấy phải đi chầm chậm với "cuti" không thì cu cậu choáng ngợp thì hỏng hết, bèn đáp:
"Ừa, khi làm việc với *nix, một trong những công cụ căn bản và không thể thiếu là vi hoặc emacs. Em phải học cách sử dụng một trong hai công cụ này. vi thì phổ biến và đơn giản hơn, emacs thì có server không dùng nhưng nó cao cấp hơn. Anh nghĩ em nên làm quen với vi trước."

"cuti" reo lên:
"Hi hi, vi? cái tên gì ngộ thật smilie Em chưa từng nghe qua, đừng nói chi là đụng đến nó. Vậy mình có cần cài gói vi không anh?"

Tôi đáp:
"Không em, vi có sẵn khi em cài Linux rồi đó vì nó là một trong những gói căn bản nhất. Em xem thử trong mớ e-book của em có cuốn sách nào nói về vi không? anh nhớ mang máng là O'Rilley có một cuốn chuyên chú về vi đó. Nếu không có, cho anh biết để anh tìm vài cái link trên Internet chỉ cách học và thực tập vi cho."

"cuti" trả lời ngay:
"Dạ, chờ em một tí thôi, con Windows của em ngay trên bàn, để em xem liền thử có cuốn e-book này không."

Tôi ngồi chờ "cuti" và cố hình thành một phương án ngắn gọn để 'đưa' "cuti" đi từ chỗ thiếu lớp lang đến chỗ có lớp lang hơn. Cái khó là vấn đề thời gian và phương tiện liên lạc. Tôi thì rất ít có thời gian để vào YIM. Ngay cả vào YIM và chat bằng text thì chẳng 'hiệu xuất' vì chậm quá. Tôi thầm nhủ "thôi thì cứ từng bước mà mần, xem thử cuti kéo dài được bao lâu rồi tính tiếp". Sau vài phút, "cuti" gởi cho tôi một thông điệp khác:
"Anh già khó tánh ơi, còn đó hông? Em đã tìm ra được cuốn e-book của O'Rilley anh nói rồi đó. Em nghĩ đúng là nó vì trong đống e-book của em chỉ có một cuốn nói về vi. Hi hi, bây giờ em mới thấy quý cái 'kho' ebook của em. Trước giờ cứ để nó một góc mà chẳng biết tận dụng nó."

Tôi đáp:
"Tốt lắm. Sẵn có hai máy, em mở cái ebook đó trên Windows và dợt vi trên Linux đi. Nhưng nhớ đừng tự dồn ép quá mà không tốt và dễ bị nản. Thức ăn dành cho não bộ cũng như thức ăn dành cho... bộ lòng smilie. Em phải ăn uống điều độ thì nó mới tiêu hoá và tiếp thu được. Ráng dồn cho nhiều vào thế nào cũng bội thực cho mà xem. À mà này, em đã nắm khái niệm 'root' account và account cho người dùng bình thường chưa?"

"cuti" hóm hỉnh:
"Đơn giản quá mà anh. Anh cứ dùng Windows giúp em liên tưởng Linux thì em hiểu liền liền thôi. Còn chuyện dồn ép thì anh đừng lo. Hễ em thích thì bao nhiêu cũng được hết. Anh thấy không, gần hai tuần qua em vật lộn với con Linux, vừa đọc tài liệu vừa ráng hiểu vậy mà cũng cài được con Linux mà. Em chẳng thấy mệt gì cả mà lại thấy thích vì lần đầu tiên em cài nó vì có mục đích rõ ràng smilie"

Tôi cười và đáp:
"Thôi đi, đúng ra anh không nên dùng Windows để giúp em liên hệ với Linux bởi vì chúng khác nhau rất nhiều. Khi làm việc với Linux nên tránh liên hệ và so sánh đến Windows vì nó có thể dẫn đến những sai lạc căn bản. Lần sau anh không liên hệ kiểu này nữa đâu. Còn chuyện cài được con Linux thì anh thấy tốt lắm. Em đã vượt qua được một bước rất quan trọng cho những bước về sau. Tuy nhiên, anh góp ý với em chuyện điều độ là vì anh không muốn em lao vào thật nhanh rồi rút lui thật nhanh vì bị choáng ngợp. Nếu lâm vào tình trạng này không những uổng phí mà còn nguy hại nữa bởi vì lần sau em sẽ e ngại vì có ấn tượng không tốt từ lần trước và bởi thế em sẽ rất khó quay lại mức bền bỉ và quyết tâm cần thiết để thành công."

"cuti" trả lời:
"Vậy thì em nghe theo lời anh. Em chỉ sợ tự nhiên giảm 'tốc độ' lại một cách đột ngột sẽ làm em mất trớn thôi. Vậy em phải bắt tay vào học vi phải không anh? Anh nghĩ bao lâu thì em sẽ thành thạo với công cụ này?"

Tôi đáp:
"Anh nghĩ không lâu đâu. Căn bản thì vi chỉ có vài chục lệnh để di chuyển và sửa đổi nội dung hồ sơ. Phần khó là phần dùng regex để tìm 'pattern' và thay thế 'pattern'. Tuy nhiên, em có thể 'nâng cấp' từ từ. Cái quan trọng là phải chịu khó 'dợt' vi bằng cách làm việc thử trên các hồ sơ; đọc sách 'khan' mà không thử thì không cách gì mà nhớ hết và thông thạo được.

À, có một chi tiết anh muốn nhắc em về chuyện em muốn thực hiện vụ đánh cuộc của mình. Em nên nhớ là em phải thực hiện các thao tác từ xa và chỉ dùng một cửa sổ 'đen ngòm, chữ trắng'. Em phải thử login máy Linux server của từ một máy khác. Trong trường hợp của em thì nên logon từ máy Windows và nên dùng Putty, một ssh client rất hay và miễn phí. Thử vào google và tìm 'Putty' thì sẽ thấy đường dẫn để download công cụ này. Nếu em đã chọn chế độ 'cài tất cả' khi cài Linux, anh nghĩ là em đã có sẵn dịch vụ SSH trên máy Linux rồi đó."


"cuti" cười, đáp:
"Hì hì, anh cẩn thận quá. Em biết em phải làm gì mà."

Tôi vẫn kiên trì:
"ok, nếu em biết em phải làm gì, em tóm tắt những điểm em phải làm gì anh xem thử? smilie"

"cuti" trả lời ngay:
"Đơn giản như... đang giỡn. Nè, em phải:
- download thằng Putty về máy Windows
- dùng nó để truy cập vào máy chủ Linux
- thử thay đổi nội dung trang web đang có trên máy chủ Linux"


Tôi đáp:
"Còn thiếu! dùng Putty để truy cập vào máy chủ Linux bằng một account bình thường. Điểm này cực kỳ quan trọng."

"cuti" rú lên:
"Oái, chuyện đơn giản vậy mà em vẫn sót một chi tiết quan trọng. Không sao, để em save nội dung anh em mình chat và đọc lại thì chắc ăn, không sót gì đâu. Ơ, nhưng mà muốn truy cập và máy chủ Linux bằng một account bình thường thì phải có một account bình thường phải không anh? Nếu vậy mình phải tạo thêm account bình thường. Tạo account bình thường là làm sao vậy anh?"

Tôi cười:
"Sao hỏi anh? Cuốn cẩm nang Linux của em đâu? Tạo account trên *nix cũng được xem là một trong những thao tác 'hack' đó và không có cuốn sách chỉ dẫn dùng Linux nào lại không nói đến chuyện này cả. Em thử tìm cách 'hack' hợp lệ bằng cách tạo 'user account' đi smilie."

"cuti" rên rỉ:
"Ặc ặc, em muốn anh chỉ liền để đỡ mất công đọc sách và có ngay một account để mà quậy. Vậy mà anh cũng không chịu chỉ dùm."

Tôi tìm cách khuyến khích "cuti" và đáp:
"Hì hì, anh chẳng hẹp hòi với cái lệnh thêm user account vào máy đâu. Tuy nhiên, anh không chỉ em ngay lập tức bởi vì em phải làm quen với những thao thác đơn giản và căn bản này thì về sau em mới có thể 'hack' được. Cái đơn giản và căn bản luôn luôn có giềng mối sâu xa với cái phức tạp và nâng cao. Cho nên em cần chịu khó bước đầu."

"cuti" vui vẻ trả lời:
"Không có gì đâu anh, em tìm hiểu nó được mà. Em chỉ có thắc mắc là tại sao anh rất kiên trì với chuyện bắt em phải làm quen với việc tạo account thôi. Chắc anh phải lý do gì đó phải hông?"

Tôi đáp:
"Ừa, em tinh ý lắm. Chắc chắn là anh có lý do. Lý do khá rõ ràng như sau nếu em thắc mắc. Bởi lẽ em phải đọc phần hướng dẫn cách tạo user account, chắc chắn nó sẽ kèm thông tin về tài khoản và quyền hạn của account. Nó lại trực tiếp dính đến nhóm người dùng (group) và cả password, thư mục nhà (home directory), shell ấn định cho người dùng và chủ quyền truy cập trên filesystem.... Đây là những kiến thức căn bản không thể thiếu được. Nếu em là người có 'máu' system admin thì em sẽ tò mò tìm hiểu thêm cơ chế lưu trữ password của Linux thế nào, cơ chế xác thực người dùng (authentication) ra làm sao. Nếu em là người có 'máu' coder thì em sẽ tò mò tìm hiểu xem khi tài khoản được tạo ra, nó sẽ dính líu đến các system calls nào, khi người dùng xác thực để login thì có những system calls nào cần dùng? thuật toán nào dùng để băm (hash) password?.... Những kiến thức này là những kiến thức sẽ làm em "vật vã" trong giai đoạn đầu nhưng không thể thiếu được nếu như em muốn làm 'hacker' đúng nghĩa."

"cuti" cảm thán:
"Chà chà, nghe mà phát khiếp. Thôi anh chậm chậm lại một chút hông thì em 'nuốt' không kịp. Ý anh là em phải nhìn vấn đề từ nhiều phương diện? nhìn vấn đề như một system admin cũng như một coder? Và tại sao mình cần phải hiểu rõ một cách tinh tế như vậy anh?"

Tôi cười đáp:
"Anh đoán trước thế nào em cũng thắc mắc những điểm này. Để anh giải thích thêm một tí nữa. Hãy thử dùng một ví dụ 'hiện thực' hơn một tí: em vào được một dinh thự, trong dinh thự có một cái két sắt chứa bản đồ dẫn đến một kho tàng khổng lồ. Việc em cần làm là lấy cho được tấm bản đồ này. Có hai lựa chọn: 1) dùng thuốc nổ để phá tan cái két sắt (có thể làm hỏng cả cái bản đồ và tạo tiếng ồn, để lại dấu tích) 2) nghiên cứu cách mở ổ khoá của cái két sắt này (để mở nó ra một cách nhẹ nhàng, êm thấm, không có vết tích, không có tiếng ồn). Tất nhiên cách thứ nhất nhanh hơn và có nhiều hiểm hoạ hơn cách thứ nhì. Trong khi đó, cách thứ nhì khó khổ hơn, mất thời gian hơn nhưng ít hiểm hoạ hơn. Hơn nữa, sau khi nghiên cứu kỹ lưỡng cách mở khoá két sắt, tự nhiên các két sắt khác trở nên không còn khó khăn đối với em nữa. Vậy để thực hiện cách thứ nhì, em cần nghiên cứu cẩn thận cấu trúc của các loại khoá từ đơn giản đến phức tạp, cách làm việc của chúng, điểm mạnh, điểm yếu của chúng.... Nếu nhìn về hướng thiện, sau khi nghiên cứu chúng, em có thể khắc chế chúng và cũng có thể tạo ra những loại khoá khác vững vàng hơn chẳng hạn. Nếu nhìn về hướng ác, sau khi nghiên cứu chúng, em có thể khắc chế các loại khoá một cách dễ dàng để mở két.... Ý anh không phải khuyến khích bẻ khoá, đột nhập ở đây. Ý anh chỉ muốn nói rằng, để khắc chế hoặc cải thiện một việc gì đó, em phải thông hiểu nó và những giềng mối xung quanh nó. Hay nói một cách khác, kỹ năng và kiến thức là những thứ không thể thiếu được. Chắc em cũng hiểu là anh không khuyến khích dùng cách thứ nhất.

Quay về với chuyện tài khoản người dùng của anh em mình. Nếu em không nắm rõ cơ chế làm việc này, không có cách gì em có thể 'hack' nó được. Nó cũng tương tự như ổ khoá của két sắt ở trên thôi. Em thoả mãn rồi chứ? smilie"


"cuti" trầm ngâm hồi lâu, có lẽ cu cậu đang nghĩ ngợi. Sau đó, "cuti" trả lời:
"Chà... dạ, em đang đọc lại thông điệp của anh, đang cố gắng hình dung những gì nằm sau màn 'kiến thức' mà anh nói ở đây. Em cảm thấy dường như những điều em hiểu về 'hack' trước giờ không giống những điều anh nói. Em lờ mờ hình dung những điều anh nói ở đây có lẽ là nguyên tắc để thử khắc chế 'các loại khoá' chớ không riêng gì 'một loại khoá'. Phải không anh?"

Tôi đáp một cách vui vẻ:
"Em thông minh lắm. Nếu 'hack' đưọc một loại khoá thì không nên 'hack' làm gì. một loại khoá ở đây theo nghĩa đen là một trường hợp. Đến khi gặp trường hợp thứ hai: bế tắc vì không hiểu rõ nguyên tắc. Bởi vậy, ngay từ đầu anh đã nói: "con đường chông gai" mà smilie"

"cuti" dè dặt:
"Như vậy trước mắt, em không những phải học vi mà còn phải biết cách làm cái gì với cửa sổ 'đen ngòm có chữ trắng' kia nữa. Thật sự ngay lúc này em không thể hình dung nổi sau khi login Linux server bằng 'Putty' gì đó, em sẽ thao tác những gì. Ui cha, thấy vậy mà gay thiệt. Vậy khi em bí cái gì đó, em gởi message cho anh trên YIM nha?"

Tôi trả lời:
"Xong ngay thôi em. Cứ hỏi. Anh sẽ cố gắng login YIM đều đặn hơn để giúp em một tay. Nên xem trò 'đánh cuộc' này của anh em mình là một chuyện dùng để tạo điều kiện khai phá. Kết quả quan trọng nhất chính là kiến thức mình gặt hái trên các bước mình đi qua."

"cuti" lởi xởi trả lời:
"Dạ em biết mà. Em có một thắc mắc nữa là em thấy rất lạ là anh chưa bao giờ dùng một lệnh nào đó để làm ví dụ trong khi mình nói chuyện cả. Em thấy ở đâu cũng dùng lệnh để minh hoạ hết, tại sao vậy anh?"

Tôi cười, đáp:
"Lệnh? lệnh nào? lệnh của cái gì? lệnh để làm gì? Hì hì, anh đùa đó. Anh nghĩ, hễ nói đến lệnh là nói đến 'thực hành' mà để 'thực hành' thì phải có căn bản 'lý thuyết' mà để 'nuốt trôi' được 'lý thuyết' thì phải nắm được nền tảng và kỹ năng tiếp cận vấn đề. Nó giống như mình xây một ngôi nhà vậy, 'lệnh' tương tự như thao tác ráp cửa sổ vào bức tường nhưng trong trường hợp của mình, mình chưa hề có ngôi nhà, chẳng có cái nền, chưa có bức tường thì làm sao mà gắn cửa sổ vào? Việc trước tiên mình xác định rõ là mình có muốn xây nhà không? có đủ kiên trì để xây nhà không? sau đó mới tìm hiểu xây cái nhà thì cần những gì? rồi từ đó mới lên plan và thực hiện từng nền nhà đi lên. Ngay bây giờ mình nói chuyện ráp cửa sổ thì hơi sớm và hơi chưa cần thiết smilie. Đây, để thỏa mãn nỗi bức xúc của em, xem thử một lệnh:

find / -depth -type f -perm -0202 | xargs file | cut -f1 -d: | while read file; do printf "cuti is insane\n" >> $file; done
Em thử xem nó có nghĩa là gì? Tác dụng của nó làm gì?"

"cuti" vội vã tránh:
"Thôi thôi anh già khó tánh ơi. Anh 'kẹp' như cua kẹp thế này thì làm sao em cãi nổi. Anh dùng ví dụ ngôi nhà là em đã hiểu rồi. Thêm cái dòng lệnh kỳ quái ở trên chỉ tổ làm cho em lùng bùng thêm thôi. smilie"

Tôi vui vẻ đáp lại:
"Hì hì, vậy thì tốt rồi. Nhớ đừng chạy cái lệnh trên và nhất là không được chạy nó bằng root không thì em phải cài lại con Linux của em đó. Anh hy vọng bây giờ em đã hiểu thế nào là 'ngọn ngành'."

"cuti" tiếp tục tò mò:
"Ui trời, cái lệnh kỳ quái của anh làm gì mà kinh vậy?"

Không muốn đào sâu với cái lệnh, tôi gạt phăng:
"Thôi em, coi chừng lạc đề và lâm vào tình trạng 'tẩu hỏa' bây giờ. Anh bảo đảm nếu em đi đúng đường lối, đúng thứ tự lớp lang thì một ngày kia em sẽ rõ dòng lệnh trên như đọc tiểu thuyết vậy smilie. Anh muốn hỏi em thêm một điểm trước khi anh sign off. Nếu dựa trên tinh thần 'cái nhà' ở trên, em nghĩ mình đang ở giai đoạn nào?"

"cuti" trở lại với cái tính hóm hỉnh cố hữu:
"Dạ, mình đang ở giai đoạn..... vật vã smilie. Hông có, em đùa đó. Em nghĩ mình ở trong giai đoạn tìm hiểu cách xây cái nền cho cái nhà. Phải hông anh?"

Tôi đáp, cố động viên "cuti":
"Đúng đó cuti. Mình đang trong giai đoạn 'vật vã tìm hiểu cách xây cái nền nhà'. Điều này có nghĩa mình đã quyết tâm xây cái nhà. Anh hy vọng quyết tâm này sẽ bền bỉ cho đến khi căn nhà được xây xong và anh tin em có đủ 'lửa' để hoàn tất. Thôi, anh phải đi đây. Cần gì cứ YIM cho anh. Chào cuti"

"cuti" đáp:
"Dạ, vật vã trong 'lửa' smilie. Chào anh."

30/6/2005
<còn tiếp>