root bị khóa khỏi EC2


8

Tôi đang trong quá trình vô hiệu hóa đăng nhập gốc trên phiên bản AWS EC2. Ngay sau khi cài đặt PermitRootLogin no và khởi động lại sshd, tôi đã đóng thiết bị đầu cuối một cách tình cờ - trước khi thiết lập người dùng với các đặc quyền sudo. Kết quả là khóa của tôi để vào cá thể vì root không hoạt động (sshd cấm nó) và khi tôi đăng nhập vào cá thể bằng người dùng thông thường, tôi không thể có được quyền root (mật khẩu gốc không bao giờ được đặt). Ví dụ đang chạy Ubuntu 8.10. Bất cứ ai có bất kỳ ý tưởng làm thế nào tôi có thể sửa chữa điều này?

Câu trả lời:


9

Không, đừng chấm dứt cá thể, tất cả không bị mất !!

  1. khởi động một thể hiện khác và tắt các thể hiện xấu.
  2. tách âm lượng EBS khỏi thể hiện xấu và gắn nó vào thể hiện mới.
  3. Gắn kết nó trong trường hợp mới (nghĩa là, một cái gì đó như sudo mount / dev / xvdf1 / mnt /)
  4. chroot vào nó (sudo chroot / mnt) và gõ passwd.
  5. đặt lại mật khẩu hoặc thực hiện bất kỳ thay đổi nào bạn muốn (ví dụ: vi / etc / ssh / sshd_config!)
  6. Nhấn control-D hoặc gõ exit để thoát chroot.
  7. umount / mnt
  8. tách khối lượng EBS khỏi ví dụ tạm thời của bạn
  9. đính kèm lại hoặc chụp nhanh và tạo AMI mới dựa trên ảnh chụp nhanh đó
  10. Khởi động hộp cố định sao lưu!

Lần tới PS hãy thử Userify để quản lý khóa của người dùng của bạn :)


1
Lưu ý: điều này sẽ không hoạt động nếu bạn khởi chạy phiên bản từ thị trường AWS (những trường hợp đó không thể có khối lượng gốc được gắn ở nơi khác). Điều này bao gồm các phân phối nguồn mở nhất định như CentOS.
fatal_error

3

Không tìm thấy lỗ hổng, cách duy nhất để có quyền truy cập root trên máy Linux là khởi động vào chế độ người dùng và đặt lại mật khẩu. Tuy nhiên, bạn không có quyền truy cập cấp KVM trên phiên bản EC2, vì vậy điều này là không thể.

Bạn sẽ cần chấm dứt thể hiện EC2 đó và khởi chạy một thể hiện khác. Nhưng việc vô hiệu hóa đăng nhập gốc là trái với mô hình chung tại EC2. Amazon đề nghị bạn cung cấp khóa công khai tại thời điểm khởi chạy cá thể và cài đặt tập lệnh init vào /root/.ssh/authorized_keys, với sshd được định cấu hình 'PermitRootLogin không có mật khẩu' để chỉ đăng nhập khóa. Bằng cách này, bạn không bao giờ có thể vô tình tự khóa tài khoản gốc của mình (miễn là bạn không bị mất khóa riêng tư).

Trong tương lai, tôi khuyên bạn nên tạo một người dùng có quyền truy cập sudo và sau đó bắt đầu phiên 'màn hình' ngay khi bạn đăng nhập để việc ngắt kết nối sẽ không dừng / phá vỡ công việc của bạn. Sau khi bạn định cấu hình và cài đặt ứng dụng của mình, hãy gói, tải lên và gói AMI của bạn để bạn có thể khởi chạy các phiên bản mới khi được yêu cầu.


+1 cho đề xuất màn hình, mặc dù tôi thích tmux hơn .
h0tw1r3

Giải pháp bên dưới - gắn khối lượng EBS sẽ hoạt động trong trường hợp này - giả sử trường hợp đó có EBS.
AliGibbs

1

Bạn có lưu AMI với bất kỳ thay đổi nào bạn đã thực hiện cho cá thể của mình trước khi bạn tắt thông tin đăng nhập gốc không? Nếu không, bạn sẽ phải quay lại AMI cơ sở mà bạn đã bắt đầu và tạo một thể hiện EC2 mới.


-1

Một cách để làm điều đó là tìm các lỗ hổng cục bộ trong hệ thống của bạn, thứ có thể cấp cho bạn một vỏ gốc. Nhận danh sách các phần mềm được cài đặt trong hộp và google / securityf Focus mỗi phần mềm.

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.