Blog

  • Vì Sao giá Cổ Phiếu thay đổi nhanh hơn tốc độ thực tế.

    Vì Sao giá Cổ Phiếu thay đổi nhanh hơn tốc độ thực tế.

    Thực tế thay đổi chậm. Giá cổ phiếu thay đổi rất nhanh.

    Có một điều khiến rất nhiều người mới đầu tư cảm thấy khó hiểu:

    Tại sao thị trường có thể giảm 20–30% chỉ trong vài tuần,
    trong khi ngoài đời mọi thứ dường như chưa thay đổi nhiều đến vậy?

    Doanh nghiệp vẫn còn đó.

    Nhà máy vẫn hoạt động.

    Con người vẫn đi làm.

    Cuộc sống vẫn tiếp diễn.

    Nhưng giá cổ phiếu lại phản ứng như thể thế giới sắp kết thúc.

    Điều này xảy ra vì: thị trường không định giá hiện tại.
    Thị trường định giá kỳ vọng về tương lai.

    Và kỳ vọng có thể sụp đổ nhanh hơn thực tế rất nhiều.


    1. Cổ phiếu là tài sản của kỳ vọng

    Khi mua cổ phiếu, bạn không mua kết quả của hôm nay.

    Bạn đang mua:

    • Lợi nhuận tương lai
    • Tăng trưởng tương lai
    • Dòng tiền tương lai
    • Và niềm tin rằng mọi thứ sẽ tiếp tục vận hành ổn định

    Điều này khiến giá cổ phiếu cực kỳ nhạy cảm với thay đổi trong kỳ vọng.

    Một doanh nghiệp không cần phá sản để cổ phiếu giảm mạnh.

    Chỉ cần thị trường bắt đầu nghĩ rằng:

    • Tăng trưởng sẽ chậm lại
    • Lợi nhuận sẽ yếu đi
    • Chi phí vốn sẽ tăng
    • Người tiêu dùng sẽ thận trọng hơn

    … là định giá đã có thể thay đổi rất lớn.


    2. Thực tế thay đổi chậm. Kỳ vọng sụp đổ rất nhanh.

    Đây là khác biệt quan trọng nhất.

    Ngoài đời, mọi thứ thường thay đổi khá chậm.

    Một nền kinh tế không “biến mất” sau một đêm.

    Một công ty lớn không mất toàn bộ khách hàng trong vài ngày.

    Nhưng trên thị trường tài chính, kỳ vọng có thể thay đổi cực nhanh.

    Bởi vì con người không chờ mọi thứ xảy ra rồi mới phản ứng.

    Họ phản ứng với khả năng điều đó có thể xảy ra.

    Và khi nỗi sợ xuất hiện, thị trường bắt đầu định giá cho kịch bản xấu nhất trước cả khi thực tế xác nhận.


    3. Panic thường mạnh hơn fundamentals

    Trong nhiều giai đoạn giảm mạnh, giá cổ phiếu giảm nhanh hơn rất nhiều so với sự suy yếu thật của doanh nghiệp.

    Điều này xảy ra vì: khủng hoảng tài chính không chỉ là vấn đề fundamentals.

    Nó còn là vấn đề tâm lý và thanh khoản.

    Khi thị trường hoảng loạn:

    • Nhà đầu tư muốn giảm rủi ro
    • Quỹ đầu tư bị rút vốn
    • Margin bị call
    • Tổ chức phải bán để giữ thanh khoản
    • Dòng tiền phòng thủ tăng mạnh

    Khi đó, mọi người bán không hẳn vì doanh nghiệp “vô giá trị”.

    Họ bán vì họ cần tiền mặt.
    Hoặc cần giảm rủi ro ngay lập tức.

    Trong ngắn hạn, panic thường mạnh hơn fundamentals.


    Read More


    4. Khi thanh khoản rút đi, mọi thứ thay đổi rất nhanh

    Một trong những thứ thị trường sợ nhất không phải suy thoái.

    Mà là thanh khoản biến mất.

    Khi tiền rẻ và thanh khoản dồi dào:

    • Định giá được mở rộng
    • Nhà đầu tư chấp nhận rủi ro cao hơn
    • Thị trường dễ tăng mạnh

    Nhưng khi thanh khoản bị rút đi:

    • Lãi suất tăng
    • Tín dụng co lại
    • Dòng tiền đầu cơ biến mất
    • Appetite for risk giảm nhanh

    thì thị trường có thể giảm rất mạnh, ngay cả khi doanh nghiệp chưa thật sự sụp đổ.

    Đó là lý do thị trường thường giảm trước khi dữ liệu kinh tế xấu đi rõ rệt.


    5. Thị trường chứng khoán luôn đi trước thực tế

    Thị trường chứng khoán không phải ảnh chụp hiện tại.

    Nó là hệ thống cố gắng dự đoán tương lai.

    Vì vậy:

    • Thị trường thường giảm trước suy thoái
    • Và hồi phục trước khi kinh tế thật sự tốt trở lại

    Điều này khiến thị trường đôi khi trông rất “phi lý”.

    Nhưng thực chất, nó chỉ đang cố định giá cho tương lai nhanh hơn nền kinh tế thực có thể thay đổi.


    6. Sự thật sâu hơn phía sau những cú crash

    Điều thú vị là:

    Trong phần lớn các cuộc crash, thế giới thật sự không kết thúc.

    Con người vẫn tiếp tục:

    • Làm việc
    • Tiêu dùng
    • Xây dựng doanh nghiệp
    • Đổi mới công nghệ
    • Và tái thiết niềm tin

    Nhưng trong khoảnh khắc panic, thị trường thường hành xử như thể mọi thứ sẽ không bao giờ hồi phục.

    Đó là lý do:

    Thị trường thường phản ứng quá mức trong ngắn hạn, nhưng quay về fundamentals trong dài hạn.


    Kết

    Cổ phiếu giảm nhanh hơn thực tế thay đổi vì thị trường không giao dịch hiện tại.

    Nó giao dịch:

    • Kỳ vọng
    • Thanh khoản
    • Tâm lý
    • Và nỗi sợ về tương lai.

    Thực tế thay đổi chậm.

    Nhưng nỗi sợ luôn định giá lại mọi thứ rất nhanh.

    Và có lẽ,
    đó là điều khiến thị trường tài chính vừa hấp dẫn, vừa cực kỳ khó chịu với con người.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    Read More

  • Cổ phiếu vs Vàng: Một bên dựa vào niềm tin, một bên không cần niềm tin

    Cổ phiếu vs Vàng: Một bên dựa vào niềm tin, một bên không cần niềm tin

    Vàng và cổ phiếu đều là tài sản.

    Nhưng chúng đại diện cho hai niềm tin hoàn toàn khác nhau về thế giới.

    Khi mua vàng, bạn đang chuẩn bị cho khả năng hệ thống trở nên bất ổn.

    Khi mua cổ phiếu, bạn đang đặt cược rằng con người sẽ tiếp tục hợp tác, đổi mới và phát triển.

    Một bên tồn tại ngoài hệ thống.

    Một bên chỉ có thể phát triển khi hệ thống vận hành tốt.

    Gold protects against disorder.

    Stocks depend on order.


    1. Vàng: giá trị không cần ai phải giữ lời

    Điểm đặc biệt nhất của vàng là:

    Vàng không cần ai thực hiện nghĩa vụ để nó còn giá trị.

    Khi bạn nắm giữ vàng:

    • Không cần CEO vận hành tốt
    • Không cần chính phủ kỷ luật
    • Không cần ngân hàng trung ương đáng tin
    • Không cần doanh nghiệp tăng trưởng
    • Không cần hệ thống tài chính hoạt động trơn tru

    Vàng chỉ đơn giản là tồn tại.

    Giá trị của nó đến từ:

    • Độ khan hiếm
    • Tính bền vững
    • Khả năng được chấp nhận toàn cầu
    • Và hàng nghìn năm con người cùng tin vào nó

    Vàng không tạo ra tăng trưởng.

    Nhưng đổi lại, nó cũng không phụ thuộc vào năng lực của bất kỳ ai.

    Đó là lý do vàng thường mạnh lên khi niềm tin vào hệ thống suy yếu.

    2. Cổ phiếu: niềm tin vào hành vi có tổ chức của con người

    Cổ phiếu thì ngược lại.

    Khi mua cổ phiếu, bạn không mua sự chắc chắn.

    Bạn đang mua niềm tin rằng trong tương lai, rất nhiều con người sẽ tiếp tục hành xử có kỷ luật.

    Bạn đang tin rằng:

    • Ban lãnh đạo sẽ phân bổ vốn hợp lý
    • Nhân viên tiếp tục tạo ra giá trị
    • Khách hàng vẫn tiêu dùng
    • Chính phủ duy trì ổn định
    • Hệ thống tài chính tiếp tục vận hành
    • Thị trường vẫn còn thanh khoản

    Một cổ phiếu thực chất là một hợp đồng xã hội.

    Giá trị của nó phụ thuộc vào việc rất nhiều người tiếp tục hợp tác với nhau trong tương lai.

    3. Vàng bảo vệ khỏi hỗn loạn. Cổ phiếu cần trật tự để phát triển.

    Đây là khác biệt quan trọng nhất.

    Vàng hoạt động tốt khi niềm tin trở nên mong manh.

    Cổ phiếu hoạt động tốt khi niềm tin trở nên dồi dào.

    Vàng đặt câu hỏi:

    “Nếu hệ thống gặp vấn đề thì sao?”

    Cổ phiếu đặt câu hỏi:

    “Nếu hệ thống tiếp tục phát triển thì sao?”

    Đó là lý do trong khủng hoảng,

    hai loại tài sản này thường phản ứng rất khác nhau.


    4. Vì sao cổ phiếu thường vượt vàng trong dài hạn?

    Trong rất dài hạn, cổ phiếu thường vượt trội hơn vàng.

    Không phải vì vàng “kém”.

    Mà vì xã hội loài người liên tục tạo ra tăng trưởng.

    Con người:

    • Phát minh công nghệ mới
    • Tăng năng suất
    • Mở rộng thương mại
    • Xây hạ tầng
    • Tạo ra ngành nghề mới

    Cổ phiếu hấp thụ phần tăng trưởng đó.

    Vàng thì không.

    Vàng giữ giá trị.

    Cổ phiếu khuếch đại giá trị.

    Đây là hai vai trò hoàn toàn khác nhau.

    5.Nhưng vì sao vàng vẫn quan trọng?

    Nếu cổ phiếu đại diện cho niềm tin vào tiến bộ, thì vàng đại diện cho sự phòng thủ trước tính mong manh của hệ thống.

    Ngay cả những xã hội phát triển nhất vẫn có thể gặp:

    • Khủng hoảng ngân hàng
    • Bong bóng tài sản
    • Nợ công quá mức
    • Sai lầm chính sách
    • Lạm phát cao
    • Chiến tranh
    • Phân mảnh địa chính trị

    Và khi điều đó xảy ra, nhà đầu tư bắt đầu tìm kiếm thứ không phụ thuộc vào lời hứa của ai.

    Đó là lúc vàng trở lại.

    6.Một cách nhìn đơn giản

    Vàng

    • Tài sản không cần niềm tin

    Cổ phiếu

    • Tài sản cần niềm tin vào con người và hệ thống

    Kết 

    Cuối cùng, sự khác biệt giữa vàng và cổ phiếu không thật sự nằm ở lợi nhuận.

    Nó nằm ở cách chúng phản ứng với niềm tin.

    Cổ phiếu mạnh lên khi con người tin rằng tương lai sẽ tốt hơn.

    Vàng mạnh lên khi con người bắt đầu nghi ngờ điều đó.

    Một tài sản phản ánh sự mở rộng của nền văn minh.

    Một tài sản phản ánh nỗi sợ rằng nền văn minh có thể mất ổn định.

    Và lịch sử cho thấy:

    Thế giới luôn cần cả hai.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    READ MORE

  • Cổ phiếu là niềm tin vào kỷ luật của người khác

    Cổ phiếu là niềm tin vào kỷ luật của người khác

    Sau vàng và bạc, cổ phiếu là bước tiếp theo mà hầu hết mọi người sẽ đi qua khi bước vào thế giới tài chính.

    Nhưng cổ phiếu không phải là “bản nâng cấp” của vàng hay bạc.

    Nó là một loại niềm tin hoàn toàn khác.

    Khi bạn mua vàng, bạn không cần tin ai.

    Khi bạn mua bạc, bạn chấp nhận sự hỗn loạn của hệ thống.

    Còn khi bạn mua cổ phiếu, bạn đang làm một việc rất con người:

    Bạn tin rằng một nhóm người khác sẽ làm việc có kỷ luật trong tương lai.

    1. Cổ phiếu ra đời từ nhu cầu chia sẻ rủi ro

    Về mặt lịch sử, cổ phiếu không sinh ra để đầu cơ.

    Những hình thức cổ phần đầu tiên xuất hiện từ thế kỷ 17, khi các chuyến hải hành xuyên đại dương trở nên quá rủi ro để một cá nhân đơn lẻ gánh chịu.

    Các công ty như Dutch East India Company (VOC) cho phép nhiều người góp vốn, chia sẻ lợi nhuận — và cả thua lỗ.

    Bản chất ban đầu của cổ phiếu là:

    • Phân tán rủi ro
    • Huy động vốn dài hạn
    • Và gắn lợi ích của nhiều người vào một tổ chức

    Ngay từ đầu, cổ phiếu đã gắn chặt với niềm tin vào con người và kỷ luật tổ chức.

    2. Cổ phiếu không phải là giấy mà là kỳ vọng

    Về hình thức, cổ phiếu là một tờ giấy (hoặc một dòng dữ liệu).

    Nhưng giá trị của nó không nằm ở tờ giấy đó.

    Cổ phiếu đại diện cho:

    • Dòng tiền trong tương lai
    • Khả năng sinh lợi bền vững
    • Và quan trọng nhất: năng lực quản trị

    Khi bạn mua một cổ phiếu, bạn đặt niềm tin rằng:

    • Ban lãnh đạo sẽ phân bổ vốn hợp lý
    • Tổ chức không tự phá hủy chính mình
    • Và hệ thống pháp lý đủ mạnh để bảo vệ quyền sở hữu

    Đây không phải là một niềm tin đơn lẻ mà là một chuỗi giả định chồng lên nhau.

    3. Vì sao cổ phiếu thắng lớn trong thế kỷ 20?

    Phần lớn thành công của cổ phiếu đến trong thế kỷ 20 – giai đoạn mà:

    • Nhà nước ổn định hơn
    • Luật doanh nghiệp rõ ràng hơn
    • Và các thể chế tài chính trưởng thành dần

    Sau Thế chiến II, cổ phiếu hưởng lợi từ:

    • Tăng trưởng kinh tế dài hạn
    • Mở rộng tầng lớp trung lưu
    • Và hệ thống quản trị ngày càng chuyên nghiệp

    Điều đáng chú ý là:

    Cổ phiếu phát triển mạnh nhất không phải trong những thời kỳ hào nhoáng,

    mà trong những giai đoạn “bình thường và tẻ nhạt”.

    4. Cổ phiếu cần một thế giới… boring

    Cổ phiếu hoạt động tốt nhất khi:

    • Luật chơi không thay đổi liên tục
    • Gian lận bị trừng phạt
    • Và sai lầm không bị che giấu

    Nó cần:

    • Sự nhàm chán của quy trình
    • Kỷ luật của tổ chức
    • Và niềm tin rằng phần thưởng đến từ việc làm đúng, không phải phá hệ thống

    Cổ phiếu cần một thế giới boring để tỏa sáng.


    Read More


    5. Nhưng lịch sử cũng cho thấy cổ phiếu rất mong manh

    Niềm tin đó không phải lúc nào cũng bền vững.

    Lịch sử thị trường chứng khoán có đầy rẫy ví dụ:

    • Bong bóng South Sea
    • Khủng hoảng 1929
    • Dot‑com bubble
    • Khủng hoảng tài chính 2008

    Trong nhiều trường hợp, vấn đề không nằm ở công nghệ hay ý tưởng, mà nằm ở:

    • Kỷ luật quản trị sụp đổ
    • Đạo đức bị bào mòn
    • Và hệ thống khuyến khích sai lệch

    Cổ phiếu thường không sụp đổ ngay lập tức.

    Chúng mất giá trị dần dần, thông qua:

    • Định giá bị nén
    • Niềm tin suy giảm
    • Và sự thờ ơ kéo dài

    6. Cổ phiếu là bài kiểm tra về niềm tin xã hội

    Khác với vàng hay bạc — tài sản không cần ai “giải thích”,

    cổ phiếu đòi hỏi bạn phải tin rằng:

    • Người khác sẽ cư xử có trách nhiệm
    • Tổ chức sẽ sửa sai khi cần
    • Và hệ thống đủ mạnh để tồn tại qua khủng hoảng

    Khi niềm tin xã hội suy yếu, việc nắm giữ cổ phiếu trở nên khó chịu – không phải vì biến động giá, mà vì niềm tin nền tảng đã lung lay.

    7. Vì sao người hiểu sâu thường “chán cổ phiếu”?

    Một nghịch lý thú vị của thị trường:

    Những người hiểu rõ nhất về cổ phiếu lại thường ít hứng thú với việc phụ thuộc hoàn toàn vào chúng.

    Không phải vì cổ phiếu kém, mà vì họ nhìn thấy:

    • Mức độ phụ thuộc vào con người
    • Sự mong manh của kỷ luật tập thể
    • Và khoảng cách giữa giá thị trường và giá trị dài hạn

    Cổ phiếu đòi hỏi bạn phải thoải mái với việc:

    Đặt tiền vào tay những người bạn không kiểm soát.

    8. Cổ phiếu đứng ở đâu trong “thang niềm tin”?

    Nếu xếp tài sản theo mức độ đòi hỏi niềm tin:

    • Vàng: không tin ai
    • Bạc: chấp nhận hỗn loạn
    • Cổ phiếu: tin vào tổ chức và con người

    Cổ phiếu nằm ở điểm mà:

    • Tăng trưởng bắt đầu hiện diện
    • Nhưng rủi ro niềm tin cũng tăng nhanh

    Đây là một bước ngoặt quan trọng trong tư duy tài chính.

    Kết

    Cổ phiếu không phải là tài sản “rủi ro cao”.

    Nó là tài sản đòi hỏi niềm tin cao.

    Lịch sử cho thấy:

    • Khi kỷ luật tổ chức được tôn trọng, cổ phiếu là công cụ tạo của cải mạnh mẽ
    • Khi niềm tin suy giảm, cổ phiếu trở nên mong manh hơn vẻ ngoài của nó

    Hiểu cổ phiếu không chỉ là đọc báo cáo tài chính, mà là hiểu bạn đang tin vào điều gì và tin tới mức nào.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    Read More

  • Ai thật sự phù hợp để nắm giữ bạc?

    Ai thật sự phù hợp để nắm giữ bạc?

    Bạc luôn được nói đến như một tài sản “vàng rẻ”, 

    “có thể bật mạnh”, 

    “hưởng lợi từ chuyển đổi năng lượng”.

    Nhưng rất ít người đặt câu hỏi quan trọng hơn:

    Ai thực sự nên nắm giữ bạc?

    Không phải ai mua bạc cũng giống nhau.

    Và không phải danh mục nào cũng phù hợp với bạc.

    1. Bạc không phải dành cho số đông

    Trước hết cần nói thẳng:

    Phần lớn nhà đầu tư không nên nắm giữ bạc.

    Không phải vì nó “xấu”, mà vì bạc đòi hỏi một kiểu chịu đựng rất khác.

    Bạc:

    • Biến động mạnh hơn vàng
    • Phản ứng chậm trong khủng hoảng
    • Thường khiến người cầm nghi ngờ chính quyết định của mình

    Nếu bạn cần:

    • Sự ổn định
    • Cảm giác an toàn liên tục
    • Xác nhận từ thị trường

    Thì bạc sẽ khiến bạn mệt mỏi nhiều hơn là mang lại giá trị.

    2. Bạc phù hợp với nhà đầu tư như thế nào?

    Bạc không đòi hỏi bạn giỏi dự đoán.

    Nó đòi hỏi bạn chịu được sự không chắc chắn kéo dài.

    Những người có thể nắm giữ bạc thường có một vài đặc điểm sau:

    1. Không cần thị trường “đồng ý” ngay

    Người phù hợp với bạc:

    • Không cần giá phản ứng nhanh
    • Không cần đúng trong ngắn hạn
    • Chấp nhận việc mình đang đúng nhưng thị trường chưa công nhận

    Bạc thường im lặng rất lâu.

    Nếu điều đó làm bạn khó chịu, bạc không dành cho bạn.

    2. Hiểu vai trò, không đặt kỳ vọng quá mức

    Bạc không phải là khoản đầu tư làm giàu nhanh.

    Nó cũng không phải “tầng phòng thủ hoàn hảo” như vàng.

    Người nắm giữ bạc một cách lành mạnh thường:

    • Xem bạc là phần bổ sung, không phải trung tâm
    • Không kỳ vọng bạc “cứu” danh mục mọi lúc
    • Không so hiệu suất bạc với cổ phiếu

    Họ không hỏi:

    “Bạc bao giờ tăng?”

    Mà hỏi:

    “Bạc đang bảo vệ mình khỏi rủi ro gì?”

    3. Có kỷ luật phân bổ

    Bạc trừng phạt việc all‑in.

    Nhưng lại hoạt động tốt khi được giữ ở tỷ trọng nhỏ, có chủ đích.

    Những người phù hợp thường:

    • Giữ bạc như một vệ tinh trong danh mục
    • Không để biến động bạc chi phối cảm xúc tổng thể
    • Chấp nhận rằng đôi khi bạc chỉ nằm đó, không làm gì

    Đây là kiểu kiên nhẫn không ồn ào.

    3. Những ai không nên nắm giữ bạc?

    Nói rõ điều này giúp tránh rất nhiều thất vọng.

    Bạn nên cân nhắc lại nếu:

    • Bạn mua vì “nghe nói nó sẽ theo vàng”
    • Bạn cần cảm giác chắc chắn để ngủ ngon
    • Bạn thường cắt lỗ vì không chịu được đi ngang

    Trong trường hợp đó, vấn đề không nằm ở bạc 

    mà là kỳ vọng đặt sai chỗ.


    READ MORE


    4. Quy mô danh mục cũng rất quan trọng

    Cùng là bạc, nhưng tác động khác nhau tùy quy mô tài sản.

    • Với danh mục nhỏ:
      • Bạc giúp tiếp cận tài sản thực sớm
      • Biến động có thể chịu được vì tỷ trọng nhỏ
    • Với danh mục lớn:
      • Bạc chỉ nên là phần vệ tinh
      • Không thay thế vai trò cốt lõi của vàng hay cổ phiếu

    Bạc không thích hợp để mang toàn bộ trọng trách của danh mục.

    5. Bạc là bài test về tâm lý hơn là kiến thức

    Bạn không cần biết hết số liệu cung–cầu để nắm giữ bạc.

    Nhưng bạn cần biết rất rõ bản thân mình chịu được điều gì.

    Trong nhiều giai đoạn, nắm giữ bạc nghĩa là:

    • Cảm giác “mình có thể đang sai”
    • Chịu được việc bị bỏ quên
    • Giữ lập luận khi không có sự xác nhận bên ngoài

    Đây là bài test về tính cách, không phải kiến thức tài chính.

    Kết

    Bạc không dành cho tất cả mọi người.

    Và điều đó hoàn toàn ổn.

    Bạc phù hợp với những nhà đầu tư:

    • Hiểu vai trò của nó
    • Chấp nhận sự khó chịu
    • Và không cần thị trường vỗ tay ngay lập tức

    Nếu bạn đọc tới đây và thấy:

    “Ừ, cái này giống mình”

    Thì bạc có thể phù hợp với bạn.

    Còn nếu không,

    việc không nắm giữ bạc cũng là một quyết định đúng.

    Trong đầu tư, điều quan trọng không phải là

    “sở hữu đúng tài sản”,

    mà là sở hữu tài sản phù hợp với chính mình.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    READ MORE

  • Bạc và tư duy danh mục: Khi phòng thủ không còn đơn giản

    Bạc và tư duy danh mục: Khi phòng thủ không còn đơn giản

    Khi nhắc đến phòng thủ danh mục đầu tư, phần lớn nhà đầu tư nghĩ ngay đến vàng.

    Một vai trò rõ ràng. Một câu chuyện quen thuộc. Một lịch sử dài với chức năng lưu trữ giá trị.

    Bạc hiếm khi được nhìn theo cách đó.

    Bạc biến động mạnh, khó nắm giữ về mặt tâm lý, và thường phản ứng chậm khi khủng hoảng bắt đầu.

    Vì những lý do này, bạc thường bị coi là một tài sản phòng thủ kém hiệu quả.

    Nhưng cách nghĩ đó bỏ lỡ một điểm quan trọng.

    Bạc đáng được cân nhắc chính vì phòng thủ ngày nay không còn là một bài toán đơn giản, một rủi ro duy nhất.

    Bạc không phải là một kèo giao dịch.

    Bạc phù hợp hơn khi được xem là một dạng bảo hiểm không hoàn hảo cho những thời điểm mà nhiều giả định bắt đầu sụp đổ cùng lúc.

    1. Bạc không tồn tại để tối ưu lợi nhuận

    Nếu câu hỏi chính của bạn là:

    “Bạc có vượt trội hơn cổ phiếu không?”

    Thì ngay từ đầu, khung tư duy đã sai.

    Bạc không được tạo ra để:

    • Đánh bại cổ phiếu trong dài hạn
    • Tích lũy lợi nhuận đều đặn
    • Mang lại cảm giác dễ chịu trong quá trình nắm giữ

    Vai trò của bạc trong danh mục là:

    Phản ứng khi các mối quan hệ quen thuộc không còn vận hành như kỳ vọng.

    Khi bạc thực sự phát huy tác dụng, nó thường:

    • Đến muộn
    • Diễn ra nhanh
    • Và không mang lại cảm giác thoải mái

    Đó chính là lý do phần lớn nhà đầu tư từ bỏ bạc ngay trước khi nó trở nên có ý nghĩa.

    2. Bạc thực sự bảo hiểm cho điều gì?

    Bạc không phòng vệ một rủi ro đơn lẻ, rõ ràng như vàng.

    Thay vào đó, bạc cung cấp một dạng bảo vệ có điều kiện, nằm ở giao điểm của nhiều rủi ro chồng chéo:

    • Bất ổn tiền tệ
    • Lãi suất thực bị kìm nén
    • Sự mong manh của chuỗi cung ứng
    • Các giới hạn trong chuyển đổi năng lượng
    • Sự suy giảm niềm tin vào tài sản tài chính thuần túy

    Chính vì phản ứng của bạc phụ thuộc vào nhiều yếu tố cùng lúc nên vai trò của nó thường bị xem là mơ hồ.

    Bạc không phát huy giá trị khi chỉ một rủi ro xuất hiện.

    Nó trở nên quan trọng khi nhiều hệ thống cùng lúc chịu áp lực.

    3. Sự khó chịu là một phần của thiết kế

    Bạc rất tốn chi phí tâm lý để nắm giữ.

    • Nó có thể giảm giá khi nhà đầu tư mong đợi sự bảo vệ
    • Nó thường kém hơn vàng trong giai đoạn đầu của khủng hoảng
    • Nó hay chỉ vận động khi sự kiên nhẫn đã gần cạn

    Nhưng sự khó chịu này không phải là ngẫu nhiên.

    Trong tư duy danh mục, nó đóng vai trò như một bộ lọc:

    Chỉ những nhà đầu tư chấp nhận sự mơ hồ mới giữ bạc đủ lâu.

    Những tài sản mang lại cảm giác dễ chịu khi nắm giữ thường không phải là những tài sản cứu danh mục khi cần thiết.

    Biến động của bạc giúp hạn chế hiện tượng đám đông và đó chính là một phần giá trị phòng thủ của nó.


    Read More


    4. Quy mô danh mục làm thay đổi vai trò của bạc

    Cách bạc vận hành phụ thuộc nhiều vào vị thế tài chính của nhà đầu tư.

    Với danh mục nhỏ:

    • Bạc giúp tiếp cận tài sản thực với số vốn không lớn
    • Yếu tố “tùy chọn” xuất hiện sớm hơn so với vàng
    • Biến động có thể chấp nhận vì tỷ trọng nhỏ

    Với danh mục lớn:

    • Bạc chỉ nên đóng vai trò vệ tinh
    • Bổ sung cho vàng, không thay thế
    • Kỷ luật phân bổ quan trọng hơn niềm tin cá nhân

    Bạc thưởng cho tư duy phân bổ.

    Bạc trừng phạt việc vào vị thế theo cảm xúc.

    5. Vì sao bạc không nên là tất cả và cũng không nên bằng không

    Bạc hoạt động tốt nhất khi:

    • Kỳ vọng được giữ ở mức thấp
    • Tỷ trọng được kiểm soát
    • Thời gian nắm giữ đủ dài

    Bạc thất bại khi:

    • Trở thành một “luận điểm lớn” thay vì một vai trò rõ ràng
    • Bị xem như một dự đoán vĩ mô
    • Các nhịp điều chỉnh buộc nhà đầu tư phản ứng cảm xúc

    Nếu được sử dụng đúng, bạc giúp giảm độ mong manh của danh mục.

    Nếu dùng sai, bạc tự trở thành một nguồn rủi ro mới.

    6. Vàng là bảo vệ. Bạc là tùy chọn.

    Một cách phân biệt đơn giản:

    • Vàng bảo vệ sức mua.
    • Bạc bảo vệ trước sự sụp đổ của những câu chuyện đang được tin tưởng.

    Vàng phản ứng khi hệ thống tiền tệ gặp vấn đề.

    Bạc phản ứng khi bất ổn tiền tệ giao thoa với những điểm yếu công nghiệp và cấu trúc.

    Hai loại rủi ro này có liên quan, nhưng không giống nhau.

    Một danh mục chuẩn bị cho sự phức tạp cần thừa nhận cả hai.

    7. Kết

    Trong một thế giới mà phòng thủ không còn là một đường thẳng, chỉ nắm giữ một tài sản “an toàn” là không đủ.

    Vàng vẫn là nền tảng.

    Nhưng rủi ro ngày nay mang tính nhiều lớp:

    • Hệ thống cung ứng
    • Hệ thống năng lượng
    • Các giả định công nghiệp
    • Và niềm tin của con người

    Bạc phản ánh chính sự phức tạp đó.

    Nó không mượt mà.

    Không trấn an nhà đầu tư.

    Và hiếm khi cho cảm giác “đúng” trong thời gian thực.

    Nhưng phòng thủ danh mục không phải để mang lại sự thoải mái.

    Mục tiêu của nó là khả năng tồn tại khi kết quả trở nên khó dự đoán.

    Bạc không phải là sự chắc chắn.

    Bạc là sự tiếp xúc với bất định có chủ đích.

    Và khi phòng thủ không còn đơn giản, chính sự không hoàn hảo có thể trở thành một dạng bảo vệ.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    Read More

  • Cài Git xong rồi… nhưng chưa dùng được gì

    Cài Git xong rồi… nhưng chưa dùng được gì

    Nhiều bạn mới học Git hay gặp cảnh này: cài xong, gõ git commit lần đầu thì Git hỏi ngược lại “bạn là ai?” — và không biết phải trả lời như thế nào. Hoặc clone repo về thì bị lỗi authentication, nhập password mãi không xong.

    Bài này giải quyết đúng điểm đó. Sau khi đọc xong, bạn sẽ có một môi trường Git hoàn chỉnh: cài đặt, cấu hình danh tính, kết nối SSH với GitHub/GitLab — và sẵn sàng bắt đầu làm việc thật sự.

    Cài đặt Git

    Windows

    Tải Git for Windows tại git-scm.com. Trong quá trình cài, có vài lựa chọn quan trọng:

    • Default editor: chọn VS Code nếu bạn đang dùng, hoặc Notepad++ — tránh chọn Vim nếu chưa quen
    • LINE ENDING conversions: chọn “Checkout Windows-style, commit Unix-style” — đây là lựa chọn an toàn nhất khi làm việc với team đa nền tảng
    • Các mục còn lại giữ mặc định

    Sau khi cài, mở Git Bash (đã được cài kèm) và kiểm tra:

    git --version
    # git version 2.44.0.windows.1

    macOS

    Cách nhanh nhất là dùng Homebrew:

    brew install git

    Nếu chưa có Homebrew, có thể cài qua Xcode Command Line Tools:

    xcode-select --install

    macOS mới thường đã có Git sẵn, nhưng phiên bản cũ. Homebrew cho bạn bản mới nhất.

    Linux (Ubuntu/Debian)

    sudo apt update
    sudo apt install git

    Fedora/RHEL:

    sudo dnf install git

    Cấu hình danh tính — Bước không thể bỏ qua

    Git cần biết bạn là ai trước khi cho phép commit. Đây không phải thông tin đăng nhập — mà là chữ ký đính kèm mỗi commit bạn tạo ra. Team của bạn sẽ thấy tên này trong git log.

    git config --global user.name "Nguyen Van A"
    git config --global user.email "[email protected]"

    Dùng đúng email bạn đăng ký GitHub/GitLab — GitHub dùng email này để liên kết commit với tài khoản của bạn (avatar, contribution graph, v.v.).

    Cấu hình editor mặc định

    Khi git cần bạn nhập nội dung (ví dụ: commit message dài, rebase interactive), nó sẽ mở editor này:

    # VS Code
    git config --global core.editor "code --wait"
    
    # Vim
    git config --global core.editor "vim"
    
    # Nano (dễ hơn Vim cho người mới)
    git config --global core.editor "nano"

    Nếu dùng VS Code, flag --wait rất quan trọng — nó bảo Git chờ cho đến khi bạn đóng tab trong VS Code mới tiếp tục.

    Cấu hình mặc định branch name

    Git mới (từ 2.28) cho phép đặt tên branch mặc định. Hiện nay chuẩn ngành dùng main thay vì master:

    git config --global init.defaultBranch main

    Kiểm tra toàn bộ cấu hình

    git config --list --global

    Cấu hình được lưu ở file ~/.gitconfig. Bạn có thể mở trực tiếp để xem:

    cat ~/.gitconfig

    Output sẽ trông như thế này:

    [user]
        name = Nguyen Van A
        email = [email protected]
    [core]
        editor = code --wait
    [init]
        defaultBranch = main

    Ba cấp độ cấu hình Git

    Git có 3 cấp cấu hình, ưu tiên từ cao xuống thấp:

    Cấp Flag Lưu ở đâu Phạm vi
    Local --local .git/config Chỉ repo hiện tại
    Global --global ~/.gitconfig Tất cả repo của user
    System --system /etc/gitconfig Tất cả user trên máy

    Ví dụ thực tế: bạn làm freelance cho 2 công ty khác nhau — 1 cái muốn dùng email cá nhân, 1 cái muốn email công ty. Giải pháp:

    # Cấu hình global: email cá nhân (mặc định)
    git config --global user.email "[email protected]"
    
    # Vào repo của công ty, override local
    cd ~/work/company-project
    git config --local user.email "[email protected]"

    Kết nối SSH với GitHub/GitLab

    Đây là phần nhiều người ngại nhất — nhưng thực ra chỉ cần làm một lần. Sau đó bạn push/pull không cần nhập password nữa.

    Tại sao SSH thay vì HTTPS?

    GitHub đã tắt xác thực bằng password thường từ 2021. Nếu dùng HTTPS, bạn phải dùng Personal Access Token — dài và khó nhớ. SSH tiện hơn nhiều: generate một lần, dùng mãi.

    Bước 1: Tạo SSH key

    ssh-keygen -t ed25519 -C "[email protected]"

    Terminal sẽ hỏi:

    • Enter file to save the key: nhấn Enter để dùng đường dẫn mặc định (~/.ssh/id_ed25519)
    • Enter passphrase: có thể để trống, hoặc đặt passphrase để bảo mật hơn

    Sau khi chạy, bạn sẽ có 2 file:

    • ~/.ssh/id_ed25519 — private key, KHÔNG bao giờ chia sẻ
    • ~/.ssh/id_ed25519.pub — public key, cái này sẽ add vào GitHub

    Bước 2: Thêm vào SSH agent

    # Khởi động SSH agent
    eval "$(ssh-agent -s)"
    
    # Thêm key vào agent
    ssh-add ~/.ssh/id_ed25519

    Trên macOS, thêm vào ~/.ssh/config để key tự động load khi khởi động:

    Host github.com
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_ed25519

    Bước 3: Copy public key

    # macOS
    pbcopy < ~/.ssh/id_ed25519.pub
    
    # Linux
    cat ~/.ssh/id_ed25519.pub
    # Rồi copy thủ công
    
    # Windows (Git Bash)
    clip < ~/.ssh/id_ed25519.pub

    Bước 4: Add vào GitHub

    1. Vào GitHub → Settings → SSH and GPG keys → New SSH key
    2. Title: đặt tên dễ nhận ra, ví dụ “MacBook Pro 2024” hoặc “Dell Work Laptop”
    3. Key type: Authentication Key
    4. Key: paste public key vừa copy
    5. Click Add SSH key

    Bước 5: Kiểm tra kết nối

    ssh -T [email protected]

    Nếu thành công sẽ thấy:

    Hi nguyenvana! You've successfully authenticated, but GitHub does not provide shell access.

    Đừng lo về dòng “does not provide shell access” — đó là bình thường, Git hoạt động qua SSH protocol riêng.

    GitLab thì sao?

    Tương tự GitHub, chỉ khác URL kiểm tra:

    ssh -T [email protected]
    # Welcome to GitLab, @nguyenvana!

    Làm việc với nhiều tài khoản Git

    Trường hợp hay gặp: bạn có tài khoản GitHub cá nhân và tài khoản GitHub/GitLab công ty, cần dùng trên cùng 1 máy.

    Tạo thêm SSH key thứ hai:

    ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_work

    Thêm vào ~/.ssh/config:

    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519
    
    Host github-work
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519_work

    Khi clone repo của công ty, dùng host alias thay vì github.com:

    # Thay vì:
    git clone [email protected]:company/repo.git
    
    # Dùng:
    git clone git@github-work:company/repo.git

    Một số alias tiện dụng để bắt đầu

    Git alias giúp bạn gõ lệnh ngắn hơn. Đây là một số alias mình hay dùng:

    git config --global alias.st status
    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.lg "log --oneline --graph --decorate --all"

    Sau đó bạn có thể gõ git st thay vì git status, hoặc git lg để xem lịch sử commit dạng đẹp.

    Lỗi hay gặp khi mới setup

    “Permission denied (publickey)”

    SSH key chưa được add đúng. Kiểm tra lại:

    ssh -vT [email protected]

    Flag -v hiện chi tiết quá trình kết nối, giúp xác định đang dùng key nào và lỗi ở đâu.

    “Please tell me who you are”

    Chưa cấu hình user.nameuser.email. Chạy lại:

    git config --global user.name "Tên của bạn"
    git config --global user.email "[email protected]"

    “warning: LF will be replaced by CRLF”

    Cảnh báo về line ending trên Windows. Không phải lỗi — nhưng nếu muốn tắt:

    git config --global core.autocrlf true   # Windows
    git config --global core.autocrlf input  # macOS/Linux

    Tổng kết

    Bạn vừa hoàn thành setup Git từ đầu đến cuối. Checklist nhanh:

    • ✅ Cài Git và kiểm tra phiên bản
    • ✅ Cấu hình user.nameuser.email
    • ✅ Chọn editor mặc định
    • ✅ Tạo SSH key và kết nối với GitHub/GitLab
    • ✅ Kiểm tra bằng ssh -T [email protected]

    Môi trường đã sẵn sàng. Bài tiếp theo chúng ta sẽ đi vào trung tâm của Git: Repository, Working Tree và Staging Area — 3 khái niệm cốt lõi mà nếu hiểu đúng ngay từ đầu, bạn sẽ không bao giờ bị “lạc” khi dùng Git nữa.

  • Networking cơ bản: Kết nối, kiểm tra và bảo vệ

    Networking cơ bản: Kết nối, kiểm tra và bảo vệ

    Sau khi đã nắm được process và monitoring ở bài trước, hôm nay chúng ta đi vào một chủ đề không thể thiếu trong công việc thực chiến: networking trên Linux. Từ việc kiểm tra IP, troubleshoot kết nối, đến cấu hình firewall và SSH hardening — đây là những kỹ năng bạn sẽ dùng hàng ngày khi vận hành server hoặc làm DevSecOps.

    1. Kiểm tra thông tin mạng với ip

    Lệnh ip là công cụ hiện đại thay thế cho ifconfig (đã bị deprecated). Đây là lệnh bạn cần biết đầu tiên:

    # Xem tất cả network interfaces và địa chỉ IP
    ip addr show
    ip a   # viết tắt
    
    # Xem routing table
    ip route show
    ip r
    
    # Xem ARP cache (MAC address của các host trong mạng LAN)
    ip neigh
    
    # Bật/tắt interface
    ip link set eth0 up
    ip link set eth0 down
    
    # Thêm IP tạm thời (mất sau reboot)
    ip addr add 192.168.1.100/24 dev eth0

    Output của ip a trông như thế này:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
        link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
        inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link

    SecOps note: Khi incident response, ip aip r là hai lệnh đầu tiên để xác định vị trí máy trong mạng, kiểm tra có interface lạ nào không (ví dụ attacker tạo tunnel interface).

    2. Kiểm tra kết nối và port với ssnetstat

    ss (socket statistics) nhanh hơn netstat và là lựa chọn ưu tiên trên hệ thống hiện đại:

    # Xem tất cả TCP connections đang LISTEN
    ss -tlnp
    
    # Xem tất cả UDP
    ss -ulnp
    
    # Xem tất cả connections (TCP + UDP)
    ss -tunap
    
    # Lọc theo port
    ss -tlnp sport = :80
    
    # netstat tương đương (nếu máy chưa có ss)
    netstat -tlnp
    netstat -an | grep ESTABLISHED

    Giải thích các flags: -t TCP, -u UDP, -n không resolve hostname (nhanh hơn), -a tất cả state, -p hiện process đang dùng socket, -l chỉ listening.

    SecOps note: ss -tlnp là lệnh kinh điển để phát hiện backdoor. Nếu có port lạ đang LISTEN mà bạn không biết là service gì — red flag ngay. Kết hợp với lsof -i :[port] để xem process nào đang dùng port đó.

    3. Ping, traceroute và kiểm tra DNS

    Ping — test connectivity cơ bản

    # Ping 5 gói tin
    ping -c 5 google.com
    
    # Ping với interval 0.2s (flood test, cần root)
    ping -i 0.2 -c 100 192.168.1.1
    
    # Ping IPv6
    ping6 ::1

    Traceroute — theo dõi đường đi của packet

    # traceroute dùng UDP (default)
    traceroute google.com
    
    # traceroute dùng ICMP (giống Windows tracert)
    traceroute -I google.com
    
    # mtr — kết hợp ping + traceroute, realtime
    mtr google.com
    mtr --report google.com   # output 1 lần, dùng cho scripting

    dig — kiểm tra DNS như pro

    # Query A record
    dig google.com A
    
    # Query MX record (mail server)
    dig google.com MX
    
    # Query từ DNS server cụ thể
    dig @8.8.8.8 google.com
    
    # Query ngắn gọn
    dig +short google.com
    
    # Reverse lookup (IP → hostname)
    dig -x 8.8.8.8
    
    # Trace toàn bộ DNS resolution
    dig +trace google.com

    File cấu hình DNS của hệ thống:

    # DNS server hệ thống dùng
    cat /etc/resolv.conf
    
    # Override hostname resolution (ưu tiên hơn DNS)
    cat /etc/hosts
    
    # Thứ tự lookup: /etc/nsswitch.conf
    grep hosts /etc/nsswitch.conf

    SecOps note: Attacker thường sửa /etc/hosts để redirect traffic hoặc bypass DNS. Kiểm tra file này khi điều tra incident. Cũng cần monitor /etc/resolv.conf — DNS hijacking sẽ thay đổi file này.

    4. curl — HTTP từ command line

    curl là công cụ đa năng để làm việc với HTTP, HTTPS, FTP và nhiều protocol khác:

    # GET request đơn giản
    curl https://example.com
    
    # Chỉ lấy headers
    curl -I https://example.com
    
    # POST với JSON body
    curl -X POST https://api.example.com/data 
      -H "Content-Type: application/json" 
      -d '{"key": "value"}'
    
    # Kèm authentication
    curl -u username:password https://api.example.com
    curl -H "Authorization: Bearer TOKEN" https://api.example.com
    
    # Download file
    curl -O https://example.com/file.tar.gz
    curl -L -o output.html https://example.com   # theo redirect
    
    # Verbose output để debug
    curl -v https://example.com
    
    # Test SSL/TLS
    curl -v --tlsv1.2 https://example.com 2>&1 | grep "SSL connection"
    
    # Ignore certificate errors (KHÔNG dùng trong production)
    curl -k https://example.com

    SecOps note: Khi kiểm tra API endpoint nội bộ hay điều tra một service, curl -v cho thấy đầy đủ request/response headers — rất hữu ích khi debug auth issues hoặc kiểm tra security headers (HSTS, CSP, X-Frame-Options).

    5. Firewall: iptables, nftables và UFW

    Hiểu kiến trúc: iptables và nftables

    Linux firewall hoạt động ở kernel level thông qua Netfilter. Có hai frontend chính:

    • iptables: tool truyền thống, vẫn phổ biến rộng rãi
    • nftables: thay thế hiện đại, syntax sạch hơn, Ubuntu 20.04+ dùng mặc định
    • UFW (Uncomplicated Firewall): wrapper đơn giản cho iptables/nftables, dễ dùng

    UFW — firewall đơn giản cho người mới

    # Kiểm tra trạng thái
    sudo ufw status verbose
    
    # Bật UFW
    sudo ufw enable
    
    # Allow/deny port
    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw deny 23/tcp   # block telnet
    
    # Allow từ IP cụ thể
    sudo ufw allow from 192.168.1.0/24 to any port 5432
    
    # Xóa rule
    sudo ufw delete allow 80/tcp
    
    # Default policy: deny inbound, allow outbound
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    
    # Xem numbered rules (để xóa theo số)
    sudo ufw status numbered
    sudo ufw delete 3   # xóa rule số 3

    iptables — kiểm soát chi tiết hơn

    # Xem rules hiện tại
    sudo iptables -L -v -n
    
    # Xem NAT rules
    sudo iptables -t nat -L -v -n
    
    # Block một IP
    sudo iptables -A INPUT -s 1.2.3.4 -j DROP
    
    # Allow SSH chỉ từ một subnet
    sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
    # Lưu rules (Ubuntu/Debian)
    sudo iptables-save > /etc/iptables/rules.v4
    
    # Restore rules
    sudo iptables-restore < /etc/iptables/rules.v4

    SecOps note: Luôn có rule “allow established connections” trước khi block để không tự lock-out khỏi SSH:

    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    6. tcpdump — bắt packet để phân tích

    tcpdump là công cụ bắt network packet ngay trên command line — không cần GUI như Wireshark:

    # Bắt packet trên interface eth0
    sudo tcpdump -i eth0
    
    # Bắt packet liên quan đến port 80
    sudo tcpdump -i eth0 port 80
    
    # Bắt packet từ/đến một IP
    sudo tcpdump -i eth0 host 192.168.1.100
    
    # Lọc HTTP GET requests
    sudo tcpdump -i eth0 -A 'tcp port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420)'
    
    # Lưu ra file để phân tích bằng Wireshark
    sudo tcpdump -i eth0 -w capture.pcap
    
    # Đọc file pcap
    tcpdump -r capture.pcap
    
    # Bắt với output dễ đọc hơn (-n: không resolve hostname, -X: hex+ASCII)
    sudo tcpdump -i eth0 -nX port 443
    
    # Bắt ICMP (ping)
    sudo tcpdump -i any icmp

    SecOps note: tcpdump rất hữu ích khi điều tra data exfiltration hoặc C2 communication. Bắt traffic từ một process cụ thể:

    # Lấy PID của process
    ss -tlnp | grep :4444
    
    # Dùng cgroup hoặc kết hợp với strace để correlate
    sudo tcpdump -i any -n 'host [ip_suspicious]' -w suspicious.pcap

    7. SSH: Kết nối an toàn và cấu hình đúng chuẩn

    SSH cơ bản

    # Kết nối SSH
    ssh [email protected]
    ssh -p 2222 user@hostname   # port khác
    
    # Tạo SSH key pair
    ssh-keygen -t ed25519 -C "[email protected]"
    # Ed25519 là thuật toán hiện đại, an toàn hơn RSA 2048
    
    # Copy public key lên server
    ssh-copy-id user@hostname
    
    # Kết nối dùng key cụ thể
    ssh -i ~/.ssh/id_ed25519 user@hostname

    SSH config file — tiết kiệm thời gian gõ lệnh

    # ~/.ssh/config
    Host myserver
        HostName 192.168.1.10
        User admin
        Port 2222
        IdentityFile ~/.ssh/id_ed25519
        ServerAliveInterval 60
    
    # Sau đó chỉ cần gõ:
    ssh myserver

    SSH ProxyJump — kết nối qua bastion host

    # Kết nối đến internal-server qua bastion
    ssh -J [email protected] user@internal-server
    
    # Trong ~/.ssh/config
    Host internal-server
        HostName 10.0.0.50
        User admin
        ProxyJump bastion
    
    Host bastion
        HostName bastion.example.com
        User ubuntu
        IdentityFile ~/.ssh/id_ed25519

    SSH Hardening — cấu hình /etc/ssh/sshd_config

    Đây là phần quan trọng nhất cho SecOps. File cấu hình SSH server nằm tại /etc/ssh/sshd_config:

    # === CIS Benchmark SSH Hardening ===
    
    # Tắt login bằng root trực tiếp
    PermitRootLogin no
    
    # Chỉ dùng key, tắt password auth
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM yes
    
    # Chỉ cho phép user/group cụ thể
    AllowUsers deploy admin
    # AllowGroups sshusers
    
    # Port không phải 22 (security by obscurity, nhưng giảm noise)
    Port 2222
    
    # Giới hạn thời gian login
    LoginGraceTime 30
    MaxAuthTries 3
    MaxSessions 5
    
    # Disable các feature không cần
    X11Forwarding no
    AllowAgentForwarding no
    AllowTcpForwarding no   # Bật nếu cần port forward
    PermitTunnel no
    
    # Banner cảnh báo
    Banner /etc/issue.net
    
    # Protocol version (chỉ dùng SSH2)
    # Protocol 2  # Không cần thiết trên OpenSSH hiện đại, mặc định là 2
    
    # Logging
    LogLevel VERBOSE   # Log fingerprint của key khi login
    
    # Timeout inactive sessions
    ClientAliveInterval 300
    ClientAliveCountMax 2

    Sau khi sửa, test config trước khi restart:

    # Test config hợp lệ không
    sudo sshd -t
    
    # Restart SSH (giữ session hiện tại, chỉ áp dụng cho connection mới)
    sudo systemctl reload sshd

    Quan trọng: Trước khi tắt password auth, hãy đảm bảo đã copy public key lên server và test đăng nhập được bằng key. Nếu tắt password mà chưa có key, bạn sẽ bị lock out hoàn toàn.

    8. SSH Port Forwarding

    # Local port forwarding: truy cập service nội bộ qua tunnel
    # Truy cập PostgreSQL (port 5432) trên server qua local port 15432
    ssh -L 15432:localhost:5432 user@server
    
    # Kết nối local: psql -h localhost -p 15432
    
    # Remote port forwarding: expose local port ra ngoài qua server
    ssh -R 8080:localhost:3000 user@server
    
    # Dynamic port forwarding: SOCKS proxy
    ssh -D 1080 user@server
    # Dùng với browser hoặc proxychains

    9. Troubleshooting nhanh: Checklist kết nối

    Khi không kết nối được, làm theo thứ tự sau:

    1. Layer 1-2: ip link show — interface có UP không?
    2. Layer 3: ip addr show — có IP không? Đúng subnet không?
    3. Default gateway: ip route show — có default route không?
    4. Ping gateway: ping -c 3 [gateway_ip]
    5. Ping DNS: ping -c 3 8.8.8.8
    6. DNS resolution: dig google.com hoặc nslookup google.com
    7. Port có mở không: ss -tlnp | grep [port]
    8. Firewall: sudo ufw status hoặc sudo iptables -L -n
    9. Xem log: journalctl -u [service] --since "5 min ago"

    Tổng kết

    Bài này đã đi qua toàn bộ bộ công cụ networking thiết yếu trên Linux:

    • ip, ss: xem interface và connections đang chạy
    • ping, traceroute, dig: test connectivity và DNS
    • curl: tương tác với HTTP/HTTPS từ terminal
    • UFW, iptables: kiểm soát traffic vào/ra
    • tcpdump: bắt và phân tích packet
    • SSH hardening: bảo vệ điểm vào quan trọng nhất của server

    Từ góc nhìn SecOps, networking là nơi attacker thao túng nhiều nhất — từ reconnaissance bằng port scan, pivot qua mạng nội bộ, đến data exfiltration. Nắm vững các công cụ này giúp bạn vừa vận hành tốt, vừa phát hiện bất thường kịp thời.

    Bài tiếp theo chúng ta sẽ đi vào Package Management — cách cài phần mềm đúng cách, verify integrity và hiểu rủi ro supply chain trong môi trường Linux. Đây là chủ đề nóng trong bảo mật hiện đại khi các cuộc tấn công vào chuỗi cung ứng phần mềm ngày càng phổ biến.

  • Câu chuyện trước khi có Git

    Câu chuyện trước khi có Git

    Câu chuyện trước khi có Git

    Năm 2004. Một nhóm 3 lập trình viên đang làm dự án web cho khách hàng. Không có Git, không có version control. Họ dùng cách “truyền thống”: copy folder, đặt tên kiểu project_final, project_final_v2, project_FINAL_thật_sự, project_fix_bug_của_Tuấn

    Rồi một ngày, Minh sửa file checkout.php. Tuấn cũng sửa đúng file đó. Họ gửi cho nhau qua email. Ai merge? Merge bằng tay. Merge sai. Production sập. Khách hàng gọi điện lúc 11 giờ đêm.

    Câu chuyện này không phải hư cấu — đó là thực tế của hàng triệu team trước khi version control trở nên phổ biến. Và đó chính xác là vấn đề Git ra đời để giải quyết.


    Version Control System (VCS) là gì?

    VCS là hệ thống theo dõi mọi thay đổi trong codebase theo thời gian. Nó trả lời được 4 câu hỏi quan trọng:

    • Ai đã thay đổi file này?
    • Khi nào thay đổi xảy ra?
    • Thay đổi gì — thêm dòng nào, xóa dòng nào?
    • Tại sao — commit message giải thích lý do

    Với VCS, bạn có thể quay ngược thời gian. Bug xuất hiện từ tuần trước? Xem lịch sử, tìm commit nào gây ra, rollback. Team 10 người cùng sửa một file? Hệ thống tự merge, báo conflict chỗ nào cần giải tay.

    Các loại VCS

    Có 3 thế hệ:

    • Local VCS: Lưu lịch sử trên máy cá nhân. Đơn giản nhưng không cộng tác được. Ví dụ: RCS.
    • Centralized VCS (CVCS): Một server trung tâm lưu toàn bộ lịch sử. Mọi người kết nối vào đó. Ví dụ: SVN, CVS. Vấn đề: server chết = mọi người không làm việc được, mất server = mất toàn bộ lịch sử.
    • Distributed VCS (DVCS): Mỗi người có bản sao đầy đủ của repository — kể cả toàn bộ lịch sử. Không phụ thuộc server trung tâm. Git thuộc loại này.

    Git ra đời như thế nào?

    Git được tạo ra bởi Linus Torvalds — cha đẻ của Linux kernel — vào năm 2005. Câu chuyện khá thú vị:

    Trước đó, Linux kernel dùng một DVCS thương mại tên BitKeeper. Năm 2005, công ty làm BitKeeper thu hồi license miễn phí. Linus không vừa ý, quyết định tự viết một hệ thống mới. Ông đặt ra yêu cầu rõ ràng: phải nhanh, phải đơn giản, hỗ trợ phát triển phi tuyến tính (ngàn branch song song), hoàn toàn phân tán, và có thể handle dự án cỡ Linux kernel (hàng nghìn contributor).

    Ông viết Git trong… 10 ngày. Ngày 7/4/2005, Git tự host chính nó — repo đầu tiên của Git chứa source code của Git.


    Tại sao Git thống trị?

    Năm 2024, khảo sát Stack Overflow cho thấy 93.7% developer dùng Git. Đây không phải tình cờ. Git có một số đặc điểm khiến nó vượt trội:

    1. Branching cực nhanh và nhẹ

    Trong Git, tạo branch gần như tức thời — chỉ là tạo một pointer 40 bytes. Trong SVN, branch là copy toàn bộ directory. Sự khác biệt này thay đổi hoàn toàn workflow: với Git, bạn tạo branch cho mọi tính năng, mọi bugfix, thậm chí mọi thử nghiệm nhỏ.

    2. Làm việc offline hoàn toàn

    Vì mỗi máy có toàn bộ history, bạn commit, xem log, tạo branch, merge — tất cả đều được offline. Chỉ cần internet khi push/pull với server.

    3. Data integrity

    Mọi thứ trong Git được hash bằng SHA-1. Bạn không thể thay đổi lịch sử mà Git không biết. Mọi commit có fingerprint duy nhất. Điều này làm nền tảng cho audit trail trong môi trường DevSecOps.

    4. GitHub effect

    GitHub ra đời năm 2008 và biến Git từ công cụ của developer thành nền tảng cộng tác của cả thế giới. Open source, code review, CI/CD — tất cả xây trên Git.


    Git trong bức tranh DevOps/DevSecOps

    Nếu bạn đang học theo hướng DevOps hoặc DevSecOps, Git không chỉ là công cụ — nó là trung tâm của toàn bộ pipeline:

    Developer push code → Git repository
                               ↓
                        CI/CD trigger (GitHub Actions, GitLab CI, Jenkins)
                               ↓
                        Build → Test → Security Scan → Deploy
                               ↓
                        Production (với audit trail đầy đủ)
    

    Mọi thứ đều bắt đầu từ một git push. Hiểu Git = hiểu điểm khởi đầu của mọi automation trong DevOps.

    Với góc nhìn bảo mật, Git còn giúp:

    • Audit trail: ai thay đổi gì, khi nào — compliance requirement của nhiều tiêu chuẩn (SOC2, PCI-DSS)
    • Code review: mọi thay đổi đi qua Pull Request — không ai push thẳng vào production branch mà không có review
    • Secret detection: tool như git-secrets, TruffleHog scan commit trước khi push để không lộ API key
    • Signed commits: GPG sign commit để xác minh danh tính author

    Git vs GitHub vs GitLab — đừng nhầm lẫn

    Nhiều người mới hay lẫn lộn:

    Khái niệm Là gì Ví dụ
    Git Phần mềm VCS chạy trên máy bạn Cài bằng apt install git
    GitHub Dịch vụ web host Git repository, thuộc Microsoft github.com
    GitLab Tương tự GitHub, có thể self-host, tích hợp CI/CD mạnh hơn gitlab.com hoặc self-hosted
    Gitea Self-hosted Git server nhẹ, open source Dùng trong private infra

    Git là công cụ. GitHub/GitLab là nền tảng host và cộng tác xây trên Git. Bạn có thể dùng Git mà không cần GitHub — nhưng làm việc nhóm thực tế thì cần một nền tảng như vậy.


    Những lý do thực tế bạn cần học Git ngay

    Không phải lý thuyết — đây là những tình huống thực tế bạn sẽ gặp:

    1. Mọi job JD đều yêu cầu Git. Backend, frontend, DevOps, QA — tất cả đều cần. Không biết Git = thiếu kỹ năng nền tảng.
    2. Code review qua Pull Request. Đây là quy trình chuẩn tại mọi công ty làm phần mềm nghiêm túc. Không biết Git = không tham gia được.
    3. Deploy bằng git push. Heroku, Vercel, Railway, nhiều platform deploy khi bạn push code. Git = CD pipeline đơn giản nhất.
    4. Cứu code khi sự cố. Lỡ tay xóa file? Merge nhầm? Có Git, quay lại trạng thái trước trong 30 giây.
    5. Portfolio trên GitHub. Nhà tuyển dụng xem GitHub profile của bạn. Commit history đều đặn, project có README, code được review — đây là bằng chứng thực tế của năng lực.

    Bạn cần chuẩn bị gì để học series này?

    Series này thiết kế cho người mới hoàn toàn. Bạn chỉ cần:

    • Máy tính (Windows, macOS, hoặc Linux đều được)
    • Terminal/Command Prompt cơ bản — biết cd, ls, tạo file là đủ
    • Tài khoản GitHub miễn phí (tạo tại github.com)

    Không cần biết lập trình trước. Không cần kinh nghiệm với bất kỳ VCS nào khác. Chúng ta bắt đầu từ zero.


    Tổng kết

    Git là distributed version control system do Linus Torvalds tạo ra năm 2005. Nó giải quyết bài toán cộng tác, theo dõi lịch sử thay đổi, và bảo vệ code khỏi những tai nạn không mong muốn. Với DevOps/DevSecOps, Git là trung tâm của mọi pipeline — từ CI/CD đến audit trail và compliance.

    Học Git không phải là học thêm một tool. Đó là học cách làm việc chuyên nghiệp với code.

    Bài tiếp theo: Cài đặt & cấu hình Git lần đầu — chúng ta sẽ cài Git, setup tên/email, tạo SSH key và kết nối với GitHub để sẵn sàng cho mọi bài tiếp theo trong series.

  • Tại sao phải quan tâm đến process?

    Tại sao phải quan tâm đến process?

    Tại sao phải quan tâm đến process?

    Mỗi lần bạn chạy một lệnh, khởi động một dịch vụ, hay mở terminal — Linux tạo ra một process. Process là đơn vị thực thi cơ bản của hệ điều hành: nó có PID (Process ID) riêng, bộ nhớ riêng, quyền truy cập tài nguyên riêng.

    Với DevSecOps, việc hiểu process không chỉ để troubleshoot khi server chậm. Nó còn là kỹ năng cốt lõi của incident response: khi hệ thống bị xâm nhập, kẻ tấn công thường để lại dấu vết qua các process bất thường — reverse shell, cryptominer, hay backdoor ẩn mình sau tên tiến trình trông vô hại.

    Bài này sẽ đi từ nền tảng (process là gì, trạng thái, vòng đời) đến thực chiến (detect anomaly, monitor resource, trace system call).


    1. Process là gì? Vòng đời cơ bản

    Khi kernel chạy một chương trình, nó tạo ra một process với các thuộc tính:

    • PID: định danh duy nhất
    • PPID: PID của process cha (parent)
    • UID/GID: người dùng và nhóm sở hữu process
    • State: trạng thái hiện tại (running, sleeping, zombie…)
    • File descriptors: các file đang mở
    • Memory map: vùng bộ nhớ được cấp phát

    Trạng thái của process

    Ký hiệu Trạng thái Ý nghĩa
    R Running Đang thực thi hoặc trong run queue
    S Sleeping Đang chờ sự kiện (interruptible)
    D Uninterruptible sleep Chờ I/O, không thể kill — nguy hiểm nếu kéo dài
    T Stopped Bị tạm dừng bởi signal (Ctrl+Z)
    Z Zombie Đã kết thúc nhưng chưa được parent “gom” lại

    SecOps note: Trạng thái D kéo dài bất thường thường chỉ ra vấn đề I/O nghiêm trọng — có thể do ransomware đang encrypt disk, hoặc NFS mount bị treo.

    Zombie vs Orphan process

    Zombie process: process đã chết nhưng entry trong process table vẫn còn vì parent chưa gọi wait(). Nhìn thấy trạng thái Z trong ps. Thường không nguy hiểm nhưng nếu nhiều zombie → có thể là dấu hiệu parent process bị lỗi.

    Orphan process: process cha chết trước con. Kernel tự động reparent chúng về PID 1 (init/systemd). Bình thường, không đáng lo.


    2. ps — Snapshot tức thời

    ps là lệnh xem danh sách process đang chạy tại một thời điểm. Không real-time, chỉ là snapshot.

    # Xem tất cả process, format đầy đủ
    ps aux
    
    # Xem dạng cây (process hierarchy)
    ps auxf
    
    # Tìm process theo tên
    ps aux | grep nginx
    
    # Hiển thị cột cụ thể: PID, PPID, USER, command
    ps -eo pid,ppid,user,cmd --sort=-%cpu | head -20
    

    Giải mã output của ps aux:

    Cột Ý nghĩa
    USER Owner của process
    PID Process ID
    %CPU CPU usage tính từ lúc khởi động process
    %MEM Phần trăm RAM vật lý đang dùng
    VSZ Virtual memory size (KB)
    RSS Resident Set Size — RAM thực sự đang chiếm (KB)
    STAT Trạng thái process
    START Thời điểm khởi động
    COMMAND Lệnh đầy đủ

    SecOps tip: Kẻ tấn công hay đặt tên process giống tiến trình hợp lệ nhưng chạy từ path lạ. Kiểm tra:

    # Path thực sự của process (không chỉ tên)
    ps aux | awk '{print $11}' | sort -u
    
    # So sánh — /usr/sbin/sshd hợp lệ, còn /tmp/.hidden/sshd thì không
    

    3. tophtop — Monitoring real-time

    top

    top có sẵn trên mọi Linux, hiển thị real-time. Phần header chứa nhiều thông tin quan trọng:

    top - 14:32:01 up 42 days,  3:17,  2 users,  load average: 0.52, 0.48, 0.45
    Tasks: 214 total,   1 running, 213 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  5.2 us,  1.3 sy,  0.0 ni, 92.8 id,  0.5 wa,  0.0 hi,  0.2 si
    MiB Mem :  15886.5 total,   4231.2 free,   8742.1 used,   2913.2 buff/cache
    MiB Swap:   2048.0 total,   1987.6 free,     60.4 used.   6802.4 avail Mem
    

    Đọc load average: ba con số là trung bình 1 phút, 5 phút, 15 phút. Nếu load average > số CPU core — hệ thống đang quá tải. Nếu load tăng đột ngột trong khi không có workload mới → dấu hiệu đáng điều tra.

    Phím tắt hữu ích trong top:

    • P — sắp xếp theo CPU
    • M — sắp xếp theo Memory
    • k — kill process (nhập PID)
    • u — lọc theo user
    • 1 — xem từng CPU core riêng lẻ

    htop

    htop cần cài thêm (apt install htop) nhưng giao diện trực quan hơn nhiều: màu sắc, cây tiến trình, dễ dùng chuột. Dùng F9 để send signal, F5 để xem dạng cây.

    sudo apt install htop   # Ubuntu/Debian
    sudo dnf install htop   # Rocky/RHEL
    

    4. Signals — Giao tiếp với process

    Signal là cơ chế kernel dùng để thông báo cho process. Phổ biến nhất:

    Signal Số Ý nghĩa
    SIGHUP 1 Reload config (không restart)
    SIGINT 2 Interrupt (Ctrl+C)
    SIGTERM 15 Yêu cầu thoát gracefully — mặc định của kill
    SIGKILL 9 Buộc kill ngay, không thể block hay ignore
    SIGSTOP 19 Pause process (không thể block)
    # Gửi SIGTERM (graceful shutdown)
    kill 1234
    kill -15 1234
    
    # Buộc kill khi process không phản hồi
    kill -9 1234
    
    # Kill theo tên
    killall nginx
    pkill -f "python app.py"
    
    # Reload config nginx (dùng SIGHUP)
    kill -HUP $(cat /var/run/nginx.pid)
    

    Best practice: Luôn thử SIGTERM trước. SIGKILL là lựa chọn cuối cùng — nó không cho process dọn dẹp, có thể gây data corruption hoặc bỏ qua cleanup routine quan trọng.


    5. nicerenice — Ưu tiên process

    Linux scheduler phân bổ CPU dựa trên priority. nice value dao động từ -20 (ưu tiên cao nhất) đến 19 (ưu tiên thấp nhất). Mặc định là 0.

    # Chạy process với nice thấp (ít ăn CPU)
    nice -n 10 ./heavy-script.sh
    
    # Thay đổi priority của process đang chạy
    renice -n 5 -p 1234
    
    # Chỉ root mới có thể set nice âm (tăng priority)
    sudo renice -n -5 -p 1234
    

    Dùng nice khi chạy backup, compression hay các job nặng trong giờ cao điểm — tránh ảnh hưởng đến dịch vụ production.


    6. /proc filesystem — Nhìn vào não hệ thống

    /proc là virtual filesystem — không chiếm disk thực, tồn tại trong RAM. Kernel expose thông tin nội bộ qua đây.

    # Thông tin process PID 1234
    ls /proc/1234/
    
    # Lệnh đầy đủ (bao gồm argument)
    cat /proc/1234/cmdline | tr '' ' '
    
    # File đang mở
    cat /proc/1234/fd/
    
    # Memory maps
    cat /proc/1234/maps
    
    # Môi trường biến của process
    cat /proc/1234/environ | tr '' 'n'
    

    Một số file system-wide quan trọng trong /proc:

    • /proc/cpuinfo — thông tin CPU
    • /proc/meminfo — thông tin RAM chi tiết
    • /proc/net/tcp — connections TCP hiện tại (raw format)
    • /proc/sys/ — kernel parameters có thể điều chỉnh qua sysctl
    • /proc/loadavg — load average hiện tại

    SecOps application: Khi cần forensics một process đáng ngờ:

    PID=1337
    
    # Lệnh gốc (quan trọng — kẻ tấn công có thể rename process nhưng cmdline không đổi)
    cat /proc/$PID/cmdline | tr '' ' '
    
    # Executable thực sự trỏ về đâu?
    ls -la /proc/$PID/exe
    
    # Network connections của process này
    cat /proc/$PID/net/tcp
    
    # Biến môi trường (có thể chứa API key, credential bị leak)
    cat /proc/$PID/environ | tr '' 'n'
    

    7. Resource monitoring — free, vmstat, iostat

    free — Memory

    free -h
    
                  total        used        free      shared  buff/cache   available
    Mem:           15Gi        8.5Gi       4.2Gi       512Mi       2.8Gi       6.8Gi
    Swap:          2.0Gi       60Mi        1.9Gi
    

    Cột available quan trọng hơn free — nó bao gồm cả buff/cache có thể giải phóng ngay khi cần. Nếu available xuống gần 0 và swap đang dùng nhiều → hệ thống đang thrashing, performance tụt nghiêm trọng.

    vmstat — Virtual Memory & I/O

    # Xem mỗi 2 giây, 5 lần
    vmstat 2 5
    

    Chú ý cột wa (I/O wait) — nếu cao liên tục → disk I/O là bottleneck. Cột si/so (swap in/out) tăng → dấu hiệu thiếu RAM.

    iostat — Disk I/O

    sudo apt install sysstat
    iostat -x 2 5
    

    Chỉ số %util gần 100% nghĩa là disk đang bão hòa. await cao (> vài chục ms với SSD) → latency I/O bất thường.


    8. lsof — List Open Files

    Mọi thứ trong Linux đều là file — kể cả socket mạng. lsof cho bạn thấy file nào đang mở bởi process nào.

    # File đang mở bởi process có PID 1234
    lsof -p 1234
    
    # Process đang mở file/directory cụ thể
    lsof /var/log/syslog
    
    # Network connections (thay thế netstat trên nhiều distro mới)
    lsof -i
    
    # Connections đến port 80
    lsof -i :80
    
    # Connections của user cụ thể
    lsof -u www-data
    
    # File đã bị xóa nhưng vẫn đang được giữ mở (chiếm disk)
    lsof | grep deleted
    

    SecOps use case: Tìm process đang listen trên port lạ:

    lsof -i -P -n | grep LISTEN
    # -P: hiển thị số port thay vì service name
    # -n: không resolve hostname (nhanh hơn)
    

    9. strace — Theo dõi system calls

    strace trace mọi system call mà process thực hiện — đọc file, gọi mạng, cấp phát memory… Đây là công cụ debug và forensics cực kỳ mạnh.

    # Trace process đang chạy
    strace -p 1234
    
    # Trace lệnh mới
    strace ls /tmp
    
    # Chỉ trace system calls cụ thể
    strace -e openat,read,write cat /etc/passwd
    
    # Tóm tắt (đếm số lần gọi)
    strace -c ls /tmp
    
    # Trace cả child processes
    strace -f -p 1234
    
    # Lưu output ra file (thường rất nhiều)
    strace -p 1234 -o /tmp/trace.log
    

    SecOps application: Nếu nghi ngờ process đang đọc file nhạy cảm hay gửi data ra ngoài:

    # Xem process có đọc file gì
    strace -e openat,open -p $SUSPICIOUS_PID 2>&1 | grep -v "ENOENT"
    
    # Xem network syscalls
    strace -e connect,sendto,recvfrom -p $SUSPICIOUS_PID
    

    Lưu ý: strace làm chậm process đáng kể — không dùng trên production traffic cao, chỉ dùng khi debug hoặc incident investigation.


    10. uptime và who — Quick sanity check

    # Thời gian chạy và load average
    uptime
    
    # Ai đang logged in
    who
    w
    
    # Last login history
    last
    last -n 20   # 20 dòng gần nhất
    
    # Failed login attempts
    sudo lastb
    

    lastlastb là hai lệnh đầu tiên nên chạy khi điều tra xâm nhập — xem có login bất thường từ IP lạ hay giờ lạ không.


    Tổng kết

    Process monitoring là kỹ năng nền tảng của cả sysadmin lẫn security engineer. Nắm được vài điểm cốt lõi:

    • ps aux / htop: snapshot và real-time view của mọi process
    • Signals: SIGTERM trước, SIGKILL chỉ khi cần thiết
    • /proc/[pid]/: nguồn thông tin chi tiết nhất về bất kỳ process nào
    • lsof: file và network socket đang mở
    • strace: vũ khí cuối cùng khi cần biết process thực sự đang làm gì

    Với DevSecOps, bộ kỹ năng này trực tiếp phục vụ incident response: phát hiện cryptominer, reverse shell, hay malware ẩn náu trong hệ thống. Đây không phải lý thuyết — đây là thứ bạn cần khi 3 giờ sáng nhận alert và phải tìm ra kẻ xâm nhập trong 15 phút.

    Bài tiếp theo: Networking cơ bản — chúng ta sẽ nói về cách kiểm tra, cấu hình và bảo vệ kết nối mạng trên Linux, từ ip, ss, đến SSH hardening và tcpdump để bắt gói tin ngay trên server.

  • Tại sao bạc lại quan trọng hơn bạn nghĩ trong quá trình chuyển đổi năng lượng

    Tại sao bạc lại quan trọng hơn bạn nghĩ trong quá trình chuyển đổi năng lượng

    Khi nói về chuyển đổi năng lượng, người ta thường nhắc đến những điều rất tích cực.

    Nhiều năng lượng tái tạo.

    Pin mặt trời rẻ.

    Hệ thống điện thông minh.

    Nghe có vẻ mọi thứ đang tiến triển rất suôn sẻ.

    Nhưng những chuyển đổi lớn thường không vấp ở công nghệ, mà ở những thứ ít được chú ý hơn.

    Một trong số đó là vật liệu.

    Bạc là một ví dụ điển hình.

    1. Vì sao bạc lại quan trọng?

    Bạc là kim loại dẫn điện tốt nhất.

    Vì vậy, nó được dùng trong:

    • Pin mặt trời
    • Linh kiện điện
    • Thiết bị điện công suất cao

    Các hệ thống năng lượng mới dùng bạc không phải vì nó rẻ, mà vì chưa có vật liệu nào thay thế tốt hơn mà vẫn giữ được hiệu suất.

    Nói đơn giản:

    Muốn hệ thống hoạt động ổn định và hiệu quả, thì vẫn cần bạc.

    2. Cầu tăng nhanh, nhưng cung không chạy theo kịp

    Chuyển đổi năng lượng được thúc đẩy rất mạnh bởi:

    • Chính sách của chính phủ
    • Mục tiêu khí hậu
    • Trợ cấp, quy định, cam kết ESG

    Những thứ này có thể làm nhu cầu tăng rất nhanh.

    Nhưng cung bạc thì khác.

    Phần lớn bạc được khai thác kèm theo các kim loại khác như đồng hay kẽm.

    Nó không phải muốn đào thêm là đào được ngay.

    Vì vậy xảy ra một tình huống khá “lệch pha”:

    • Cầu có thể tăng nhanh vì chính sách
    • Cung thì bị giới hạn bởi thực tế khai thác

    Đây là một điểm mong manh của hệ thống.

    3. Hiệu quả có cải thiện, nhưng không vô hạn

    Nhiều người cho rằng:

    “Sau này công nghệ tốt hơn thì dùng ít bạc hơn.”

    Điều đó đúng – nhưng chỉ đúng đến một mức nào đó.

    Cải tiến kỹ thuật thường:

    • Nhanh lúc đầu
    • Chậm dần về sau
    • Và cuối cùng gặp giới hạn

    Việc giảm lượng bạc thường đi kèm:

    • Hiệu suất kém
    • Độ bền thấp
    • Rủi ro kỹ thuật tăng

    Ở quy mô lớn, những đánh đổi nhỏ này sẽ cộng dồn.


    Read More


    4. Tài chính thích tốc độ, vật chất thì không

    Thị trường tài chính thích:

    • Kế hoạch nhanh
    • Con số đẹp
    • Mục tiêu rõ ràng

    Nhưng các thứ vật chất như:

    • Khai thác
    • Tinh luyện
    • Sản xuất

    Luôn cần thời gian.

    Bạn có thể ban hành chính sách rất nhanh.

    Nhưng bạn không thể bắt mỏ bạc xuất hiện nhanh hơn.

    Bạc làm lộ rõ mâu thuẫn đó.

    5. Điều này có ý nghĩa gì cho người đầu tư?

    Câu chuyện này không phải để dự đoán giá bạc.

    Nó giúp hiểu rằng:

    Chuyển đổi năng lượng không chỉ là câu chuyện công nghệ, mà còn là câu chuyện vật liệu và chuỗi cung ứng

    Bạc đại diện cho:

    • Những điểm nghẽn vật chất
    • Những rủi ro không nằm trên bảng cân đối kế toán
    • Những thứ thị trường thường bỏ qua cho đến khi có vấn đề

    Vì vậy, bạc không “dễ chịu” khi nắm giữ.

    Nhưng chính điều đó khiến nó đáng chú ý.

    6. Bạc không phải “kèo xanh”

    Bạc không phải là khoản đầu tư theo trào lưu “green”.

    Nó không đi theo cảm xúc thị trường.

    Nó không tăng đều hay dễ đoán.

    Nó thường:

    • Im lặng rất lâu
    • Rồi biến động mạnh
    • Và ít khi báo trước

    Điều này khiến nhiều người không thích bạc.

    Nhưng cũng chính vì vậy, bạc đóng vai trò cảnh báo khi mọi người quá tự tin.

    7. Kết

    Chuyển đổi năng lượng là cần thiết.

    Nhưng nó không hề đơn giản.

    Bạc nhắc chúng ta rằng:

    Công nghệ có thể tiến rất nhanh, nhưng vật lý và địa chất thì không.

    Bạc không phải lời giải.

    Nó là một tín hiệu.

    Và với những ai quan tâm đến bức tranh dài hạn, những tín hiệu như vậy rất đáng để suy ngẫm.


    Markets change every day.

    But the principles behind them change much more slowly.

    Understanding those principles is what really matters.


    If you found this useful, feel free to share or subscribe.

    Nếu bạn thấy bài viết hữu ích, hãy chia sẻ hoặc đăng ký theo dõi để nhận bài mới.


    Read More