Lệnh grep / etc / bóng lạ xuất hiện trong logwatch của tôi


7

Tôi đang thấy mục này trong đầu ra logwatch hàng ngày của tôi, phần sudo:

/bin/grep -E ^pi: /etc/shadow

Tôi có nên quan tâm không? Tôi chắc chắn đã không chạy lệnh này cho mình.


Nó xảy ra vào cùng một thời điểm mỗi ngày? Điều gì khác xảy ra cùng một lúc? Bạn có thể grep các bản ghi của mình và trả về các bản ghi xung quanh bằng cách sử dụng tùy chọn -C (ví dụ: grep -C 3 / bin / grep -E ^ pi: / etc / Shadow /var/log/auth.log - hoặc / var / log / syslog)
Steve Robillard

Câu trả lời:


9

Đây là dấu vết của một tập lệnh mặc định (được giới thiệu trong bản phát hành Raspbian tháng 11 năm 2016) để kiểm tra xem bạn có thay đổi mật khẩu cho người dùng hay không pi.

Tập lệnh được lưu trữ /etc/profile.d/sshpasswd.shvà hiển thị cảnh báo nếu SSH deamon được bật, nhưng mật khẩu cho pingười dùng không bị thay đổi so với mặc định ( raspberry). Nó được gọi trên mỗi lần đăng nhập.

Kịch bản ở dạng ban đầu:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

Trong Raspbian Stretch, tập lệnh đã được thay đổi thành một lần kiểm tra sự tồn tại của /run/sshwarntệp (mặt khác, được tạo / xóa khi khởi động). Nó không kiểm tra /etc/shadowmỗi lần đăng nhập, nhưng mặt khác, nếu ai đó sử dụng một công cụ tự động để thay đổi mật khẩu, họ cũng cần xóa tệp một cách rõ ràng hoặc khởi động lại máy:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi

2

Tôi có nên quan tâm không?

Điều đó phụ thuộc vào những gì bạn có nghĩa là "quan tâm". Nếu bạn có ý nghĩa, có động lực để thực hiện một số loại kiểm toán kỹ lưỡng hơn để xác định quá trình nào chịu trách nhiệm cho việc này, thì chắc chắn, tại sao không. Tuy nhiên, nếu bạn không có phương tiện sẵn sàng để làm điều đó, thì tôi đoán nó phụ thuộc vào việc bạn có động lực tìm và sử dụng nó như thế nào (có thể thêm vào "Đây là những gì tôi đã làm vào thứ bảy / cuối tuần / đầu tiên tuần của tháng 12 ... "); Tôi sẽ không bận tâm trừ khi đó là điều bạn quan tâm vì những lý do rộng lớn hơn.

Một vài điểm cần xem xét:

  • Đây chỉ là một thông tin đặc quyền được đọc bởi một quá trình rõ ràng là có đặc quyền. Điều đó không nhất thiết làm cho nó độc hại.
  • Thông tin được truy cập khá trần tục (xem man 5 shadowvà lưu ý rằng quyền truy cập vào "mật khẩu được mã hóa" không phải là quyền truy cập vào mật khẩu; mật khẩu không thực sự được lưu trữ ở bất cứ đâu, chỉ là hàm băm một chiều , không hữu ích ngoại trừ để xác minh).
  • Nếu ai đó muốn lén lút làm việc này, thì không. Tuy nhiên, điều đó không nhất thiết có nghĩa là nó không phải là một phần của thứ gì đó độc hại.

Tôi đoán là từ một số kịch bản cụ thể vô tội nhưng pi. Raspbian là không bình thường trong siêu cường không giới hạn nó cung cấp một người sử dụng thường xuyên, 1 nên phương pháp này (grepping /etc/shadowqua sudo) sẽ là vô nghĩa trên hầu hết các hệ thống GNU / Linux. Nếu quy trình chịu trách nhiệm cần phải làm điều này, thì thông thường nó sẽ được chạy như một quy trình với UID không cần sử dụng sudo, do đó rất có thể nó được viết bởi một người biết Raspbian được kết hợp như thế nào (chẳng hạn như ai đó chịu trách nhiệm cho một phần nào đó của phần mềm cụ thể Raspbian).

Không khó để tưởng tượng "không vô tội" ở đây nữa, nhưng bạn cũng có thể suy đoán về điều đó mà không có điều này, tức là không có bằng chứng nào cả. Nếu ai đó ra ngoài để gây ra nghịch ngợm, không có gì về việc đọc /etc/shadow chỉ ra điều đó theo định nghĩa. Có thể lập luận rằng không có nhiều mục đích trong việc hạn chế quyền truy cập đọc vào tệp đó.


1. Kinh khủng, sai lầm, vô lý. Một trong những điều đầu tiên tôi làm với bản cài đặt Raspbian (đôi khi, trước cả khi tôi khởi động nó lần đầu tiên) là loại bỏ pihoàn toàn người dùng và loại bỏ hầu hết cơn ác mộng /etc/sudoers.


Vâng, tại sao họ lại bận tâm tạo một pingười dùng và sau đó cung cấp cho họ nhiều năng lượng như root- nó an toàn hơn nhiều (và đối với người dùng PC * nix đơn giản hơn nhiều) để tạo một tài khoản người dùng có cùng tên người dùng mà họ sử dụng (Các) hệ thống PC ... và ghi chú của bạn nhắc tôi kiểm tra xem Foundation đã làm gì với sudocấu hình!
SlySven
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.