Mám server mysql.
K serveru přistupuje moje aplikace a externí auditor (osoba používající pracovní stůl mysql). Auditor má specifické uživatelské jméno a heslo a vyhrazenou IP a je udělen pouze pro vybraná oprávnění.
Musím se přihlásit od auditora. Je to možné nějak? Pokud ne, mohu protokolovat balíčky, které přicházejí ze sítě?
Mohli byste použít obecný protokol. Ve skutečnosti byste měli zkusit použít tabulkovou verzi MySQL obecného protokolu.
Pokud spustíte toto:
SHOW CREATE TABLE mysql.general_log\G
Měli byste vidět něco takového:
mysql> show create table mysql.general_log\G
*************************** 1. row ***************************
Table: general_log
Create Table: CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_Host` mediumtext NOT NULL,
`thread_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
1 row in set (0.14 sec)
mysql>
The user_Host
sloupec zaznamená uživatele MySQL a IP adresu/DNS jméno, ze kterého příkaz vyšel.
Pravděpodobně právě teď říkáte: „Ta tabulka je soubor CSV. Musel bych ji analyzovat.“ To je pravda, museli byste. Věděli jste však, že ji můžete převést na tabulku MyISAM? Vlastně jsem to vyzkoušel pro jednoho z mých zaměstnavatelů pro hostování DB a napsal jsem příspěvek s vysvětlením (viz Feb 24, 2011
poslat níže).
Zde jsou základní kroky:
Vytvořte tabulku mysql.general_log MyISAM
Spusťte následující:
CREATE TABLE mysql.general_log_original LIKE mysql.general_log;
ALTER TABLE mysql.general_log ENGINE=MyISAM;
ALTER TABLE mysql.general_log ADD INDEX (event_time);
Povolit obecný protokol
Přidejte následující k /etc/my.cnf
[mysqld]
log-output=TABLE
general-log
Pokud chcete také textovou verzi obecného protokolu, přidejte toto:
[mysqld]
log-output=TABLE,FILE
general-log
general-log-file=/var/log/mysql_general.log
Restartujte mysql
Jednoduše spusťte service mysql restart
Mám mnoho příspěvků o používání obecného protokolu a pomalého protokolu jako tabulek MyISAM:
Jan 22, 2013
: Jak často se tabulka slow_log aktualizuje v MySQL?Nov 10, 2012
: Přesměrování chyb MySQL a pomalé přihlášení do jiné databázeJan 08, 2012
: Jak povolit obecný protokol MySQL?Dec 27, 2011
: Jak to udělat MySQL User AccountingNov 18, 2011
: Vytvořte vlastní tabulku protokolů v MySQLJun 30, 2011
: Jak mohu vytisknout protokoly MySQL do syslog?Feb 24, 2011
: Auditování přihlášení do databáze MySQLMySQL 5.5.28 nedávno představilo plugin protokolu auditu a jak jej nainstalovat .
Zde jsou možnosti
Jsou to pro mě nové, takže nemám v tuto chvíli na zásuvném modulu protokolu auditu žádné výhody ani nevýhody.