Cách mở cổng sớm trong quá trình khởi động để mở khóa LUKS qua SSH


11

Tôi có một máy chủ được mã hóa hoàn toàn chạy Debian 7 và đã thiết lập dropbear và busybox để mở khóa bộ chứa LUKS thông qua SSH (như được mô tả trong hướng dẫn này và trong câu trả lời U & L này ).

Thật không may, bất cứ khi nào tôi thử và SSH đến máy chủ (qua mạng LAN) khi khởi động lại, tôi đều gặp lỗi "Kết nối bị từ chối". Tôi đã thử telnetnmapđến cổng mặc định (22) và cả hai đều nói rằng cổng đã bị đóng.

Máy chủ có ufwquy tắc chấp nhận tất cả lưu lượng truy cập từ mạng LAN:

Anywhere         ALLOW       192.168.1.0/24

Tôi đã cố gắng thay đổi cổng mà nghe dropbear vào trong /etc/defaults/dropbearnhưng sshtelnetvẫn đang từ chối các kết nối 1 .

Làm cách nào tôi có thể đảm bảo rằng một cổng được mở ở giai đoạn đó trong quá trình khởi động để tôi có thể kết nối để mở khóa bộ chứa LUKS?

Vô hiệu hóa tường lửa làm cho không có sự khác biệt: nmaphiển thị tất cả các cổng vẫn đóng.

Cập nhật 2/14

Tôi đã thêm vào break=premountdòng kernel và có một cú chọc trong initramfs. dropbearđã bắt đầu, nhưng mạng không hoạt động vào thời điểm đó. Sau khi thoát, mạng xuất hiện và khởi động tiếp tục cho đến khi có dấu nhắc mở khóa thiết bị LUKS.

Tại thời điểm này, mạng lên, và dẫn chương trình đã được gán địa chỉ IP chính xác, nhưng cổng 22 vẫn còn đóng cửa.

Dòng IP /etc/initramfs-tools/intiramfs.conftôi đang sử dụng là:

export IP=192.168.1.200::192.168.1.1:255.255.255.0::eth0:off

Phù hợp với các hướng dẫn trong /usr/share/doc/cryptsetup/README.remote.gzTôi đã cố gắng chỉ thêm tùy chọn thiết bị, nhưng điều đó là không đủ để đưa mạng lên và có được hợp đồng thuê dhcp.

Cập nhật 11/10/14

Câu trả lời của Karl là những gì được yêu cầu: thiết lập /etc/initramfs-tools/conf.d/cryptrootlà chìa khóa:

target=md1_crypt,source=UUID=8570d12k-ccha-4985-s09f-e43dhed9fa2a

Hướng dẫn này cũng đã được chứng minh cập nhật hơn và có liên quan (và thành công).


1
Ôi! Tôi hoàn toàn không biết bạn có thể mở khóa LUKS bị khóa hoàn toàn từ xa. Rõ ràng tôi không thể trả lời câu hỏi của bạn w / chắc chắn nhưng tôi đoán sshd chưa bắt đầu. Trong máy của tôi, sshd bắt đầu sau trong quá trình.
emory

1
Bạn có quyền truy cập bàn điều khiển vào máy trong khi ở môi trường busybox không? Bạn có thể xác minh rằng dropbear thực sự đang chạy (thông qua ps) và lắng nghe trên cổng mà bạn mong đợi (thông qua netstat) không?
larsks

larsks - không, bởi vì tại bảng điều khiển, lời nhắc đang chờ nhập cụm mật khẩu và chuyển sang TTY khác chỉ có nghĩa là một màn hình trống (nếu tôi hiểu đúng về bạn).
jasonwryan

Bạn có thể (tạm thời) xóa mã hóa LUKS và xác minh rằng gấu thả đang thực sự chạy không?
emory

1
Bạn đã thử sử dụng một trong các break=Xtham số khởi động để có được initramfsvỏ sớm chưa? Bất cứ khi nào tôi gỡ lỗi tai nạn mã hóa hệ thống tập tin, tôi sử dụng break=premount. Bạn có thể kiểm tra tình huống là gì, giải quyết nó và tiếp tục khởi động.
Alexios

Câu trả lời:


3

Tôi đã gặp vấn đề tương tự vài tuần trước (Debian Wheezy 7.6) và sau vài ngày khắc phục sự cố, tôi phát hiện ra rằng có một tệp cấu hình bị thiếu để ngăn tập lệnh cryptroot trên init-top chạy chính xác, do đó nó không dừng lại để hỏi mật khẩu thông qua ssh, giết chết dropbear ở cuối chuỗi (init-bottom).

Các tập tin cấu hình được gọi là cryptrootvà cần được theo /etc/initramfs-tools/conf.d/ Nếu tôi không nhầm rằng tập tin cấu hình nên đã được tạo ra tự động trong khi cài đặt (Tôi đã đọc chỉ là một hướng dẫn nói về điều đó tập tin cấu hình) nhưng bằng cách nào đó nó đã không (thử nghiệm trong một máy chủ vật lý và trong một VM, cùng hệ điều hành và các phiên bản)

Phải mất một vài lần thử để cấu hình nó đúng cách, vì tôi không thể tìm thấy cú pháp thích hợp tại thời điểm đó. Tập tin cấu hình cryptroot của tôi như sau:

target=crypt-root,source=/dev/vg0/root,lvm=root

Sau khi tạo tệp cấu hình, chỉ cần cập nhật initramfs và thử lại:

update-initramfs -u

Bạn là một huyền thoại! Cảm ơn bạn: Tôi đã đấu tranh với điều này từ lâu và đã từ bỏ khá nhiều hy vọng để giải quyết nó. cryptrootCú pháp của tôi khác với bạn, nhưng câu trả lời của bạn đủ để chỉ cho tôi đi đúng hướng. Tôi mang ơn bạn.
jasonwryan

Tôi rất vui vì cuối cùng bạn đã làm cho nó hoạt động. Tôi đã thấy câu hỏi của bạn trong khi tôi đang điều tra vấn đề của mình và tôi nghĩ tôi nên đăng bài về cách tôi giải quyết nó khi tôi chạy nó.
Karl

3

Dòng chủ đề sai. Vấn đề không phải là một cổng kín, đó là một cổng không bị ràng buộc. SSHd chưa bắt đầu; đó là lý do bạn không thể kết nối với nó.


@camh, có quy định nào liên quan không?
poige

Tôi đã tập trung hơn vào câu đầu tiên, đó là biên tập. Phần còn lại là khá ngắn gọn để là một câu trả lời tốt, nhưng tôi đoán vẫn là một câu trả lời. Tôi sẽ xóa bình luận của tôi.
camh

@camh, tôi hiểu rồi ...
poige

Tôi không sử dụng sshd: như trạng thái câu hỏi, tôi đang cố gắng kết nối với một cá thể dropbear chạy trên cổng 22 theo mặc định.
jasonwryan

@jasonwryan, nó không đóng vai trò chính xác cho dịch vụ TCP mà bạn đang cố sử dụng, điều thực sự quan trọng là nó chưa bắt đầu.
poige

3

Dropbear (máy chủ ssh) được cho là bắt đầu rất sớm trong giai đoạn khởi động - sớm hơn inittrình tự (RCN.d) và các tập lệnh khởi động tường lửa; thậm chí sớm hơn / được gắn kết (nó cũng được mã hóa, phải không?). Vì vậy, nói đến initramfs, pre- / userland được tải cho kernel bằng bộ tải khởi động. Hình ảnh được (lại) được tạo bởi update-initramfs -utừ nội dung của /etc/initramfs-tools/, bao gồm cả cấu hình dropbear trong /etc/initramfs-tools/etc/dropbear/. Để chơi với cấu hình dropbear, hãy chơi với cái đó.

Vì vậy, một vài điểm để kiểm tra:

  • dropbear không bắt đầu: nó chưa được cắm vào chuỗi initramfs;
  • tường lửa mặc định từ chối tất cả.

Cảm ơn yarek: Tôi nghĩ bạn đã đúng - Tôi đã cập nhật câu hỏi của mình với một lỗi debian (và một bản sửa lỗi không hoạt động). Tôi cũng đã thử vô hiệu hóa tường lửa.
jasonwryan
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.