Vài năm trở lại đây chuyện công ty này, công ty nọ bị hack này hack kia liên tục xảy ra, bé có và lớn cũng có. Người ta nhận ra rằng thay vì chỉ suy nghĩ là làm sao cho hệ thống chạy nhanh, ổn định thì giờ cũng tới lúc cần phải tính làm sao để hệ thống của mình bảo mật (Sec) hơn. Bài viết này là các ghi chép chia sẻ kinh nghiệm thực tế sau những lần tham gia xử lý sự cố tại khách hàng dưới góc nhìn của một Sysadmin - chính là mình đây :d

Nhận thức,

  • Hệ thống bảo mật tuyệt đối?

Phải khẳng định “Không có hệ thống nào là bảo mật tuyệt đối”. Hệ thống nào cũng có những lỗ hổng chỉ là ít hay nhiều và mức độ khai thác được dễ hay khó. Các ngân hàng tổ chức nhà nước hay tự tin họ có hệ thống mạng riêng và hoàn toàn cô lập với internet hack sao được? Nhưng đến khi công ty làm dịch vụ rà soát máy chủ thì hầu như đơn vị nào cũng có APT, malware tứa lưa nằm vùng nhiều năm trong đó rồi. Hãy thử hình dung chỉ một chiếc usb3G cắm vào máy tính hay 1 đơn vị cấp dưới thiếu ý thức ngẫu hứng kéo thêm 1 line FTTH cắm vào LAN dùng internet chui là mạng đã thành hai chân public. Thế là mạng public hoàn toàn chả khác gì Internet. Và thế là mọi chuyện bắt đầu phức tạp hơn rồi.

  • Hacker vô cùng cao siêu?

Chứng kiến xử lý nhiều sự cố an toàn thông tin, các đợt pentest vào nhiều khách hàng lớn (Banks, Gov, …) tôi nhận thấy: Việc sử dụng zero day để attack vô cùng ít (chắc đâu đó chỉ chiếm 1%). Hầu hết các lỗ hổng sử dụng để khai thác đều là các lỗ hổng đã được công bố. Một số còn không cần khai thác lỗi mà chỉ dựa vào việc mò mẫm tận dụng những thói quen “Không tốt” của quản trị viên / Dev (Phổ biến nhất là quản lý secret info không đúng cách, quản lý phân quyền không đúng). Nghĩa là việc hệ thống bị khai thác chưa hẳn là dựa trên những thứ “ảo - magic” không biết trước (kiểu 0 day).

  • Tư duy quá chủ quan hoặc quá sợ,

Nhiều quản trị viên chủ quan, mà chủ quan thì đúng là gây hậu quả là việc khỏi cần phải bàn và cũng không cần nói ở đây. Tuy nhiên có lần sang khách hàng cùng hardening hệ thống tôi liên tục bị từ chối vì quản trị viên khăng khăng giải thích “Em có siết thế nào hacker nó có coi ra gì đâu, vậy siết làm gì?”, wth? Thật khó để giải thích cho họ hiểu rằng tính bền vững về security của một hệ thống thật sự là tổng hợp của nhiều cái nho nhỏ ý xây nên, được bọc lót bởi nhiều layer. Việc hardening và bọc lót giúp giảm thiểu nguy cơ và trong trường hợp xấu nhất - bị bypass sẽ giúp làm khó => trì hoãn được thời gian tấn công, làm cho attacker cần thực hiện nhiều hành động hơn nghĩa là ta có thời gian và nhiều cơ hội để phát hiện IOC trước khi chúng thực sự ăn sâu vào hệ thống và xử lý kịp thời.

  • Tôi chả có gì để mất?

Lại một lần khác tôi sang tổ chức X. Nhân viên tổ chức X bảo năm nào cũng bị hack thành ra quen và có bảo mật <=> vất hơn hơn thì lương vẫn nhận bằng đấy cũng chả được thưởng thêm :). Khỏi nói nhiều, các bạn thử sống chậm & suy nghĩ lại thấy có đúng không?

Có nhiều vụ lớn, các bạn có khi đã nghe rồi ví dụ như vụ VCCorp 2014. Hacker đánh đến mức nguy cơ gần sập cả công ty. Sập công ty tiền đâu trả cho nhân viên giờ chứ nói gì thưởng?

Hành động,

Để giảm thiểu việc hệ thống bị tấn công cần cả một phối hợp của nhiều team Dev, Sysadmin, Operation, … Dưới góc độ của sysadmin tôi chỉ có vài lời khuyên ngắn gọn như sau:

  • Giữ hệ thống được update
  • Không bao giờ để secret info ở dạng plaintext, khuyến cáo dùng 2FA
  • Siết chặt security theo layer (Network -> OS -> Application), đặc biệt là lớp Edge Internet. Đinh ninh trong đầu “The principle of least privilege (POLP)” - Dùng quyền nào cấp quyền đó đủ dùng ở mức tối thiểu
  • Logging nhiều nhất có thể
  • Không ngừng cập nhật kiến thức mới

Và dù là ai hãy luôn là người có trách nhiệm với những gì là sản phẩm của mình,