{"id":113,"date":"2023-12-22T15:20:02","date_gmt":"2023-12-22T08:20:02","guid":{"rendered":"https:\/\/nguyenhieu.name.vn\/?p=113"},"modified":"2025-09-10T13:57:38","modified_gmt":"2025-09-10T06:57:38","slug":"cach-dam-bao-co-so-du-lieu-mysql-cua-ban-duoc-bao-mat","status":"publish","type":"post","link":"https:\/\/nguyenhieu.name.vn\/?p=113","title":{"rendered":"C\u00e1ch \u0111\u1ea3m b\u1ea3o c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/nguyenhieu.name.vn\/wp-content\/uploads\/2023\/12\/image-5.png\" alt=\"\" class=\"wp-image-115\" srcset=\"https:\/\/nguyenhieu.name.vn\/wp-content\/uploads\/2023\/12\/image-5.png 800w, https:\/\/nguyenhieu.name.vn\/wp-content\/uploads\/2023\/12\/image-5-300x169.png 300w, https:\/\/nguyenhieu.name.vn\/wp-content\/uploads\/2023\/12\/image-5-768x432.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"auditing-and-logging-for-information-systems\"><strong>Ki\u1ec3m tra v\u00e0 ghi nh\u1eadt k\u00fd h\u1ec7 th\u1ed1ng th\u00f4ng tin<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nh\u1eadt k\u00fd \u0111\u00f3ng m\u1ed9t vai tr\u00f2 quan tr\u1ecdng \u0111\u1ed1i v\u1edbi v\u1ea5n \u0111\u1ec1 b\u1ea3o m\u1eadt khi c\u00f3 m\u1ed9t cu\u1ed9c t\u1ea5n c\u00f4ng m\u1ea1ng b\u1ecb nghi ng\u1edd.&nbsp;Vi\u1ec7c xem x\u00e9t nh\u1eadt k\u00fd theo c\u00e1ch th\u1ee7 c\u00f4ng l\u00e0 m\u1ed9t c\u00f4ng vi\u1ec7c kh\u00f3 kh\u0103n \u0111\u1ed1i v\u1edbi nh\u00e2n vi\u00ean an ninh v\u00e0 h\u1ecd ph\u1ea3i s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 xem x\u00e9t nh\u1eadt k\u00fd \u0111\u1ec3 tr\u00edch xu\u1ea5t th\u00f4ng tin v\u00e0 ph\u00e2n t\u00edch n\u00f3.&nbsp;Nh\u1eadt k\u00fd n\u00ean s\u1eed d\u1ee5ng c\u00f4ng ngh\u1ec7 l\u01b0u tr\u1eef v\u00e0 m\u00e3 h\u00f3a WORM (ghi m\u1ed9t l\u1ea7n \u0111\u1ecdc nhi\u1ec1u) \u0111\u1ec3 tr\u00e1nh h\u1ecfng v\u00e0 m\u1ea5t d\u1eef li\u1ec7u nh\u1eadt k\u00fd.&nbsp;Ngo\u00e0i ra, nh\u1eadt k\u00fd ph\u1ea3i c\u00f3 \u0111\u1ecbnh d\u1ea1ng chu\u1ea9n h\u00f3a \u0111\u1ec3 d\u1ec5 b\u1ea3o tr\u00ec, truy c\u1eadp v\u00e0 so s\u00e1nh.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u0110\u1ea3m b\u1ea3o \u201clog_error\u201d kh\u00f4ng tr\u1ed1ng<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>l\u1ec7nh:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW variables LIKE \u2018log_error\u2019;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nh\u1eadt k\u00fd l\u1ed7i ch\u1ee9a d\u1eef li\u1ec7u v\u1ec1 c\u00e1c s\u1ef1 ki\u1ec7n khi mysqld kh\u1edfi \u0111\u1ed9ng ho\u1eb7c d\u1eebng.&nbsp;N\u00f3 c\u0169ng cho th\u1ea5y khi n\u00e0o m\u1ed9t table c\u1ea7n \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 ho\u1eb7c s\u1eeda ch\u1eefa.&nbsp;N\u00f3 ph\u1ea3i t\u1ea1o ra m\u1ed9t \u201cgi\u00e1 tr\u1ecb\u201d.&nbsp;L\u00fd do cho ph\u00e9p ghi nh\u1eadt k\u00fd l\u1ed7i l\u00e0 v\u00ec n\u00f3 gi\u00fap t\u0103ng kh\u1ea3 n\u0103ng ph\u00e1t hi\u1ec7n c\u00e1c n\u1ed7 l\u1ef1c \u0111\u1ed9c h\u1ea1i ch\u1ed1ng l\u1ea1i MySQL v\u00e0 c\u00e1c th\u00f4ng b\u00e1o quan tr\u1ecdng kh\u00e1c.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-log-files-are-stored-on-a-non-system-partition\"><strong>\u0110\u1ea3m b\u1ea3o t\u1ec7p nh\u1eadt k\u00fd \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef tr\u00ean ph\u00e2n v\u00f9ng kh\u00f4ng thu\u1ed9c h\u1ec7 th\u1ed1ng<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT @@global.log_bin_basename;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c t\u1ec7p nh\u1eadt k\u00fd c\u1ee7a MySQL c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef \u1edf b\u1ea5t k\u1ef3 \u0111\u00e2u trong h\u1ec7 th\u1ed1ng t\u1ec7p v\u00e0 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp b\u1eb1ng c\u1ea5u h\u00ecnh MySQL.&nbsp;Ngo\u00e0i ra, c\u00e1ch t\u1ed1t nh\u1ea5t l\u00e0 \u0111\u1ea3m b\u1ea3o r\u1eb1ng nh\u1eadt k\u00fd trong h\u1ec7 th\u1ed1ng t\u1ec7p kh\u00f4ng b\u1ecb l\u1ed9n x\u1ed9n v\u1edbi c\u00e1c nh\u1eadt k\u00fd kh\u00e1c nh\u01b0 nh\u1eadt k\u00fd \u1ee9ng d\u1ee5ng.&nbsp;B\u1ea1n ph\u1ea3i \u0111\u1ea3m b\u1ea3o r\u1eb1ng gi\u00e1 tr\u1ecb \u0111\u01b0\u1ee3c tr\u1ea3 v\u1ec1 kh\u00f4ng ch\u1ec9 ra r\u1eb1ng n\u00f3 n\u1eb1m trong th\u01b0 m\u1ee5c g\u1ed1c \u201c(&#8216;\/&#8217;)\u201d, \u201c\/var\u201d, ho\u1eb7c \u201c\/usr\u201d.&nbsp;L\u00fd do cho \u0111i\u1ec1u n\u00e0y l\u00e0 vi\u1ec7c ph\u00e2n v\u00f9ng s\u1ebd l\u00e0m gi\u1ea3m kh\u1ea3 n\u0103ng b\u1ecb t\u1eeb ch\u1ed1i d\u1ecbch v\u1ee5 n\u1ebfu dung l\u01b0\u1ee3ng \u0111\u0129a tr\u1ed1ng d\u00e0nh cho h\u1ec7 \u0111i\u1ec1u h\u00e0nh b\u1ecb c\u1ea1n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u0110\u1ea3m b\u1ea3o \u201clog_error_verbosity\u201d kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh \u201c1\u201d<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW GLOBAL VARIABLES LIKE \u2018log_error_verbosity\u2019;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ki\u1ec3m tra n\u00e0y cung c\u1ea5p th\u00f4ng tin b\u1ed5 sung v\u1ec1 nh\u1eefng ch\u1ee9c n\u0103ng m\u00e0 nh\u1eadt k\u00fd MySQL c\u00f3 ho\u1eb7c \u0111\u00e3 b\u1eadt tr\u00ean c\u00e1c th\u00f4ng b\u00e1o l\u1ed7i.&nbsp;Gi\u00e1 tr\u1ecb 1 cho ph\u00e9p ghi nh\u1eadt k\u00fd c\u00e1c th\u00f4ng b\u00e1o l\u1ed7i.&nbsp;Gi\u00e1 tr\u1ecb 2 cho ph\u00e9p ghi c\u1ea3 th\u00f4ng b\u00e1o l\u1ed7i v\u00e0 c\u1ea3nh b\u00e1o.&nbsp;Gi\u00e1 tr\u1ecb 3 cho ph\u00e9p ghi l\u1ea1i c\u00e1c th\u00f4ng b\u00e1o l\u1ed7i, c\u1ea3nh b\u00e1o v\u00e0 ghi ch\u00fa.&nbsp;\u0110i\u1ec1u n\u00e0y gi\u00fap ph\u00e1t hi\u1ec7n h\u00e0nh vi nguy hi\u1ec3m b\u1eb1ng c\u00e1ch ghi l\u1ea1i l\u1ed7i giao ti\u1ebfp v\u00e0 k\u1ebft n\u1ed1i b\u1ecb h\u1ee7y b\u1ecf.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-audit-logging-is-enabled\"><strong>\u0110\u1ea3m b\u1ea3o ghi nh\u1eadt k\u00fd ki\u1ec3m tra \u0111\u01b0\u1ee3c b\u1eadt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vi\u1ec7c b\u1eadt ghi nh\u1eadt k\u00fd ki\u1ec3m tra l\u00e0 r\u1ea5t quan tr\u1ecdng \u0111\u1ed1i v\u1edbi m\u00f4i tr\u01b0\u1eddng s\u1ea3n xu\u1ea5t cho c\u00e1c phi\u00ean ng\u01b0\u1eddi d\u00f9ng t\u01b0\u01a1ng t\u00e1c v\u00e0 phi\u00ean \u1ee9ng d\u1ee5ng.&nbsp;V\u1edbi t\u00ednh n\u0103ng ghi nh\u1eadt k\u00fd ki\u1ec3m tra, n\u00f3 gi\u00fap x\u00e1c \u0111\u1ecbnh ai \u0111\u00e3 thay \u0111\u1ed5i n\u1ed9i dung g\u00ec v\u00e0 khi n\u00e0o.&nbsp;N\u00f3 c\u0169ng c\u00f3 th\u1ec3 gi\u00fap x\u00e1c \u0111\u1ecbnh nh\u1eefng g\u00ec k\u1ebb t\u1ea5n c\u00f4ng \u0111\u00e3 l\u00e0m v\u00e0 th\u1eadm ch\u00ed c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u00e0m b\u1eb1ng ch\u1ee9ng trong c\u00e1c cu\u1ed9c \u0111i\u1ec1u tra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong><\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT NAME FROM performance_schema.setup_instruments WHERE NAME LIKE \u2018%\/alog\/%\u2019;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW GLOBAL STATUS LIKE 'AUDIT_version';<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW PLUGINS;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong><strong>l\u1ec7nh<\/strong><\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SET GLOBAL general_log = \u2018ON\u2019;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"authentication-for-information-system\"><strong>X\u00e1c th\u1ef1c cho h\u1ec7 th\u1ed1ng th\u00f4ng tin<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">X\u00e1c th\u1ef1c \u0111\u1ea3m b\u1ea3o th\u00f4ng tin x\u00e1c th\u1ef1c do ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c m\u00e1y cung c\u1ea5p kh\u1edbp v\u1edbi c\u01a1 s\u1edf d\u1eef li\u1ec7u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n trong h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee5c b\u1ed9 ho\u1eb7c trong m\u00e1y ch\u1ee7 x\u00e1c th\u1ef1c.&nbsp;Sau \u0111\u00f3, x\u00e1c th\u1ef1c s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n b\u1eb1ng \u1ee7y quy\u1ec1n do qu\u1ea3n tr\u1ecb vi\u00ean c\u1ea5p cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c m\u00e1y.&nbsp;X\u00e1c th\u1ef1c th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong c\u1ea3 m\u1ea1ng ri\u00eang v\u00e0 m\u1ea1ng c\u00f4ng c\u1ed9ng l\u00e0 x\u00e1c th\u1ef1c d\u1ef1a tr\u00ean m\u1eadt kh\u1ea9u.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-passwords-are-not-stored-in-the-global-configuration\"><strong>\u0110\u1ea3m b\u1ea3o m\u1eadt kh\u1ea9u kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong c\u1ea5u h\u00ecnh chung<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ph\u1ea7n [client] c\u1ee7a t\u1ec7p c\u1ea5u h\u00ecnh MySQL cho ph\u00e9p t\u1ea1o ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u.&nbsp;Vi\u1ec7c ki\u1ec3m tra n\u00e0y r\u1ea5t quan tr\u1ecdng v\u00ec vi\u1ec7c cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u trong t\u1ec7p c\u1ea5u h\u00ecnh s\u1ebd t\u00e1c \u0111\u1ed9ng ti\u00eau c\u1ef1c \u0111\u1ebfn t\u00ednh b\u1ea3o m\u1eadt c\u1ee7a m\u1eadt kh\u1ea9u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 ki\u1ec3m tra, h\u00e3y m\u1edf t\u1ec7p c\u1ea5u h\u00ecnh MySQL v\u00e0 ki\u1ec3m tra ph\u1ea7n [client] &#8211; n\u00f3 kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef b\u1ea5t k\u1ef3 m\u1eadt kh\u1ea9u n\u00e0o.&nbsp;Kh\u00f4ng c\u00f3 m\u1eadt kh\u1ea9u n\u00e0o \u0111\u01b0\u1ee3c \u0111\u1eb7t trong h\u1ec7 th\u1ed1ng c\u1ee7a t\u00e1c gi\u1ea3 (xem h\u00ecnh b\u00ean d\u01b0\u1edbi).&nbsp;N\u1ebfu m\u1eadt kh\u1ea9u \u0111\u01b0\u1ee3c \u0111\u1eb7t trong t\u1ec7p c\u1ea5u h\u00ecnh, h\u00e3y s\u1eed d\u1ee5ng mysql_config_editor \u0111\u1ec3 l\u01b0u tr\u1eef m\u1eadt kh\u1ea9u \u1edf d\u1ea1ng m\u00e3 h\u00f3a trong .mylogin.cnf.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-sql_mode-contains-no_auto_create_user-\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;sql_mode&#8217; ch\u1ee9a &#8216;NO_AUTO_CREATE_USER&#8217;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cno_auto_create_user\u201d l\u00e0 m\u1ed9t t\u00f9y ch\u1ecdn \u0111\u1ec3 ng\u0103n ch\u1eb7n vi\u1ec7c t\u1ef1 \u0111\u1ed9ng t\u1ea1o ng\u01b0\u1eddi d\u00f9ng khi th\u00f4ng tin x\u00e1c th\u1ef1c kh\u00f4ng \u0111\u01b0\u1ee3c cung c\u1ea5p.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>l\u1ec7nh:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT @@global.sql_mode;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>l\u1ec7nh:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT @@session.sql_mode;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-passwords-are-set-for-all-mysql-accounts\"><strong>\u0110\u1ea3m b\u1ea3o m\u1eadt kh\u1ea9u \u0111\u01b0\u1ee3c \u0111\u1eb7t cho t\u1ea5t c\u1ea3 t\u00e0i kho\u1ea3n MySQL<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 t\u1ea1o m\u1ed9t m\u1eadt kh\u1ea9u tr\u1ed1ng.&nbsp;Vi\u1ec7c s\u1eed d\u1ee5ng m\u1eadt kh\u1ea9u tr\u1ed1ng s\u1ebd r\u1ea5t r\u1ee7i ro v\u00ec b\u1ea5t k\u1ef3 ai c\u0169ng c\u00f3 th\u1ec3 gi\u1ea3 \u0111\u1ecbnh danh t\u00ednh c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, nh\u1eadp ID \u0111\u0103ng nh\u1eadp c\u1ee7a ng\u01b0\u1eddi d\u00f9ng v\u00e0 k\u1ebft n\u1ed1i v\u1edbi m\u00e1y ch\u1ee7.&nbsp;\u0110i\u1ec1u n\u00e0y b\u1ecf qua x\u00e1c th\u1ef1c, \u0111\u00f3 l\u00e0 x\u1ea5u.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT User,host FROM mysql.user WHERE authentication_string='';<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-default_password_lifetime-is-less-than-or-equal-to-90-\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;default_password_lifetime&#8217; nh\u1ecf h\u01a1n ho\u1eb7c b\u1eb1ng &#8217;90&#8217;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vi\u1ec7c thay \u0111\u1ed5i th\u1eddi h\u1ea1n s\u1eed d\u1ee5ng c\u1ee7a m\u1eadt kh\u1ea9u th\u00e0nh 90 ng\u00e0y s\u1ebd gi\u1ea3m th\u1eddi gian k\u1ebb t\u1ea5n c\u00f4ng c\u00f3 th\u1ec3 x\u00e2m ph\u1ea1m m\u1eadt kh\u1ea9u v\u00e0 do \u0111\u00f3 gi\u1ea3m kh\u1ea3 n\u0103ng b\u1ecb t\u1ea5n c\u00f4ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW VARIABLES LIKE \u2018default_password_lifetime\u2019;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SET GLOBAL default_password_lifetime=90;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-password-complexity-is-in-place\"><strong>\u0110\u1ea3m b\u1ea3o \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a m\u1eadt kh\u1ea9u \u0111\u01b0\u1ee3c \u00e1p d\u1ee5ng<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a m\u1eadt kh\u1ea9u s\u1ebd t\u0103ng th\u00eam s\u1ee9c m\u1ea1nh b\u1ea3o m\u1eadt cho x\u00e1c th\u1ef1c v\u00e0 bao g\u1ed3m vi\u1ec7c th\u00eam ho\u1eb7c t\u0103ng \u0111\u1ed9 d\u00e0i, ch\u1eef hoa, s\u1ed1 v\u00e0 k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t.&nbsp;M\u1eadt kh\u1ea9u c\u00e0ng ph\u1ee9c t\u1ea1p th\u00ec k\u1ebb t\u1ea5n c\u00f4ng c\u00e0ng kh\u00f3 s\u1eed d\u1ee5ng v\u0169 l\u1ef1c \u0111\u1ec3 l\u1ea5y \u0111\u01b0\u1ee3c m\u1eadt kh\u1ea9u.&nbsp;M\u1eadt kh\u1ea9u y\u1ebfu c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng l\u1ea5y \u0111\u01b0\u1ee3c trong t\u1eeb \u0111i\u1ec3n m\u1eadt kh\u1ea9u.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong><strong><strong>l\u1ec7nh<\/strong><\/strong><\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW VARIABLES LIKE \u2018validate_password%\u2019;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-no-users-have-wildcard-hostnames\"><strong>\u0110\u1ea3m b\u1ea3o kh\u00f4ng c\u00f3 ng\u01b0\u1eddi d\u00f9ng n\u00e0o c\u00f3 t\u00ean m\u00e1y ch\u1ee7 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ng\u01b0\u1eddi d\u00f9ng c\u00f3 t\u00ean m\u00e1y ch\u1ee7 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n (%) \u0111\u01b0\u1ee3c c\u1ea5p quy\u1ec1n truy c\u1eadp v\u00e0o b\u1ea5t k\u1ef3 v\u1ecb tr\u00ed n\u00e0o.&nbsp;T\u1ed1t nh\u1ea5t l\u00e0 tr\u00e1nh t\u1ea1o t\u00ean m\u00e1y ch\u1ee7 c\u00f3 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n.&nbsp;Thay v\u00e0o \u0111\u00f3, h\u00e3y t\u1ea1o ng\u01b0\u1eddi d\u00f9ng v\u00e0 cung c\u1ea5p cho h\u1ecd c\u00e1c v\u1ecb tr\u00ed c\u1ee5 th\u1ec3 m\u00e0 t\u1eeb \u0111\u00f3 ng\u01b0\u1eddi d\u00f9ng nh\u1ea5t \u0111\u1ecbnh c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i v\u00e0 t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u01a1 s\u1edf d\u1eef li\u1ec7u.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong><strong><strong><strong>l\u1ec7nh<\/strong><\/strong><\/strong><\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT user, host FROM mysql.user WHERE host = \u2018%\u2019;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-no-anonymous-accounts-exist\"><strong>\u0110\u1ea3m b\u1ea3o kh\u00f4ng c\u00f3 t\u00e0i kho\u1ea3n \u1ea9n danh n\u00e0o t\u1ed3n t\u1ea1i<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 c\u00f3 t\u00ean ng\u01b0\u1eddi d\u00f9ng \u1ea9n danh (tr\u1ed1ng ho\u1eb7c tr\u1ed1ng).&nbsp;Nh\u1eefng t\u00ean ng\u01b0\u1eddi d\u00f9ng \u1ea9n danh n\u00e0y kh\u00f4ng c\u00f3 m\u1eadt kh\u1ea9u v\u00e0 b\u1ea5t k\u1ef3 ng\u01b0\u1eddi d\u00f9ng n\u00e0o kh\u00e1c \u0111\u1ec1u c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng t\u00ean ng\u01b0\u1eddi d\u00f9ng \u1ea9n danh \u0111\u00f3 \u0111\u1ec3 k\u1ebft n\u1ed1i v\u1edbi m\u00e1y ch\u1ee7 MySQL.&nbsp;Vi\u1ec7c x\u00f3a c\u00e1c t\u00e0i kho\u1ea3n \u1ea9n danh n\u00e0y \u0111\u1ea3m b\u1ea3o ch\u1ec9 nh\u1eefng ng\u01b0\u1eddi d\u00f9ng \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 \u0111\u00e1ng tin c\u1eady m\u1edbi c\u00f3 th\u1ec3 truy c\u1eadp m\u00e1y ch\u1ee7 MySQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT user,host FROM mysql.user WHERE user = \u2018\u2019;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"network-connection-to-mysql-server\"><strong>K\u1ebft n\u1ed1i m\u1ea1ng v\u1edbi m\u00e1y ch\u1ee7 MySQL<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">K\u1ebft n\u1ed1i m\u1ea1ng \u0111\u00f3ng vai tr\u00f2 quan tr\u1ecdng trong giao ti\u1ebfp gi\u1eefa ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u00e1y ch\u1ee7 MySQL.&nbsp;K\u1ebft n\u1ed1i m\u1ea1ng kh\u00f4ng an to\u00e0n r\u1ea5t d\u1ec5 b\u1ecb t\u1ea5n c\u00f4ng.&nbsp;Sau \u0111\u00e2y l\u00e0 c\u00e1c ki\u1ec3m tra v\u1ec1 b\u1ea3o m\u1eadt k\u1ebft n\u1ed1i m\u1ea1ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-have_ssl-is-set-to-yes-\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;have_ssl&#8217; \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh &#8216;Yes&#8217;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 tr\u00e1nh nh\u1eefng k\u1ebb t\u1ea5n c\u00f4ng \u0111\u1ed9c h\u1ea1i nh\u00ecn tr\u1ed9m b\u00ean trong h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n, t\u1ed1t nh\u1ea5t n\u00ean s\u1eed d\u1ee5ng SLL\/TLS cho t\u1ea5t c\u1ea3 l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp m\u1ea1ng khi s\u1eed d\u1ee5ng m\u1ea1ng kh\u00f4ng \u0111\u00e1ng tin c\u1eady.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WHERE variable_name = \u2018have_ssl\u2019;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-ssl_type-is-set-to-any-x509-or-specified-for-all-remote-users\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;ssl_type&#8217; \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh &#8216;<strong>ANY<\/strong>&#8216;, &#8216;X509&#8217; ho\u1eb7c &#8216;<strong>SPECIFIED<\/strong>&#8216; cho t\u1ea5t c\u1ea3 ng\u01b0\u1eddi d\u00f9ng t\u1eeb xa<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SSL\/TLS ph\u1ea3i \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh cho m\u1ed7i ng\u01b0\u1eddi d\u00f9ng.&nbsp;\u0110i\u1ec1u n\u00e0y ti\u1ebfp t\u1ee5c ng\u0103n ch\u1eb7n vi\u1ec7c nghe l\u00e9n c\u1ee7a nh\u1eefng k\u1ebb t\u1ea5n c\u00f4ng \u0111\u1ed9c h\u1ea1i.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT user, host, ssl_type FROM mysql.user WHERE NOT HOST IN (\u2018::1\u2019, \u2018127.0.0.1\u2019, \u2018localhost\u2019);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"replication\"><strong>Nh\u00e2n r\u1ed9ng<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vi\u1ec7c ki\u1ec3m tra tr\u1ea1ng th\u00e1i sao ch\u00e9p cho ph\u00e9p b\u1ea1n gi\u00e1m s\u00e1t c\u00e1c l\u1ed7 h\u1ed5ng b\u1ea3o m\u1eadt v\u00e0 hi\u1ec7u su\u1ea5t.&nbsp;Microsoft SQL Server Management Studio c\u00f3 c\u00e1c c\u00f4ng c\u1ee5 sau \u0111\u1ec3 gi\u00e1m s\u00e1t vi\u1ec7c sao ch\u00e9p:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>xem tr\u1ea1ng th\u00e1i \u0111\u1ea1i l\u00fd ch\u1ee5p nhanh,<\/li>\n\n\n\n<li>xem tr\u1ea1ng th\u00e1i t\u00e1c nh\u00e2n \u0111\u1ecdc nh\u1eadt k\u00fd v\u00e0<\/li>\n\n\n\n<li>xem tr\u1ea1ng th\u00e1i \u0111\u1ed3ng b\u1ed9 h\u00f3a.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-replication-traffic-is-secured\"><strong>\u0110\u1ea3m b\u1ea3o l\u01b0u l\u01b0\u1ee3ng sao ch\u00e9p \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L\u01b0u l\u01b0\u1ee3ng sao ch\u00e9p&nbsp;<strong><\/strong>gi\u1eefa c\u00e1c m\u00e1y ch\u1ee7 ph\u1ea3i \u0111\u01b0\u1ee3c b\u1ea3o m\u1eadt.&nbsp;Trong qu\u00e1 tr\u00ecnh chuy\u1ec3n b\u1ea3n sao, m\u1eadt kh\u1ea9u c\u00f3 th\u1ec3 b\u1ecb r\u00f2 r\u1ec9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1ec3 ki\u1ec3m tra, h\u00e3y ki\u1ec3m tra xem h\u1ecd c\u00f3 \u0111ang s\u1eed d\u1ee5ng: m\u1ea1ng ri\u00eang, VPN, SSL\/TLS hay \u0110\u01b0\u1eddng h\u1ea7m SSH hay kh\u00f4ng.&nbsp;Hy v\u1ecdng h\u1ec7 th\u1ed1ng c\u1ee7a t\u00e1c gi\u1ea3 \u0111ang s\u1eed d\u1ee5ng m\u1ea1ng ri\u00eang.&nbsp;H\u00e3y s\u1eeda n\u1ebfu kh\u00f4ng th\u00ec h\u00e3y b\u1ea3o m\u1eadt b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng m\u1ea1ng ri\u00eang, VPN, SSL\/TLS ho\u1eb7c \u0110\u01b0\u1eddng h\u1ea7m SSH.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-master_ssl_verify_server_cert-is-set-to-yes-or-1-\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;MASTER_SSL_VERIFY_SERVER_CERT&#8217; \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh &#8216;YES&#8217; ho\u1eb7c &#8216;1&#8217;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&#8216;MASTER_SSL_VERIFY_SERVER_CERT&#8217; ki\u1ec3m tra xem b\u1ea3n sao c\u00f3 n\u00ean x\u00e1c minh ch\u1ee9ng ch\u1ec9 c\u1ee7a ch\u00ednh hay kh\u00f4ng.&nbsp;B\u1ea3n sao ph\u1ea3i x\u00e1c minh ch\u1ee9ng ch\u1ec9 c\u1ee7a ch\u00ednh \u0111\u1ec3 x\u00e1c th\u1ef1c ch\u00ednh tr\u01b0\u1edbc khi ti\u1ebfp t\u1ee5c k\u1ebft n\u1ed1i.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT ssl_verify_server_cert FROM mysql.slave_master_info;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-master_info_repository-is-set-to-table-\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;master_info_repository&#8217; \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh &#8216;<strong>TABLE<\/strong>&#8216;<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&#8216;master_info_repository&#8217; x\u00e1c \u0111\u1ecbnh n\u01a1i b\u1ea3n sao ghi l\u1ea1i th\u00f4ng tin k\u1ebft n\u1ed1i v\u00e0 tr\u1ea1ng th\u00e1i c\u1ee7a ch\u00ednh.&nbsp;M\u1eadt kh\u1ea9u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong kho th\u00f4ng tin ch\u00ednh l\u00e0 m\u1ed9t t\u1ec7p v\u0103n b\u1ea3n thu\u1ea7n t\u00fay.&nbsp;L\u01b0u tr\u1eef m\u1eadt kh\u1ea9u trong TABLE master_info s\u1ebd an to\u00e0n h\u01a1n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW GLOBAL VARIABLES LIKE \u2018master_info_repository\u2019;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-super_priv-is-not-set-to-y-for-replication-users\"><strong>\u0110\u1ea3m b\u1ea3o &#8216;super_priv&#8217; kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh &#8216;Y&#8217; cho ng\u01b0\u1eddi d\u00f9ng sao ch\u00e9p<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u1eb7c&nbsp;<strong><\/strong>quy\u1ec1n \u201cSUPER\u201d (&#8216;super_priv&#8217;) n\u1eb1m trong b\u1ea3ng \u201cmysql.user\u201d c\u00f3 c\u00e1c ch\u1ee9c n\u0103ng nh\u01b0 \u201cCHANGE\u201d, \u201cMASTER TO\u201d, \u201cKILL\u201d, \u201cmysqladmin kill\u201d, \u201cPURGE BINARY LOGS\u201d, \u201cSET GLOBAL\u201d , \u201cg\u1ee1 l\u1ed7i mysqladmin\u201d v\u00e0 c\u00e1c \u0111i\u1ec1u khi\u1ec3n ghi nh\u1eadt k\u00fd kh\u00e1c.&nbsp;Trao cho ng\u01b0\u1eddi d\u00f9ng \u0111\u1eb7c quy\u1ec1n \u201cSI\u00caU\u201d cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng xem v\u00e0 ch\u1ea5m d\u1ee9t c\u00e1c c\u00e2u l\u1ec7nh SQL hi\u1ec7n \u0111ang th\u1ef1c thi, ngay c\u1ea3 \u0111\u1ed1i v\u1edbi vi\u1ec7c qu\u1ea3n l\u00fd m\u1eadt kh\u1ea9u.&nbsp;N\u1ebfu k\u1ebb t\u1ea5n c\u00f4ng khai th\u00e1c v\u00e0 gi\u00e0nh \u0111\u01b0\u1ee3c \u0111\u1eb7c quy\u1ec1n \u201cSI\u00caU\u201d, ch\u00fang c\u00f3 th\u1ec3 v\u00f4 hi\u1ec7u h\u00f3a, thay \u0111\u1ed5i ho\u1eb7c ph\u00e1 h\u1ee7y d\u1eef li\u1ec7u ghi nh\u1eadt k\u00fd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><strong>l\u1ec7nh<\/strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT user, host FROM mysql.user WHERE user=\u2019repl\u2019 and Super_priv = \u2018Y\u2019;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"ensure-no-replication-users-have-wildcard-hostnames\"><strong>\u0110\u1ea3m b\u1ea3o kh\u00f4ng c\u00f3 ng\u01b0\u1eddi d\u00f9ng sao ch\u00e9p n\u00e0o c\u00f3 t\u00ean m\u00e1y ch\u1ee7 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL cho ph\u00e9p b\u1ea1n c\u1ea5p quy\u1ec1n cho t\u00ean m\u00e1y ch\u1ee7 c\u00f3 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n.\u00a0N\u00ean tr\u00e1nh s\u1eed d\u1ee5ng t\u00ean m\u00e1y ch\u1ee7 c\u00f3 k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n v\u00e0 b\u1ea1n n\u00ean t\u1ea1o ho\u1eb7c s\u1eeda \u0111\u1ed5i ng\u01b0\u1eddi d\u00f9ng c\u0169ng nh\u01b0 cung c\u1ea5p cho h\u1ecd c\u00e1c v\u1ecb tr\u00ed c\u1ee5 th\u1ec3 m\u00e0 t\u1eeb \u0111\u00f3 m\u1ed9t ng\u01b0\u1eddi d\u00f9ng nh\u1ea5t \u0111\u1ecbnh c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i v\u00e0 t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u01a1 s\u1edf d\u1eef li\u1ec7u.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\"><strong>Ph\u1ea7n k\u1ebft lu\u1eadn<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1c b\u01b0\u1edbc ki\u1ec3m tra sau \u0111\u00e2y \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n cho m\u1ed9t m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c duy nh\u1ea5t s\u1eed d\u1ee5ng MySQL l\u00e0m h\u1ec7 th\u1ed1ng th\u00f4ng tin \u1edf c\u1ea3 ph\u00eda \u1ee9ng d\u1ee5ng v\u00e0 ph\u00eda ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u00e1nh gi\u00e1 n\u00e0y l\u00e0 b\u1eaft bu\u1ed9c \u0111\u1ec3 ki\u1ec3m tra t\u00ednh n\u0103ng ghi nh\u1eadt k\u00fd ti\u00eau chu\u1ea9n c\u1ee7a MySQL v\u00e0 k\u00edch ho\u1ea1t c\u00e1c ch\u1ee9c n\u0103ng ghi nh\u1eadt k\u00fd b\u1ed5 sung (n\u00f3 c\u0169ng cho ph\u00e9p ki\u1ec3m tra c\u00e1c l\u1ed7 h\u1ed5ng x\u00e1c th\u1ef1c).&nbsp;Ki\u1ec3m tra m\u1ea1ng r\u1ea5t quan tr\u1ecdng \u0111\u1ec3 ng\u0103n ch\u1eb7n nh\u1eefng ng\u01b0\u1eddi d\u00f9ng kh\u00e1c c\u00f3 m\u1ee5c \u0111\u00edch x\u1ea5u nh\u00ecn tr\u1ed9m v\u00e0o m\u1ea1ng c\u1ee7a b\u1ea1n.&nbsp;Lu\u00f4n tri\u1ec3n khai SSL\/TLS \u0111\u1ec3 m\u00e3 h\u00f3a.&nbsp;\u0110\u1ea3m b\u1ea3o chuy\u1ec3n giao m\u1ed9t chi\u1ec1u l\u00e0 c\u1ea7n thi\u1ebft.&nbsp;\u0110\u1ea3m b\u1ea3o l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp nh\u00e2n r\u1ed9ng s\u1ebd th\u00eam m\u1ed9t l\u1edbp ph\u00f2ng th\u1ee7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">K\u1ebft qu\u1ea3 \u0111\u00e1nh gi\u00e1 c\u00f3 th\u1ec3 cho b\u1ea1n bi\u1ebft li\u1ec7u h\u1ec7 th\u1ed1ng c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng \u1edf m\u1ee9c \u0111\u1ed9 tin c\u1eady hay kh\u00f4ng.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ki\u1ec3m tra v\u00e0 ghi nh\u1eadt k\u00fd h\u1ec7 th\u1ed1ng th\u00f4ng tin Nh\u1eadt k\u00fd \u0111\u00f3ng m\u1ed9t vai tr\u00f2 quan tr\u1ecdng \u0111\u1ed1i v\u1edbi v\u1ea5n \u0111\u1ec1 b\u1ea3o m\u1eadt khi c\u00f3 m\u1ed9t cu\u1ed9c t\u1ea5n c\u00f4ng m\u1ea1ng b\u1ecb nghi ng\u1edd.&nbsp;Vi\u1ec7c xem x\u00e9t nh\u1eadt k\u00fd theo c\u00e1ch th\u1ee7 c\u00f4ng l\u00e0 m\u1ed9t c\u00f4ng vi\u1ec7c kh\u00f3 kh\u0103n \u0111\u1ed1i v\u1edbi nh\u00e2n vi\u00ean an ninh v\u00e0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-113","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/posts\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=113"}],"version-history":[{"count":2,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=\/wp\/v2\/posts\/113\/revisions\/116"}],"wp:attachment":[{"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nguyenhieu.name.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}