Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

20 tháng 6, 2014

Cấu trúc tập tin /etc/shadows trong Linux

Tập tin /etc/shadow là một phương thức khác của Linux để lưu thông tin mật khẩu đăng nhập của người dùng hệ thống.
Thông tin được lưu tại đây sẽ an toàn hơn so với cách lưu trong tập tin /etc/passwd do tập tin này chỉ có tài khoản root hoặc có quyền sudo mới có thể truy cập.
Dưới đây là định dạng mỗi dòng trong tập tin /etc/shadow:
hduser:$6$nRDJ.w8b$wqH4G72KtYbUs:16038:0:99999:7:::
  •  Các trường trong /etc/shadow được phân cách với nhau bằng dấu ":"
  • Trường đầu tiên là username.
  • Trường thứ 2 là mật khẩu đã được mã hóa; nó có thể bắt đầu bằng ký tự $, khi đó ký tự tiếp theo sẽ là thuật toán mã hóa áp dụng cho mật khẩu.
    • $1 = MD5 hashing algorithm. 
    • $2 = Blowfish Algorithm is in use. 
    • $2a = eksblowfish Algorithm
    •  $5 = SHA-256 Algorithm 
    •  $6 = SHA-512 Algorithm
  • Trường thứ 3 là khoảng thời gian (tính bằng ngày) tính từ 1/1/1970  cho tới lần đổi mật khẩu gần nhất.
  • Trường thứ 4 là thời gian tối đa còn cho phép người dùng đổi mật khẩu, nếu là 0 tức là người dùng có thể đổi mật khẩu bất cứ khi nào, nếu là số khác 0, ví dụ 9, tức là người dùng còn 9 ngày nữa có thể đổi mật khẩu.
  • Trường thứ 5 là thời gian hiệu lực tối đa của mật khẩu, nếu là 99999 có nghĩa là vô hạn.
  • Trường thứ 6 là khoảng thời gian trước khi mật khẩu hết hạn, hệ thống sẽ cảnh báo cho người dùng, ở đây là 7, tức là trước khi hết hạn 7 ngày, hệ thống sẽ cảnh báo.
  • Trường thứ 7 là khoảng thời gian mà tài khoản đã hết hạn đăng nhập, ví dụ nếu là 2 tức là người dùng đã hết hạn đăng nhập 2 ngày.
  • Trường thứ 8 là khoảng thời gian mà tài khoản đã hết hạn đăng nhập tính từ ngày 1/1/1970 (đơn vị tính là ngày)
Ngoài ra trong file /etc/shadow còn có thể có chứa một số ký tự đặc biệt để dùng vào một số mục đích riêng như sau:
  • Nếu trường password rỗng tức là người dùng không có mật khẩu đăng nhập.
  • Nếu trường password là "!" tức là đăng nhập bằng mật khẩu của người dùng bị chặn nhưng có thể đăng nhập bằng phương thức khác, ví dụ sử dụng ssh key.
  • Nếu trường password là "*LK*" hoặc "*" tức là tài khoản bị khóa, không thể đăng nhập bằng mật khẩu nhưng vẫn có thể đăng nhập bằng phương thức khác.

06 tháng 6, 2014

Ads block trong Android

Bài này tôi xin mạn phép đứng về phía các lập trình viên nhé.
         Trước hết tôi nói sơ qua về Admob. Đây là một dạng quảng cáo mà bạn thường xuyên nhìn thấy trong một ứng dụng, thường là miễn phí trên các thiết bị di động. Và rất nhiều người sử dụng rất là không thích việc hiển thị này vì những lý do như: nặng máy, tốn tiền internet,... Tuy nhiên tôi xin phép nói rằng các bạn chơi như thế là không đẹp. Vì sao? Vì người ta đã bỏ công sức viết cho bạn ứng dụng miễn phí, thì ít ra bạn cũng có thể ủng hộ người ta hiển thị quảng cáo để họ còn kiếm tiền cơm cháo qua ngày mà tiếp tục làm các ứng dụng khác cho bạn chứ? ^.^
         Chính vì đứng ở phía lập trình viên nên tôi sẽ không tập trung hướng dẫn bạn cách để chặn các admob này. Nếu muốn bạn có thể tham khảo một số link sau để biết cách:
http://www.howtogeek.com/140576/how-to-edit-the-hosts-file-on-android-and-block-web-sites/
http://forum.xda-developers.com/showthread.php?t=1916098
         Bạn nào ngại đọc tiếng Anh thì tôi sẽ có một bài viết hướng dẫn riêng cho bạn sau.
         Ở đây tôi chỉ viết cách để hướng dẫn các bạn remove tính năng Ads block này đi thôi.
         Như bạn đã biết, nguyên tắc của các ứng dụng chặn Admob phổ biến bây giờ là tác động vào tập tin hosts của hệ thống (/system/etc/hosts) bằng cách thêm dòng có cấu trúc như sau:
127.0.0.1 linkshighway.net 
Trong đó 127.0.0.1 là địa chỉ loopback localhost của hệ thống (thuật ngữ này hình như sai ^.^, nhưng ý tôi là thế) và linkshighway.net là địa chỉ cần chặn.

Theo như dòng trên thì bất cứ khi nào thiết bị của người dùng muốn kết nối tới địa chỉ linkshighway.net thì thay vì kết nối thực sự đến nó, thiết bị lại kết nối quay trở lại chính mình và như vậy là màn hình quảng cáo sẽ không hiện ra được.
Nói tới đây thì bạn chắc đã hiểu nguyên tắc để hiện lại quảng cáo rồi nhỉ?
Rất đơn giản, bạn chỉ cần xóa bỏ các dòng có cấu trúc như này trong file hosts đi là được.
Cách làm như sau:
  • Chuyển quyền cho tập tin hosts sang dạng ghi, nếu không bạn sẽ gặp lỗi khi copy đè file gốc.
  • Copy tập tin hosts sang máy tính để sửa nội dung (dĩ nhiên bạn có thể sửa ngay trên máy android nhưng sẽ rất là phiền phức nếu nội dung của file hosts này lên tới hàng ngàn dòng) bằng lệnh:
adb pull /system/etc/hosts F:\hosts
         /system/etc/hosts là vị trí tập tin hosts trên thiết bị android
         F:\hosts là nơi lưu tập tin hosts trên máy tính.
  • Giờ thì bạn xóa hết các dòng kiểu trên đi.
  • Sau đó bạn copy tập tin hosts này quay trở lại thiết bị bằng lệnh:
adb push F:\hosts /system/etc/
Thế là xong.
Chúc bạn thành công.

16 tháng 5, 2014

An toàn với các URL shortener



Ngày nay, việc sử dụng các liên kết dạng rút gọn đang trở nên phổ biến. Thay vì bạn phải cung cấp cho người dùng những url dài ngoằng và phức tạp thì thông qua dịch vụ url shortener này, bạn sẽ có những địa chỉ liên kết ngắn gọn và dễ nhớ. Tuy nhiên đây cũng trở thành công cụ cho kẻ xấu lợi dụng để lừa người dùng.
Với các url shortener, người dùng thông thường sẽ không có cách nào để kiểm tra xem liên kết này có thực sự an toàn hay không và thực sự biết là liên kết này đang dẫn tới đâu (có thể là một trang quảng cáo hoặc đưa bạn tới một liên kết tải phần mềm mã độc,...).
Trong bài viết này, tôi sẽ giúp bạn một số thủ thuật để nhanh chóng xem được thông tin các liên kết này trước khi quyết định có ghé thăm trang gốc thực sự của link hay không.
Dịch vụ bit.ly
Thông thường, các liên kết sử dụng dịch vụ của bit.ly sẽ có dạng http://bit.ly/RbQAC trong đó chuỗi RbQAC là do dịch vụ bit.ly sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm dấu “+” vào cuối link (khi đó link sẽ có dạng http://bit.ly/RbQAC+) và nhấn enter để xem.
Dịch vụ tinyurl.com
Thông thường, các liên kết sử dụng dịch vụ của tinyurl sẽ có dạng tinyurl.com/hmmmplay trong đó chuỗi hmmmplay là do dịch vụ tinyurl sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm cum “preview” vào đầu link (khi đó link sẽ có dạng http://preview.tinyurl.com/hmmmplay) và nhấn enter để xem.
Dịch vụ goo.gl
Thông thường, các liên kết sử dụng dịch vụ của goo.gl sẽ có dạng goo.gl/8wTc trong đó chuỗi 8wTc là do dịch vụ goo.gl sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm dấu “+” hoặc cụm “.info” vào cuối link (khi đó link sẽ có dạng goo.gl/8wTc+ hoặc goo.gl/8wTc.info) và nhấn enter để xem.

13 tháng 5, 2014

DdoS – Distributed denial-of-service attack – Tấn công từ chối dịch vụ phân tán (P1)

Tấn công DdoS là hình thức nhiều máy tính (hệ thống) tổng tấn công vào một mục tiêu nào đó, từ đó gây hiện tượng quá tải cho mục tiêu dẫn tới mục tiêu không thể đáp ứng dịch vụ cho người dùng thông thường. Hay người đọc có thể hiểu nôm na như nhà bạn nằm trong một cái ngõ. Thông thường thì cái ngõ này có khả năng cho phép mười ông ra vào cùng lúc. Tuy nhiên có một nhóm kẻ xấu muốn phá hoại, không cho ai tới thăm nhà bạn cả. Và chung tập trung một nhóm người lại rồi thi nhau đi ra đi vào cái ngõ nhà bạn khiến cho cái ngõ chật cứng và dĩ nhiên lúc đó thì bạn chả còn ông khách chân chính nào đến thăm được nữa.
Vậy DdoS được thực hiện như thế nào?
Ban đầu, kẻ xấu sẽ tân dụng những lỗ hổng của một mạng máy tính nào đó để biến nó thành một “vật chủ chính”, DdoS master. Từ vật chủ này, hay còn được gọi là botmaster, nó sẽ tìm cách lây nhiễm sang cá hệ thống khác bằng cách lợi dụng các lỗ hổng bảo mật thông qua việc phát tán các malware. Bằng cách này, kẻ tấn công có thể ra lệnh cho các máy bị nhiễm tham gia vào cuộc tấn công vào một nạn nhân cụ thể.
Hiện có hai kiểu tấn công DdoS: tấn công mạng trung tâm – network-centric attack – là kiểu tấn công gây quá tải cho một dịch vụ bằng cách chiếm băng thông và kiểu tấn công lớp ứng dụng – application-layer attack – là kiểu tấn công gây quá tải cho một dịch vụ hoặc cơ sở dữ liệu mà ứng dụng của bạn cần sử dụng. Việc gây ngập lụt cho mục tiêu bằng các gói dữ liệu sẽ khiến cho mục tiêu mất đi khả năng đáp ứng. Thông thường, khi xảy ra một cuộc tấn công DdoS chúng ta chỉ tập trung vào nạn nhân trực  tiếp của cuộc tấn công nhưng thực tế nạn nhân của nó lại bao gồm cả hệ thống đang bị điều khiển, mà dân tình mạng gọi chúng bằng cái tên khá thú vị “zombie” hay “bot” và tập hợp này thường được gọi là một “botnet”
Thế bạn có biết Ddos hoạt động như nào hay không?
                Ý tưởng ở đây rất đơn giản. Kẻ tấn công sau khi xác định được mục tiêu sẽ ra lênh cho đội quân “zombie” của mình “liên hệ” với “nạn nhân” theo kiểu hỏi “Ê chủ quán, cho bọn anh làm vài cốc bia nhé?”, thực tế nó chỉ hỏi thế thôi nhưng không thèm mua đâu, chỉ khổ thân ông chủ quán tưởng thật chạy ra chạy vào phục vụ nhiệt tình. Với thao tác này, kẻ tấn công sẽ dần dần hoặc đột ngột gia tăng lượng truy cập vào hệ thống nạn nhân khiến nó bị giảm khả năng phục vụ hoặc thậm chí nghiêm trọng hơn là bị “gục” hoàn toàn. Đây được gọi là Ddos.
                Đôi khi, kẻ tấn công có thể lợi dụng cả các máy bình thường – ta tạm hiểu như một người đi đường ngây thơ không biết gì – tham gia vào cuộc tấn công. Việc này được thực hiện như sau: kẻ tấn công tiến hành gửi một lệnh khởi tạo tấn công tới đội quân zombie của mình; mỗi một tên zombie này sẽ bắt đầu gửi các yêu cầu tới một máy tính thông thường khác, được gọi là các máy “phản xạ”; khi các máy phản xạ này nhận được yêu cầu, chúng lại nghĩ rằng thực ra yêu cầu này là từ máy nạn nhân của cuộc tấn công gửi tới (do các zombie đã đánh lừa chúng) và chúng sẽ hồn nhiên gửi thông tin ngược lại cho nạn nhân. Với cách tấn công này, kẻ tấn công có thể lợi dụng sức mạnh của các máy phản xạ để gây ngập lụt cho mục tiêu của mình. Nếu đứng từ góc nhìn của nạn nhân, thì thực tế nó đang bị tấn công bởi chính các máy phản xạ chứ không phải từ đội quân zombie kia. Còn từ góc nhìn của các máy phản xạ, thì nó là nạn nhân của các truy gói tin truy vấn. Như thế, đội quân zombie kia gần như ẩn mình hoàn toàn trong cuộc tấn công.
Ddos không chừa một ai.
Các nạn nhân của Ddos cũng có xuất hiện một số ông lớn. Ví dụ Microsoft cũng đã từng đón nhận một cuộc tấn công Ddos có tên gọi là MyDoom. Kẻ tấn công thường nhắm tới những hệ thống lớn như Amazone, CNN, Yahoo và eBay. Ddos gây ra những hậu quả từ rất nhẹ cho tới cực kì khủng khiếp:
  • ·         Ping of Death: các máy tấn công sẽ tạo ra một lượng khổng lồ các gói tin và gửi tới nạn nhân.
  • ·         Mailbomb: các máy tấn công gửi một lượng lớn thư điện tử gây nghẽn máy chủ thư.
  • ·         Smurf Attack: các máy tấn công gửi các thông điệp ICMP (Internet Control Message Protocol – Giao thức tin nhắn điều khiển mạng) tới máy chủ phản xạ - reflector.
  • ·         Teardrop: các máy tấn công gử các mảnh dữ liệu bất hợp pháp – hay gọi là dữ liệu lộn xộn, và hệ thống nạn nhân sẽ cố gắng ghép các mảnh này lại thành một gói tin có nghĩa và dẫn tới bị crash – chắc là ghép mãi mà không được nên bị xì troét.
      Một khi đã bị tấn công Ddos, người quản trị chỉ có thể làm một số việc để giảm thiểu hậu quả, ví dụ như giới hạn lưu lượng cho phép đi vào máy chủ của mình, nhưng điều này cũng đồng nghĩa giới hạn cả các kết nối hợp pháp. Nếu người quản trị có thể xác định chính xác nguồn gốc của các máy tấn công cũng có thể tiến hành lọc luồng kết nối từ đó. Thật không may, các máy zombie có thể nằm khắp nơi trên thế giới, do đó không dễ dàng gì để thực hiện việc này.
Vậy kẻ tấn công đã tạo ra các zombie như thế nào? 
      Kẻ tấn công tiến hành biến các máy tính thành các zombie bằng cách sử dụng một chương trình nhỏ để lây nhiễm vào các máy này thông qua các lỗ hổng của hệ điều hành. Thực tế, những tên này không hẳn là những siêu nhân về máy tính mà thường chỉ là những kẻ không có kiến thức và kinh nghiệm lập trình ( thường được gọi là “script kiddies” do đây là những đối tượng có kĩ năng code rất tồi). Một số chuyên gia giám sát các botnet nói rằng đa phần các chương trình do các kiddies này tạo nên thường được làm rất cẩu thả.

     Để lây nhiễm, kẻ tấn công đầu tiên phải cài đặt được ứng dụng của mình vào máy nạn nhân. Các con đường lây nhiễm có thể là qua email, chia sẻ mạng ngang hàng hoặc thậm chí thông qua một website bình thường nào đó đã bị chúng kiểm soát. Phần lớn, kẻ tấn công sẽ tìm cách lừa nạn nhân tự nguyện cài các ứng dụng này lên máy. Ví dụ, bạn đã bao giờ thấy một cửa sổ hiện lên có một nút ghi là “No thanks” chưa? Hi vọng bạn đừng có bấm vào nó nhé – thường các nút này là một cách lừa đấy – Tôi đã từng có một anh bạn nghịch ngợm viết một ứng dụng, khi cài đặt, anh ta ghi rõ ràng lên màn hình một đoạn dài thông báo cho người dùng đây là một ứng dụng virus và người dùng có đồng ý cài không, thế mà nhiều bác vẫn nhắm mắt bấm Yes mới ghê. Như vậy thay vì tắt pop-up này thì bạn đang trực tiếp tải về một phần mềm độc hại.

        Một khi nạn nhân đã tải về ứng dụng, anh ta sẽ kích hoạt nó. Trong phần lớn trường hợp, người ta sẽ nghĩ đây là một ứng dụng gì đó. Có thể nó hiện ra là một tập tin ảnh, một clip hoặc một tập tin gì đó (do cái extension gây ra thôi). Khi nạn nhân mở tập tin này, sẽ chả có gì xảy ra cả. Nếu nạn nhân có cài ứng dụng diệt virus,… thì có thể sẽ nhận được cảnh báo. Không may là, một số người lại nghĩ đây có thể làm một tập tin hỏng nên không cài được và bỏ qua nó.

        Thực tế, chương trình đã tự đính nó vào một nơi nào đó của hệ điều hành để có thể khởi động cùng máy tính mỗi khi nạn nhân bật máy. Để tránh bị phát hiện, kẻ tấn công sẽ không sử dụng cùng một vị trí đặt ứng dụng của mình.

        Ứng dụng này có thể chứa một số câu lệnh để thực hiện một số công việc nào đó vào một thời điểm định trước hoặc cho phép kẻ tấn công điều khiển máy tính nạn nhân. Rất nhiều các ứng dụng dạng này sử dụng IRC (Internet Relay Chat), và thực tế có các cộng đồng botnet sử dụng mạng IRC để hỗ trợ nhau hoặc để chiếm các botnet của nhau.
                Và một khi đã bị nhiễm, các máy nạn nhân sẽ được kẻ tấn công mặc sức dày vò – tự do làm bất cứ điều gì hắn muốn. Đa phần kẻ tấn công sẽ chờ đợi khi người dùng bất cẩn nếu không hắn sẽ khiến người dùng phát hiện và hắn sẽ mất đi một chiến binh trong đội quân của mình.
[Trong phần tiếp theo tôi sẽ đề cập tới mối quan hệ giữa máy zombie và việc phát tán rác ]

07 tháng 5, 2014

Cơ bản về tường lửa trên Linux với Iptables

Bài viết này mình chỉ tập trung vào một số kiến thức cơ bản về tường lửa trên Linux với ứng dụng Iptables.
Trước khi đi vào bài viết, có một số note trước khi bắt đầu bạn cần lưu ý:
  • Nguyên tắc áp dụng luật trên Iptables: áp dụng theo thứ tự từ trên xuống, nếu không tìm thấy luật nào thì chuyển sang dòng tiếp theo, nếu khớp với một luật thì iptables sẽ áp dụng luật đó và ngừng kiểm tra dòng tiếp theo.
  • Để sao lưu các luật trong iptables ta dùng lệnh service iptables save, tập tin sao lưu mặc định sẽ nằm ở /etc/sysconfig/iptables.
  • Để khôi phục các luật trong iptables ta dùng lệnh  iptables-restore < /etc/sysconfig/iptables.
Bây giờ ta bắt đầu đi vào tìm hiểu.
Iptables bao gồm 3 tập tin là:
  • /etc/init.d/iptables – là kịch bản điều kiển bao gồm start|stop|restart và save.
  • /etc/sysconfig/iptables – Vị trí sao lưu luật.
  • /sbin/iptables – ứng dụng chạy.
Iptables bao gồm 3 bảng:
  • Filter
  • NAT
  • Mangle
Hiện tại, iptables bao gồm 4 chain:
  • INPUT: dành cho các luồng đi vào hệ thống
  • OUTPUT: dành cho các luồng đi ra từ hệ thống
  • FORWARD: dành cho các luồng đi qua hệ thống từ các giao diện khác (?)
  • RH-Firewall-1-INPUT: luồng do người dùng tự định nghĩa.
Lưu ý: Các thông tin ở trên có thể hơi khác biệt trên các phiên bản hệ điều hành khác nhau.
Để bật, tắt hoặc khởi động lại iptables ta dùng các lệnh như sau:
# /etc/init.d/iptables start 
# /etc/init.d/iptables stop
# /etc/init.d/iptables restart
Để yêu cầu mỗi khi khởi động lại hệ điều hành, iptables tự động được bật ta chạy lệnh sau:
#chkconfig --level 345 iptables on
Để sao lưu các luật trong iptables ta dùng lệnh sau:
#service iptables save
Mặc định dữ liệu sau lưu sẽ nằm tại /etc/sysconfig/iptables. Dữ liệu này có thể dùng để phục hồi lại cho iptables sau này.
Để kiểm tra trạng thái của iptables ta dùng lệnh sau, với -L là liệt kê danh sách luật, -n là hiển thị dưới dạng số, -v là hiển thị chi tiết:
[root@tecmint ~]# iptables -L -n -v

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    6   396 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 5 packets, 588 bytes)
 pkts bytes target     prot opt in     out     source               destination
Để thêm các đánh dấu dòng khi hiển thị trạng thái của iptables ta dùng thêm tùy chọn --line-numbers. Với tham số này ta có thể sử dụng số dòng để thêm, bớt hoặc xoá các luật chỉ định.
[root@tecmint ~]# iptables -n -L -v --line-numbers

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       51  4080 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 45 packets, 5384 bytes)
num   pkts bytes target     prot opt in     out     source               destination
Để xóa toàn bộ luật trong iptables ta dùng lệnh sau:
[root@tecmint ~]# iptables -F
 Xóa hoặc chèn thêm một luật. Trước tiên ta cần phải hiểu sơ qua các luật trong iptables. Lênh dưới đây sẽ hiển thị tất cả các luật trong INPUT, OUTPUT của iptables, các thông số này sẽ giúp ta có thể dễ dàng xóa hoặc thêm các luật mới:
[root@tecmint ~]# iptables -L INPUT -n --line-numbers

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

[root@tecmint ~]# iptables -L OUTPUT -n --line-numbers
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
Giả sử ta muốn xóa luật thứ 5 trong INPUT, ta phải nhập lệnh sau:
[root@tecmint ~]# iptables -D INPUT 5

Giả sử ta muốn thêm một luật vào giữa luật số 4 và 5 của INPUT ta dùng lệnh sau:
[root@tecmint ~]# iptables -I INPUT 5 -s ipaddress -j DROP
Trên đây là những kiến thức cơ bản với iptables. Để có thể hiểu thêm chi tiết về Iptables tôi sẽ mạn phép trình bày ở một bài viết khác.

27 tháng 4, 2014

Cách loại bỏ trojan "Distributed computing Experiment" - Một trojan đào bitcoin

Trước hết xin giới thiệu sơ lược về loại Trojan này.
"Distributed computing Experment" là một trong những trojan được tạo ra để phục vụ cho mục đích đào bitcoin của kẻ xấu, tương tự như RiskTool.Win32.BitCoinMiner.
Để biết máy bạn có nhiễm Trojan này hay không, bạn chỉ cần truy cập vào Control Panel --> Add or Remove Programs và tìm sẽ thấy có một ứng dụng có tên là "Distributed computing experiment", và bạn không thể Uninstall ứng dụng này được. Ghê không? Kể từ giờ máy bạn sẽ được tham gia vào một nhóm "những kẻ đào bitcoin điên cuồng nhé" :)) Thường thì khi phát tán Trojan này, kẻ xấu đưa máy bạn tham gia vào một mạng botnet đào bitcoin nhằm mục đích trục lợi (có thể hoặc không, máy bạn sẽ bị vắt kiệt sức để tham gia hoạt động này do công việc đào bitcoin cực kì tiêu tốn tài nguyên của máy)
Đùa thôi. Giờ ta phải tìm cách Remove nó thôi nhỉ? Bạn làm theo các bước sau:
1. Mở Task Manager  và tìm đến ứng dụng có tên dce.exe và End process nó nhé.
2. Truy cập vào C:\Program Files\, tìm và xóa thư mục có tên là DCE.
3. Bạn vào Run, gõ regedit để truy cập Windows Registry
4. Trong Windows Registry bạn tìm tới khóa sau:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\currentversion\Uninstall
5. Trong HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\currentversion\Uninstall, hãy tìm tới khóa có tên là Disturbed Computing Experiment và xóa nó đi.


6. Giờ bạn quay lại Control Panel --> Add or Remove Programs và Remove ứng dụng Distributed computing experiment" đi là được.
7. Hãy dùng một chương trình quét virus để quét lại máy cho chắc nhé.
Tham khảo thêm tại: http://deletemalware.blogspot.com/2014/01/remove-distributed-computing-experiment.html

11 tháng 4, 2014

Cách sửa lỗi HeartBleed trên ubuntu 12.04 LTS

Ở đây tôi chỉ hướng dẫn các bạn fix lỗi này trên hệ điều hành Ubuntu 12.04 LTS server mà không gây ảnh hưởng tới các dịch vụ đang chạy (các hệ điều hành khác cũng tương tự, bạn nào cần biết thêm thì liên hệ tôi theo email dalmate@live.com tôi sẽ hướng dẫn thêm)
Trước hết bạn cần kiểm tra xem server của bạn có bị dính lỗi này hay không tại địa chỉ này:
http://filippo.io/Heartbleed
Nếu server của bạn bị nhiễm thì lần lượt làm theo các bước sau;
Kiểm tra lại xem server có còn bị lỗi hay không tại địa chỉ ở trên.
Lưu ý: các bước này đã được xác thực là không gây ảnh hưởng tới các dịch vụ đang chạy nhé.