hot Về việc đăng ký thành viên

hot Thông tin Việc Làm Khách Sạn lương cao

hot Hỗ trợ đăng bài PR MIỄN PHÍ


Phục hồi file từ Compromised Droplet Sử dụng Recovery ISO

Thảo luận trong 'Rao vặt linh tinh'

Ads

Chia sẻ trang này

  1. hauphong

    hauphong Nhân viên thử việc

    Tham gia ngày:
    16/12/14
    Bài viết:
    433
    Đã được thích:
    0
    Điểm thành tích:
    16
    Giới tính:
    Nam
    Giới thiệu

    vps gia re

    Hướng dẫn này giải thích cách khôi phục lại các file từ Droplet của bạn sau khi bị tấn công.

    Giả sử một người nào đó có thể kết nối Droplet của bạn và thực hiện một cuộc tấn công. Dĩ nhiên, không ai muốn tình huống này xảy ra.

    Nhưng, bằng cách sử dụng trình phục hồi, bạn có thể nhanh chóng chuyển các file quan trọng đến một server mới. Bạn có thể cung cấp một Droplet mới, hoặc chuyển các file này vào máy tính của bạn.

    Bước 1 – Back up cơ sở dữ liệu

    Nếu bạn đang chạy một server MySQL hoặc MariaDB database, bạn sẽ muốn tạo ra một bản back up của các cơ sở dữ liệu trước khi bước vào trình phục hồi.

    Điều này có thể được thực hiện thông qua giao diện điều khiển web, mà bạn có thể truy cập từ bảng điều khiển DigitalOcean.

    Đăng nhập vào server của bạn, sử dụng các tiện ích mysqldump. mysqldump sẽ tạo ra một file .sql chứa nội dung của cơ sở dữ liệu của bạn. Sau đó bạn có thể nhập một cách dễ dàng nội dung này trên một server khác chạy MySQL hay MariaDB.

    Có một bài viết chi tiết về cách để xuất cơ sở dữ liệu sử dụng mysqldump.

    Như một bản tham khảo nhanh, cú pháp cơ bản của lệnh này là:

    mysqldump -u username -p database_to_backup> backup_name.sql

    Bước 2 – Yêu cầu trình phục hồi

    Một khi bạn đã có bản back up cơ sở dữ liệu, bạn sẽ cần công nghệ hỗ trợ DigitalOcean biết được bạn yêu đã cầu trình phục hồi. Nếu Droplet của bạn đã bị khóa, bạn nên có một thẻ hỗ trợ mở trong tài khoản của mình để cập nhật yêu cầu này.

    Bước 3 – Truy cập vào trình phục hồi

    Khi Droplet đã khởi động với Recovery ISO, giao diện điều khiển của bạn sẽ hiển thị một màn hình như bên dưới. Chúng ta có thể chọn các tùy chọn mặc định ở đây:

    Bước 4 – Kích hoạt Networking

    Tiêu chuẩn ISO mà DigitalOcean sử dụng cho việc khôi phục là một Arch Linux với kích thước nhỏ nhất. Nó không thiết lập mạng network tự động, vì vậy chúng tôi phải làm điều này mọt cách thủ công.

    Chúng tôi sẽ sử dụng các thông tin network được hiển thị bên dưới cửa sổ giao diện điều khiển:

    Chúng tôi sẽ sử dụng các thông tin trong phần Public Network trong cấu hình này.

    Đầu tiên, thiết lập các địa chỉ IP sẽ được sử dụng cho kết nối mạng mặc định. Trong lệnh dưới đây, thay thế địa chỉ IP được liệt kê trong mục IP Address cho biến your_public_ip_address trong lệnh này:

    ip addr addyour_public_ip_address/24 dev eth0

    Trong trường hợp này, các / 24 mà bạn thấy là một ví dụ về ký hiệu CIDR. Cơ bản đây là cách để thể hiện một netmask theo cách ngắn hơn và linh hoạt hơn. Dưới đây là một số ví dụ thêm vào:

    255.255.192: translates to /26

    • 255.255.224: translates to /27
    • 255.255.000: translates to /24
    • 255.240.000: translates to /20
    • 255.224.000: translates to /19
    • 255.192.000: translates to /18
    Đối với một danh sách đầy đủ của netmask và các khối CIDR liên quan của chúng, kiểm tra trang Wikipedia này. Các netmasks được liệt kê theo cột Mask, và các khối CIDR được liệt kê trong cột bên trái sau dấu gạch chéo (/).

    Tiếp theo, xác định các giao diện gateway. Đối với lệnh này, thay thế your_public_gateway với thông tin trong trường Gateway công cộng:

    ip route add default viayour_public_gateway

    Cuối cùng, chúng ta cần thêm một giá trị cho file resolv.conf để chúng tôi có thể xử lí tên miền một cách chính xác:

    echo “nameserver 8.8.4.4″> /etc/resolv.conf

    Bạn có thể kiểm tra kết nối mạng đang hoạt động bằng cách ping google.com:

    ping -c 3 google.com

    Bạn sẽ thấy xuất ra như sau:

    PING google.com (74.125.29.138) 56(84) bytes of data.64 bytes from qg-in-f138.1e100.net (74.125.29.138): icmp_seq=1 ttl=43 time=16.4ms64 bytes from qg-in-f138.1e100.net (74.125.29.138): icmp_seq=2 ttl=43 time=15.6ms64 bytes from qg-in-f138.1e100.net (74.125.29.138): icmp_seq=3 ttl=43 time=16.1ms — google.com ping statistics —3 packets transmitted, 3 received, 0% packet loss, time 2002msrtt min/avg/max/mdev = 15.632/16.085/16.431/0.334 ms

    Bước 5 – Cài đặt hệ thống file của bạn

    Trình Linux này đang chạy từ các ISO image và không phải từ Droplet của bạn, do đó bạn sẽ phải cài đặt hệ thống file của bạn của Droplet vào trình khôi phục này để truy cập các file.

    Đây là một ví dụ khi xảy ra vấn đề nếu các hộp VirtIO được chọn trong khi tạo ra Droplet. Nếu bạn không nhìn thấy một hộp VirtIO khi tạo Droplet, thì nó sẽ được kích hoạt theo mặc định.

    Kiểm tra vị trí của hệ thống file của bạn:

    blkid

    Bạn sẽ sử dụng / dev / vda1, / dev / VDA, hoặc / dev / sda, tùy thuộc vào kết quả của lệnh blkid. Cài đặt hệ thống file:

    mount / dev / vda1 / mnt

    hoặc:

    mount / dev / VDA / mnt

    hoặc:

    mount / dev / sda / mnt

    Bây giờ hãy vào thư mục / mnt:

    cd / mnt

    ls

    Bạn sẽ thấy hệ thống file của Droplet:

    dev / initrd.img @ mất + tìm thấy / opt / run / srv / usr /

    Bước 6 – Di chuyển các file cần thiết

    Bây giờ, sau khi network và hệ thống file được kết nối và cài đặt, bạn có thể di chuyển các file của bạn đến server khác.

    Có một vài tiện ích sẵn có để làm điều này bao gồm cả scp, SFTP và rsync. Các tiện ích rsync là một sự lựa chọn tuyệt vời cho việc chuyển các file của bạn sang một hệ thống từ xa. Bạn có thể chuyển các file của bạn vào bất kỳ hệ thống mà bạn có quyền truy cập SSH.

    Dưới đây là lệnh mẫu phổ biến:

    rsync -avP -e ssh /mnt/path/to/directory/to/save/ user@remote_host:/path/to/directory/to/dump/files/

    Ví dụ, nếu người dùng của chúng tôi trên các Droplet thỏa hiệp là sammy và chúng tôi muốn chuyển nội dung của thư mục nhà của họ đến một server từ xa vào một thư mục có tên là / phục hồi, chúng ta có thể sử dụng lệnh này:

    rsync -avP -e ssh / mnt / home / sammy / root @ remote_host: / phục hồi /

    Lưu ý các dấu gạch chéo (/) sau mỗi đường dẫn hệ thống file. Điều này cho biết rằng các nội dung của thư mục local sẽ được đặt trực tiếp vào thư mục từ xa. Việc bỏ quên các dấu gạch chéo có thể dẫn đến kết quả khác nhau, chẳng hạn như việc di chuyển các thư mục riêng và tất cả các nội dung của nó.

    Nếu bạn đã cài đặt rsync trên máy tính của mình, sẽ dễ dàng hơn cho bạn để sao chép dữ liệu của bạn đến đó. Khởi động trình khôi phục của bạn.

    Đặt mật khẩu gốc trong trình khôi phục:

    passwd

    Bắt đầu sshd:

    systemctl start sshd.service

    Một khi bạn đã hoàn thành hai bước này, chắc chắn thư mục đích local của bạn sẽ có đủ không gian lưu trữ có sẵn. Sau đó, bạn có thể chạy lệnh rsync trên máy tính local của bạn (thay thế your_server_ip với địa chỉ IP của Droplet). Các file của bạn nên bắt đầu việc tải vào một thư mục local có tên là recovery.

    rsync -avP -e ssh root@your_server_ip:/mnt/path/to/directory/to/save/ recovery/



    Nếu bạn không có rsync cài đặt trên máy tính local, nhưng vẫn muốn tải về các file của Droplet, bạn có thể sử dụng FileZilla, một chương trình SFTP mà sẽ cho phép bạn liên kết tải về các file Droplet của bạn:

    Bước 7 – Bảo vệ các Droplet mới

    Bây giờ, bạn đã khôi phục được các file. Và cơ sở dữ liệu là rất quan trọng để đảm bảo rằng những Droplet mới của bạn được bảo vệ.
     

Chia sẻ trang này

Tags: No tags Edit Tags

Bài viết giới thiệu: "Phục hồi file từ Compromised Droplet Sử dụng Recovery ISO"