Làm cách nào để theo dõi thông tin đăng nhập vào Chia sẻ màn hình và SSH?


1

Không tin tưởng bất cứ ai, kể cả tường lửa của riêng tôi và các biện pháp khác chống lại tin tặc xâm lấn, tôi muốn có thể theo dõi bất kỳ thông tin đăng nhập thành công nào vào hệ thống OS X của mình ngay lập tức gửi email đến tài khoản gmail của tôi).

Làm cách nào để thực hiện việc này, bao gồm đăng nhập thông qua Chia sẻ màn hình và SSH?

Tôi có thể thấy rằng tệp safe.log liệt kê các thông tin đăng nhập như vậy, nhưng làm cách nào để theo dõi chúng và lọc chúng để đăng nhập thành công, để phát hành email về các sự kiện này?

Người dùng bmike đã đề xuất sử dụng lệnh tail trên tệp safe.log. Tôi thấy rằng lệnh này có một tùy chọn "-F" rất phù hợp cho nhiệm vụ này: Tôi tiếp tục báo cáo các dòng được thêm vào tệp nhật ký và thậm chí xử lý xoay vòng tệp nhật ký.

Nhưng điều này là không đủ cho nhu cầu của tôi. Tôi chỉ muốn gửi thông báo nếu xảy ra truy cập bên ngoài (đăng nhập), không phải mỗi khi một tác vụ cục bộ được ủy quyền.

Đây là một đoạn trích từ tệp Secure.log của tôi:

mymac login[26292]: in pam_sm_acct_mgmt(): OpenDirectory - Membership cache TTL set to 1800.
mymac login[26292]: in od_record_check_pwpolicy(): retval: 0
mymac login[26292]: in od_record_attribute_create_cfstring(): returned 3 attributes for dsAttrTypeStandard:AuthenticationAuthority
mymac sudo[26296]:    myname : 3 incorrect password attempts ; TTY=ttys005 ; PWD=/Users/myname ; USER=root ; COMMAND=/bin/bash
mymac sudo[26301]:    myname : TTY=ttys005 ; PWD=/Users/myname ; USER=root ; COMMAND=/bin/bash
mymac com.apple.SecurityServer[27]: Succeeded authorizing right 'system.hdd.smart' by client '/Library/Application Support/iStat local/iStatLocalDaemon' [133] for authorization created by '/Library/Application Support/iStat local/iStatLocalDaemon' [133]
mymac sshd[26308]: Accepted publickey for myname from x.x.x.x port 62433 ssh2
mymac screensharingd[26328]: Authentication: SUCCEEDED :: User Name: John Doe :: Viewer Address: x.x.x.x :: Type: DH

Chỉ những cái "Screensharingd" và "sshd" có liên quan đến tôi trong ví dụ này. Nhưng dường như không có sự phân biệt rõ ràng giữa những điều này và các ủy quyền địa phương khác. Mẫu phổ biến duy nhất tôi tìm thấy là địa chỉ IP, nhưng điều đó có an toàn không? Tôi đoán để làm cho tập lệnh của tôi thường có thể sử dụng được (bởi bất kỳ ai), tôi không chỉ phải phát hiện địa chỉ IPv4 mà cả địa chỉ IPv6. Và tôi có thể chắc chắn rằng các loại thông tin đăng nhập bên ngoài khác (ví dụ: chia sẻ tệp) cũng sẽ liệt kê một địa chỉ IP ở định dạng thô như thế này không? Không bao giờ sử dụng tên tượng trưng mà tôi sẽ không thể phát hiện với mẫu này?

Trên thực tế, tôi cũng đã đăng nhập thông qua Chia sẻ tệp (AFP) - điều đó thậm chí còn không được liệt kê trong safe.log, thật kỳ lạ! Điều đó có nghĩa là safe.log có lẽ không phải là điểm duy nhất hoặc không phải là điểm trung tâm của việc tìm hiểu về ủy quyền.

Tôi đã hy vọng rằng có một số điểm trung tâm trong OSX chăm sóc tất cả các ủy quyền tên người dùng / mật khẩu và điểm này cũng sẽ cung cấp một số móc để theo dõi.

Tôi sợ câu hỏi của tôi không thể được trả lời đầy đủ theo cách chung chung. Tôi sẽ đi ngay bây giờ và hỏi về danh sách gửi thư bảo mật của Apple. Tôi sẽ báo cáo lại.

Lý lịch:

Lý do của tôi cho loại câu hỏi này là tôi nghĩ rằng không có hệ thống nào an toàn khi đột nhập. Do đó, dựa vào các biện pháp để ngăn chặn đột nhập không phải là một biện pháp an toàn. Thêm thông báo (bên ngoài) về thời điểm đăng nhập vào hệ thống xảy ra là điều giúp kiểm soát tốt hơn nhiều: Nếu ai đó quản lý để xâm nhập, anh ta sẽ bị phát hiện bởi phương thức này và do đó hệ thống được biết là không còn đáng tin nữa và sẽ bị xử lý. Nếu không có loại giám sát này, ai đó có thể đột nhập và sau đó sửa đổi hệ thống thành điểm mà sau đó ai đó sẽ không thể biết được chuyện gì đã xảy ra, giả sử hệ thống vẫn an toàn.

Câu trả lời:


2

Có - nó sẽ hiệu quả hơn để tail -f tệp nhật ký để tập lệnh của bạn chỉ phải phân tích từng dòng trong tệp một lần thay vì một lần cho mỗi khoảng.

Tất nhiên, sau đó bạn vẫn cần phải viết và kiểm tra mã để theo dõi thời gian khi logfile được xoay và có thể kiểm tra lại khi bạn không bỏ lỡ một sự kiện nào bằng cách quét toàn bộ tệp mới một lần khi bạn đính kèm vào tệp đó.

Điều tốt nhất là sự đánh đổi giữa mức độ thoải mái và kỹ năng của bạn. MIT cũng có ý nghĩa để đánh hơi lưu lượng mạng vì chia sẻ màn hình nghe trên các cổng đã biết hoặc bạn có thể theo dõi các quy trình mới nghe trên các cổng mới hoặc bạn có thể bật kiểm tra quy trình và theo dõi các nhật ký đó hoặc bạn có thể phân tích bảng quy trình. Có rất nhiều cách để da mèo này.


Chính xác, phải đối phó với các bản ghi xoay có nghĩa là tôi phải giữ bản ghi của riêng mình về những gì tôi thấy cuối cùng để tìm ra những gì đã được thêm vào. Và nó vẫn đòi hỏi bỏ phiếu, điều mà tôi thấy khá kém hiệu quả. Tôi nghĩ rằng có một số cách thông minh hơn. Phải có một số hệ thống thông báo cho loại công cụ này trong Unix, phải không?
Thomas Tempelmann

Sử dụng đuôi không bỏ phiếu, nếu bằng cách bỏ phiếu, bạn cho rằng điều đó có nghĩa là kiểm tra theo các khoảng thời gian (mà tôi nghĩ bạn làm). Sử dụng một quá trình chạy trong nền và đuôi tệp nhật ký sẽ dẫn đến báo cáo tức thời một khi các điều kiện grep / sed / awk / tìm kiếm được khớp, và do đó theo yêu cầu của bạn, báo cáo sẽ diễn ra trước khi tập lệnh có thể bị dừng sửa đổi.
stuffe

Vâng, về mặt kỹ thuật đó là bỏ phiếu vì người ta cứ tìm kiếm những thay đổi trong khoảng thời gian. Những gì tôi đang tìm kiếm là một hệ thống thông báo. Nếu điều đó không tồn tại trong OSX hoặc Unix, thì tốt thôi, nhưng cho đến nay vẫn chưa có ai nói như vậy.
Thomas Tempelmann

Sau đó, câu hỏi của bạn có thể cần rõ ràng hơn, @bmike và tôi đều đọc nó có nghĩa là bạn cần trợ giúp trong việc nắm bắt hành động theo cách không phải là một kịch bản thăm dò ý kiến. Nhận xét này cho thấy bạn ổn với điều đó, nhưng cần trợ giúp để thực hiện hành động thông báo (một đường dẫn đơn giản của tập lệnh của bạn đến chương trình thư dòng lệnh như mailx ví dụ sẽ làm việc). Để rõ ràng, không có khoảng cách nào trong việc giám sát logfile qua đuôi, đó là tức thời, đó là giám sát trực tiếp, không bỏ phiếu.
stuffe

Ồ, bây giờ tôi hiểu rồi! "Đuôi" có tùy chọn "-F", thậm chí có thể phát hiện các vòng quay nhật ký! Làm thế nào tôi phải biết? Tôi là một lập trình viên hệ thống, không phải là người dùng shell! ;) Nhưng nếu bmike đã nghĩ đến tùy chọn "-F", tại sao anh ta viết rằng tôi vẫn cần xử lý xoay vòng nhật ký, vì có vẻ như tôi không biết. Tui bỏ lỡ điều gì vậy?
Thomas Tempelmann

0

Nếu bạn đã tìm ra cách khai thác thông tin từ nhật ký, thì cách đơn giản để làm cho nó chỉ chạy khi được yêu cầu thay vì bỏ phiếu mỗi ngày / giờ, v.v. là thêm tập lệnh dưới dạng hành động đăng nhập cho người dùng đang nghi vấn . Yêu cầu họ diễn giải các bản ghi, tìm ra nếu đó là thông tin đăng nhập cục bộ hoặc từ xa và gửi email (hoặc imessage, v.v.) một cách thích hợp.


Bỏ phiếu trong khoảng thời gian dài như hàng giờ không "an toàn", bởi vì nếu ai đó xâm nhập vào hệ thống của tôi, thì anh ta có thể dừng tập lệnh của tôi trước khi nó có thể thông báo cho tôi.
Thomas Tempelmann

Đó là lý do tại sao tôi khuyên bạn nên chạy nó dưới dạng hành động đăng nhập và không bỏ phiếu - sau đó nó chạy và hoàn thành trước khi người dùng có thể sửa đổi quy trình.
stuffe

một hành động đăng nhập? Bạn có nghĩa là một chương trình đang chạy trong Mục đăng nhập trong Tùy chọn hệ thống? Điều đó không làm việc cả. Không cho đăng nhập ssh cũng không cho Chia sẻ màn hình. Nếu bạn không có ý đó, xin hãy nói rõ hơn ý của bạn.
Thomas Tempelmann

Ý tôi là, nếu nó không hoạt động thì bạn có chắc rằng các quyền liên quan và những thứ đó được đặt chính xác không? Có phải nó đang làm việc trên một đăng nhập cục bộ, hoặc chỉ thất bại trên những cái từ xa?
stuffe

Tôi có thể tôn trọng yêu cầu bạn giảm bớt thái độ hung hăng của bạn. Chúng tôi đang cố gắng giúp đỡ. Có một thế giới khác biệt giữa một mục đăng nhập "hoàn toàn không hoạt động" "dù sao cũng không hoạt động" . Nếu bạn không thích câu trả lời của tôi, hãy bỏ phiếu xuống.
stuffe
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.