User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 8 của 8

Chủ đề: Sudo trên *nix - con dao 2 lưỡi???

  1. #1
    [ -~] Avatar của bino1810
    Tham gia ngày
    Mar 2012
    Bài gửi
    424

    Mặc định Sudo trên *nix - con dao 2 lưỡi???

    Hẳn ai từng sử dụng Linux cũng như các hệ điều hành họ *nix đều ít nhất 1 lần đã su <command> (sudo trong Ubuntu).Nhưng có lẽ không phải ai cũng hiểu hết về những nguy hiểm mà su gây ra cho hệ thống của bạn.Sau đây xin chia sẻ với anh em bài viết khá hay về sudo,link gốc: http://www.hvaonline.net/hvaonline/r...tem/102317.hva


    *******************************


    Sudo, một phương tiện cần thiết để giới hạn người dùng bình thường có quyền thực thi các công tác đòi hỏi chủ quyền root. Trích từ man sudo:

    sudo allows a permitted user to execute a command as the superuser or another user, as speci-
    fied in the sudoers file. The real and effective uid and gid are set to match those of the
    target user as specified in the passwd file and the group vector is initialized based on the
    group file (unless the -P option was specified). If the invoking user is root or if the tar-
    get user is the same as the invoking user, no password is required. Otherwise, sudo requires
    that users authenticate themselves with a password by default (NOTE: in the default configu-
    ration this is the user's password, not the root password). Once a user has been authenti-
    cated, a timestamp is updated and the user may then use sudo without a password for a short
    period of time (5 minutes unless overridden in sudoers).

    Tạm dịch:
    sudo cho phép người dùng thực thi một lệnh nào đó với quyền superuser hoặc quyền của một người khác như đã ấn định trong hồ sơ sudosers. Giá trị thật sự và xác thực uid (user id) và gid (group id) được gán với mục tiêu user như đã ấn định trong hồ sơ passwd và thành phần nhóm được ứng động dựa trên hồ sơ group (ngoại trừ chọn lựa -P được dùng). Nếu người thực thi (sudo) là root hoặc nếu chủ quyền thực thi của mục tiêu cũng là người thực thi thì sẽ không đòi hỏi mật khẩu. Ngoài ra, sudo đòi hỏi người dùng xác thực danh tánh của họ bằng mật khẩu theo mặc định (LƯU Ý: trong cấu hình mặc định, đây là mật khẩu của người dùng chớ không phải là mật khẩu của root). Sau khi người dùng đã được xác thực, giá trị dấu ấn thời gian được cập nhật và người dùng có thể sử dụng sudo mà không cần phải cung cấp mật khẩu trong một khoảng thời gian ngắn (5 phút theo mặc định ngoại trừ đã được chỉnh sửa trong sudoers).


    Tại sao phải cẩn thận? sudo chỉ giới hạn người dùng được quyền chạy một số lệnh nhất định nào đó, thường là để thực thi các lệnh đòi hỏi chủ quyền root. Ví dụ muốn khởi động apache thì phải chạy bằng root vì để thiết lập cổng 80 (thuộc dãy "privilege ports" cần phải là root). Thông thường một script start apache có nhiều thứ trong đó nhưng cốt lõi là:

    Code:


    #!/bin/sh

    ......

    /usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf -k start

    Nếu như script này cho phép người dùng chỉnh sửa (do gán quyền sai, hoặc do script này được người dùng bình thường tạo ra và làm chủ và admin chỉ đưa nó vào danh sách được quyền thực thi bằng sudo mà không xét cẩn thận) thì hậu quả rất nguy hại. Nếu người dùng chỉ cần thay đổi 1 điểm nhỏ trong cái script như sau:

    Code:


    #!/bin/sh

    su -

    ......

    /usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf -k start
    thì thay vì chỉ thực thi công tác khởi động apache, user đã có hoàn toàn chủ quyền root trên shell.

    Demo:

    Giả sử tôi có 1 cái script đơn giản và ngốc nghếch như sau:

    $ cat test.sh
    Code:


    #!/bin/bash

    echo "me @ `hostname`"

    Khi chạy nó bằng sudo:

    $ sudo ./test.sh, tôi có kết quả:
    me @ home

    Thử xem tôi có chủ quyền gì:
    $ whoami

    conmale

    Thử xem một lần nữa bằng cách khác cho chắc ăn:
    $ id

    uid=500(conmale) gid=500(conmale) groups=500(conmale) context=system_u:system_r:initrc_t


    Giả sử tôi có thể điều chỉnh file test.sh ở trên và chèn dòng su - vào:
    $ cat test.sh
    Code:


    #!/bin/bash

    echo "me @ `hostname`"

    su -


    Sau đó tôi thực thi:
    [conmale@home ~]$ sudo ./test.sh
    me @ home
    [root@home ~]#

    thêm 1 dòng màu xanh ở trên trên console sau khi thực thi lệnh trên. Từ dấu nhắp $ biến thành #, trông có vẻ bất thường. Tôi thử:

    [root@home ~]# whoami
    root

    Thử thêm một lần nữa cho chắc:
    [root@home ~]# id
    uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(di sk),10(wheel) context=root:system_r:unconfined_t

    Tôi không bàn cụ thể việc thiết lập và điều chỉnh sudoers thế nào ở đây mà chỉ muốn nhắc:

    1) khi đưa một account hoặc nhóm account vào sudoers, phải xét thật kỹ các account đó là gì và lý do tại sao chúng được phép sudo.
    2) ấn định cụ thể từng lệnh được quyền chạy sudo và điều tra kỹ lưỡng nội dung của chúng.
    3) scripts và binaries được chạy xuyên qua sudo luôn luôn chỉ ở chế độ executable và không được ấn định quyền write.

    Bài này tôi viết một cách ngắn gọn như một dạng thủ thuật vì vừa "thừa hưởng" một đống máy chủ, thiết bị... từ một bộ phận khác và trên 80% bị rơi vào lỗi chết người này.

    PS:không biết nên post vào mục hệ điều hành hay bảo mật,nếu post sai mong mod chuyển lại đúng box thích hợp
    SVBK.VN Kết nối bạn bè - Bách Khoa tụ hội

  2. Tớ cảm ơn bino1810 đã chia sẻ.


  3. #2
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    Đọc qua nhưng chưa ngấm, chắc phải từ từ mới hiểu được
    Contact me:
    Email: sangnd [at] svBK.vn
    Personal website: My Blog | Chat với người lạ
    Facebook Page của Bách Khoa Forum: http://www.facebook.com/svbk.vn

  4. #3
    HUT's Engineer
    Tham gia ngày
    Jun 2011
    Bài gửi
    686

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    xời, có gì đâu, sudo chỉ cho những chú gà linux,
    phải dùng lệnh sudoku bảo mật hơn

  5. Tớ cảm ơn pkthanh92 đã chia sẻ.


  6. #4
    NV xóa quảng cáo - Spam Avatar của lampsea12
    Tham gia ngày
    May 2011
    Bài gửi
    577

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    Quote Nguyên văn bởi pkthanh92 Xem bài viết
    xời, có gì đâu, sudo chỉ cho những chú gà linux,
    phải dùng lệnh sudoku bảo mật hơn
    Thank viết một bài về sudoku đê
    A true Blue......

  7. #5
    [ -~] Avatar của bino1810
    Tham gia ngày
    Mar 2012
    Bài gửi
    424

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    Quote Nguyên văn bởi 1973 Xem bài viết
    Đọc qua nhưng chưa ngấm, chắc phải từ từ mới hiểu được
    Táy máy thử đi bác làm trên con máy ảo thôi em làm trên CentOS,cảm giác "fer" lắm

  8. #6
    svBK's Member Avatar của saobekolak
    Tham gia ngày
    Nov 2009
    Bài gửi
    78

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    Quote Nguyên văn bởi pkthanh92 Xem bài viết
    xời, có gì đâu, sudo chỉ cho những chú gà linux,
    phải dùng lệnh sudoku bảo mật hơn
    tưởng chơi lệnh judo, karatedo, taekwondo... an toàn hơn
    Keng!!! Đại học Bách Khoa Hà Nội - Trường Đại học kỹ thuật hàng đầu Việt Nam

  9. #7
    Tội Nhân Thiên Cổ Avatar của Thiên Tình Hận
    Tham gia ngày
    Jan 2009
    Bài gửi
    2.228

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    bị gài su - vào câu lệnh thực thi thì chuyển sang root là vấn đề hoàn toàn không có gì mới lạ.
    This I Love - Guns N' Roses

    http://x3xx3x4.googlepages.com/Hacked.gif

    contact me:
    Y!M : no1gun_n_roses
    Mobile: null
    Blog: http://aDungz.wordpress.com

  10. #8
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Sudo trên *nix - con dao 2 lưỡi???

    Quote Nguyên văn bởi Thiên Tình Hận Xem bài viết
    bị gài su - vào câu lệnh thực thi thì chuyển sang root là vấn đề hoàn toàn không có gì mới lạ.
    Bị gài thì có sao? Nếu một người quản trị không thật sự hiểu rõ những gì mình đang làm thì cái gì cũng nguy hiểm thôi chứ không cần phải đến sudo.

+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube