サーバーデータベースが悪意を持って削除され、ビットコインデータベースのセキュリティが脅迫された場合はどうすればよいですか?

今日、hxdは個人ブログを立ち上げて、友達チェーンを追加したいと言ったので、1万年前からほこりっぽい私の個人ブログを見てみようと思いました。

 


個人ブログのWebサイトにログインすると、静的ページしか表示できないことがわかります。最初はmysqlサービスが起動していないと思いましたが、確認したところ、mysqlサービスが正常に起動していることがわかり、クエリでエラー情報が報告されました。

ガン、なぜ接続できないのか、Navicatはリモート接続できない

 

 

データベースの内容を見てください

ナニ?データシートが削除されました。このreadmeを確認してください。

くそー、それはハッキングされました。幸いなことに、このデータベースには何もありません。

それを忘れて、ローカルデータベーステーブルのSQLステートメントを再生成します

 Benduファイルをサーバーに配置し、mariaDBと入力してSQLファイルを実行します

 この迷惑なreadmeを削除する

 すべてのデータベースを表示

README_CCCにもこの情報があることがわかりました。削除してください。

 

実行中のバックエンドプロセスを見つける

 削除して再実行

まだ接続できません

 データベースに移動してルート情報を表示します 

 

アドレスが間違っており、不可解にも2人のユーザーがいます

何があっても、すべて削除してからもう一度追加してください

ローカルユーザーテーブルのSQLファイルを生成します

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50541
Source Host           : localhost:3306
Source Database       : mysql

Target Server Type    : MYSQL
Target Server Version : 50541
File Encoding         : 65001

Date: 2021-07-18 14:39:50
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin DEFAULT '',
  `authentication_string` text COLLATE utf8_bin,
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges';

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('localhost', 'root', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0', '0', '', '');

mysqlを再起動します私の方法は

 最初 にps-ef| grep mysqを実行して  、すべてのmysqlプロセスを検索します

次に、kill-9の上の赤いボックスで囲まれたすべて  のプロセス番号を強制終了します。

サービスを再起動しますmysqlrestart     

mysqlのバージョンが5.7を超える場合は、servicemysqldrestartを使用して「d」を追加します

 接続に成功しました!

では、悪意のあるアクセスによってデータベースが削除されるのを防ぐにはどうすればよいでしょうか。または、削除されたファイルをすばやく回復する方法はありますか?

Binlogログを有効にする

MySQLサーバーの4種類のログ:エラーログ、一般クエリログ、低速クエリログ、バイナリログ

エラーログ は、mysqldで発生するいくつかのエラーを記録するエラーログです。

一般 クエリログは、クライアントの接続や切断などのmysqldの実行内容、およびクライアントからの各Sqlステートメントのレコード情報を記録する一般的なクエリログです。クライアントが何に渡されたかを正確に知りたい場合は、サーバー、このログは非常に便利です。もちろん、このようなものは非常にパフォーマンスを重視します。

低速 クエリログは低速クエリログであり、クエリの実行が遅い一部のSQLステートメントを記録します。このログは非常に一般的に使用され、主に開発者の調整に使用されます。

 Binlogと呼ばれるバイナリログは、mysqlのすべてのDML操作を記録するバイナリログファイルです。Binlogログを介して、データリカバリ、マスターマスターレプリケーション、マスタースレーブレプリケーションなどを実行できます。開発者はBinlogにあまり注意を払わないかもしれませんが、運用と保守、またはアーキテクトにとっては非常に重要です。

つまり、Binlogにはレプリケーションとリカバリの2つの重要な用途があり、増分バックアップ、指定された時間へのロールバック、上記のマスターマスターとマスタースレーブなどの多くの非常に便利なMySQLエクスペリエンスはすべてBinlogに依存しています。 。

 オンになっているか確認してください

ONは開いていることを意味しますOFFは開いていないことを意味します

ファイルを変更 my.cnf してBinlogを開きます。通常、 /etc/my.cnf ここにあります。MariaDBのように、/etc/my.cnf.d/server.cnf ファイルを変更する場合があります。

以下に [mysqld] 以下を書いてください。

log_bin                      =    /var/lib/mysql/bin-log
log_bin_index              =    /var/lib/mysql/mysql-bin.index
expire_logs_days          = 7
server_id                 = 0002
binlog_format              = ROW

 

 説明:

log_bin = /var/lib/mysql/bin-log 、Binlogを開き、ログが保存される場所を指定します

log_bin_index = /var/lib/mysql/mysql-bin.index 、インデックスファイルの場所を指定します。

expire_logs_days = 7 、この変数の保持期間が削除される前に、すべてのログを削除してください

server_id = 0002 は、クラスター内のMySQLサーバーIDを指定します。データベースクラスターの場合は、グローバルに一意である必要があります。一般的に、  server_id 1に等しい値を指定することはお勧めしません。

binlog_format = ROW、設定で言及されている3つのBinlogログモード。

 データベースを再起動します

もう一度チェックして、「log_bin」のようなグローバル変数を表示します。 

 正常に開きました

binlogを使用してデータを復元する方法については、ブログを参照してください

https://blog.csdn.net/Nino_sama/article/details/117200086

サーバーセキュリティグループを変更して、mysqlアクセスIPをパブリックIPからローカルIPに変更します

ルートログインパスワードを変更する 

 

バックグラウンドログインパスワードを変更する

 

ここでは、オンラインの暗号化と復号化のWebサイト https://www.cmd5.comをお勧めします。 

おすすめ

転載: blog.csdn.net/weixin_45660485/article/details/118864320