Skip to main content

Posts

Bỏ Linux capability để bảo vệ container của bạn

Đọc bài này  Secure your containers one weird trick  của một bác bên Redhat thấy hay nên mình tạm dịch ở đây. Ý của bác này là nên bỏ các Linux capability khỏi container, cần dùng capability nào thì thêm vào. Một kiểu như là quản lý không xuể thì nên cấm ngay từ đầu. Bạn có biết có một tùy chọn có thể tắt Linux capabilities trong Docker? Sử dụng `docker run --cap-drop` bạn có thể khóa root trong container để nó có quyền truy cập giới hạn trong container. Đáng buồn là hầu hết không ai từng thắt chặt security cho một container. Trong bài này mình để nguyên từ " capability " trong " Linux capability " mà không dịch là " khả năng " để bạn biết đó là một khái niệm của Linux. Ngày hôm sau là quá muộn Có một xu hướng đáng buồn trong dân IT khi nghĩ về security khi đã quá trễ. Người ta chỉ chú ý đến security system ngay sau khi hệ thống đã bị bẻ gãy. Gỡ bỏ capability có thể là một giải pháp đơn giản để cải thiện container security. Thế nào là Li
Recent posts

Luyện tập viết code

Dạo này đi phỏng vấn kiểu pair programming mới thấy sự cần thiết của việc rèn luyện code hằng ngày. Làm sao để tạo hứng thú luyện tập code đây? Dưới đây là danh sách các công việc khởi tạo ban đầu để hứng thú với code như sau:      1.  Trên github tạo repository chứa code để luyện tập. Ví dụ như MyHackerrank      2. Nếu có sẵn project rồi cần add vào github thì thực hiện các bước sau:             Tham khảo thêm project có sẵn vào github sử dụng command line        3. Tham gia một số cộng đồng coding như là Hackerrank và Leetcode. Hackerrank có phần  Hackerrank Interview Preparation Kit   cũng khá là hay ho, hồi xưa thời còn đi học làm gì có mấy trang kiểu này. Hoặc là  tập hợp các bài toán trên Leetcode . Ở leetcode cũng có một bộ sưu tập các câu hỏi phỏng vấn được đặt ra và trả lời bởi cộng đồng, cùng với các bài học về giải thuật và lập trình hướng tương tác rất hay.  Leetcode Explore         4. Ôn giải thuật và cấu trúc dữ liệu thì trang này khá đầy đủ  Geeksforgeeks&

ReplicaSet MongoDb

A. Giới thiệu : Replication được dùng để "hot backup" dữ liệu khi có sự cố xảy ra . MongoDb có 1 collection gọi là oplog (viết tắt của operation log) , master sẽ dùng collection này cho việc ghi và các slave sẽ truy vấn từ collection này . Mỗi lần ghi (insert,update, delete) sẽ tạo ra một document trong oplog collection (nếu sử dụng replication, không dùng thì mongoDb sẽ không dùng tới collection oplog này) . Để sử dụng replication , start mongod với option replSet. Truy vấn từ oplog xem ở đây (Mình xin dịch lại) rs.initiate() use local db.oplog.rs.find() { "ts" : { "t" : 1286821527000 , "i" : 1 } , "h" : NumberLong ( 0 ) , "op" : "n" , "ns" : "" , "o" : { "msg" : "initiating set" } } ts : thời gian thao tác thực hiện . h : một ID duy nhất cho thao tác này . Mỗi thao tác sẽ có một giá trị khác nhau trong trường này