Tôi vô tình cấm kết nối SSH với máy chủ từ xa. Tiếp theo là gì?


61

Hãy nói lại lần nữa, tất cả chúng ta đều phạm sai lầm , và tôi vừa mắc một lỗi.

Một lịch sử ngắn gọn: Tôi đang thực hiện một số thứ trên VPS (Debian) Tôi đang thuê, khi tôi nhận thấy một số hành vi lạ. Sử dụng netstatlệnh tôi thấy một kết nối không được ủy quyền thông qua SSH. Tôi không biết phải làm gì, vì vậy tôi quyết định đóng kết nối của anh ấy bằng cách sử dụng iptables:

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Nhưng tôi mệt, và tôi đã viết

iptables -A INPUT -p tcp --dport ssh -j DROP

và tôi đã đá mình (và mọi người khác) ra ...

Làm thế nào để tôi sửa lỗi này?



1
không, bởi vì anh ta chặn tất cả các gói ssh tại máy. trên một mạng con được định cấu hình sai, bạn chỉ cần tcpdump cho địa chỉ mac đó, lấy mạng con đó là arp-ing sau đó định cấu hình một nic ảo cho cùng một mạng con và nói chuyện với nó.
jfalcon aka Don Fanning

50
Vâng, ít nhất bạn đã loại bỏ quyền truy cập cho cá nhân trái phép, ít nhất.
CVn

2
Lần sau, có lẽ công tắc của một người đã chết sẽ hữu ích.
Wayne Conrad

2
Chủ nhà của bạn là ai Rất nhiều máy chủ VM cung cấp bảng điều khiển nối tiếp cho phép bạn SSH trong trường hợp bạn không thể từ một địa điểm từ xa.
Jon

Câu trả lời:


60

Có một số lựa chọn thay thế:

  • Xem họ có quyền truy cập IPMI / "KVM" / console vào máy chủ hay không, cho phép bạn điều khiển nó như thể bạn có một bàn phím vật lý được cắm vào nó.
  • Nếu họ không cung cấp điều đó, hãy xem liệu bạn có thể khởi động VM vào đĩa CD linux phục hồi không (một số nhà cung cấp cung cấp điều này) và sau đó sửa các quy tắc tường lửa theo cách đó và sau đó khởi động nó như bình thường.
  • Nếu bạn không có quyền truy cập bảng điều khiển, trước khi bạn khởi động để khôi phục hoặc đính kèm âm lượng cho một VM khác (như trong trường hợp của Amazon, câu trả lời của người dùng tín dụng3550767), trước tiên bạn có thể thử trả lời khởi động lại của Ankh2054 nếu bạn chưa lưu quy tắc ( có thể là trường hợp kể từ khi bạn tự đá mình ra trước khi bạn có cơ hội cứu). Sử dụng bảng điều khiển hoặc yêu cầu ai đó cung cấp năng lượng cho nó bằng cách sử dụng thiết lập lại / tắt nguồn không duyên dáng (còn gọi là khởi động lại cứng hoặc tắt cứng) trong trường hợp tập lệnh init tự động lưu các quy tắc khi khởi động lại một cách duyên dáng (credit @jfalcon, @joshudson).

    Cân nhắc những nhược điểm của việc này (chẳng hạn như dữ liệu được ghi trong quá trình khởi động lại có thể bị mất và kiểm tra hệ thống tập tin có thể được yêu cầu khi khởi động để thời gian khởi động lâu hơn, mặc dù độ trễ đó có thể ít hơn khởi động để phục hồi).


1
tùy thuộc vào máy chủ vps, có thể không có quyền truy cập từ xa mà anh ta có thể truy cập. các hệ thống như vmware, kvm, xen, v.v. có bảng điều khiển nhưng không được thiết lập cho tiêu dùng công cộng. đóng mà không cho phép hình thức kiểm soát công cộng này là openstack.
jfalcon aka Don Fanning

4
điều đó nói rằng, nếu ở trong không gian amazon / google, anh ta có thể chụp nhanh ổ đĩa và gắn nó từ một máy ảo khác để thực hiện sửa lỗi.
jfalcon aka Don Fanning

47

Nếu bạn chưa lưu quy tắc IPtables, bạn có thể khởi động lại máy chủ trên VPS (nếu có) và quy tắc sẽ biến mất.


trừ khi tập lệnh init lưu iptables trong khi tắt máy.
jfalcon aka Don Fanning

3
@jfalcon: Đó là lý do tại sao bạn có thể yêu cầu họ rút phích cắm ảo.
joshudson

22
@jfalcon Đó cũng là lý do tại sao đó là một ý tưởng tồi để tự động lưu khi tắt máy ... làm cho việc lưu lại quyết định có ý thức của sysadmin, không phải là thứ gì đó được hệ thống thực thi một cách mù quáng.
một CVn

@joshudson: Bạn phải nói với con khỉ khởi động lại chính xác những gì cần làm và tắt nguồn. Không chỉ bắt đầu tắt máy.
jfalcon aka Don Fanning

@ MichaelKjorling: Triết lý này cũng sai. Đây là một VPS nên có khả năng anh ta đang đóng hộp các ứng dụng của mình và anh ta không kiểm soát được ai là người nhấn công tắc nguồn. Và bạn không biết làm thế nào các máy chủ lưu trữ VPS cấu hình các bản dựng của họ. Không có gì sai khi tiết kiệm khi tắt máy. Sai lầm của anh là sai lầm của anh. Bước đi thông minh ở nơi đầu tiên sẽ là đưa SSH vào một cổng không chuẩn hoặc sử dụng fail2ban thay vì phản ứng với phản ứng hoảng loạn.
jfalcon aka Don Fanning

30

Đây là những gì dòng nhân viên giúp đỡ nhân sự là dành cho. Gọi cho nhà cung cấp dịch vụ và yêu cầu một trong những nhà điều hành của họ loại bỏ quy tắc cho bạn.


3

Một cách chung để sửa một trường hợp bị hỏng là tắt nó đi và gắn âm lượng gốc vào một thể hiện hoạt động. Sau đó, bạn có thể gắn âm lượng ở đó và xem nhật ký hoặc chỉnh sửa tệp cấu hình. Sau đó, bạn có thể tách âm lượng và khởi động nó trong trường hợp riêng của nó.


2
Đúng cho VPS AWS; nói chung không đúng
MadHatter

@MadHatter Chi tiết chính xác có thể khác nhau, nhưng nếu nhà cung cấp VPS không cung cấp bất kỳ phương pháp nào để khởi động với hình ảnh hoạt động đã biết từ nơi bạn có thể gắn kết và sửa chữa hệ thống tệp gốc của mình, thì tôi sẽ mong họ sẽ ngừng hoạt động khi khách hàng học về giới hạn đó.
kasperd

Thông thường, họ làm điều đó bằng cách cung cấp quyền truy cập bảng điều khiển, do đó bạn có thể khởi động ở chế độ người dùng đơn hoặc từ phương tiện cứu hộ (thường được trừu tượng hóa dưới dạng ISO). Tôi gửi rằng trên thực tế điều đó bình thường hơn nhiều so với cách xử lý vấn đề kỳ quặc của AWS, trong đó một VPS thứ hai (tạm thời) là một yêu cầu.
MadHatter

@MadHatter Phương pháp nào trong hai cách tiếp cận có vẻ kỳ quặc có thể rất phụ thuộc vào những gì bạn quen thuộc nhất. Và một trong hai cách tiếp cận được thực hiện công việc. Đó là điều phổ biến nhất mà tôi không thể thực sự nhận xét, vì cho đến nay tôi chỉ cần truy cập như vậy trên một nhà cung cấp VPS duy nhất.
kasperd

@kasperd: Không, cái mà bạn sử dụng phụ thuộc vào việc nhà cung cấp VPS cụ thể hỗ trợ; Đó không phải là vấn đề lựa chọn. Nếu bạn đang sử dụng AWS, bạn gắn âm lượng trên một VPS khác; nếu bạn đang sử dụng nhà cung cấp VPS bình thường hơn, bạn khởi động một người dùng hoặc từ phương tiện cứu hộ. Tôi không coi điểm này là một tinh ranh (tốt, không hoàn toàn) nhưng bởi vì điều quan trọng là phải đánh giá cao rằng người ta phải tìm ra phương pháp hỗ trợ của nhà cung cấp là gì, sau đó sử dụng chúng. Cố gắng sử dụng phương pháp AWS với, giả sử, Hetzner đơn giản là không hoạt động , bởi vì một Hetzner vserver không thể thấy FS của người khác (afaik).
MadHatter

3

Câu trả lời chính thức: vào bảng quản lý VPS, truy cập cục bộ (KVM ảo) bằng cách nào đó hoặc gọi cho họ.

Giải thích về các bước / quy tắc để tránh rơi lại lần nữa:

  1. Có những thay đổi quy tắc ip, định tuyến và tường lửa có thể trở nên tồi tệ và chặn truy cập của bạn.
  2. và nó cũng áp dụng cho cấu hình thiết bị mạng chuyên dụng, không chỉ cho VPS

Vì vậy, trừ khi bạn là 100% chắc chắn rằng bạn có thể phục hồi .. Tôi khuyên bạn nên luôn luôn đảm một cách để thiết lập lại cấu hình mạng để trạng thái trước đó .. như, phiên nền mở với một trong hai screen, nohuphoặc tmux, thậm chí croncó thể làm việc cho điều này, và thêm iptables -Fhoặc phương tiện mong muốn khác để thiết lập lại bất cứ điều gì về trạng thái trước đó.

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.