<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nguyễn Thành Trung, Tác giả tại Hướng dẫn TENTEN</title>
	<atom:link href="https://help.tenten.vn/author/trungnt3/feed/" rel="self" type="application/rss+xml" />
	<link>https://help.tenten.vn/author/trungnt3/</link>
	<description>Tài liệu hỗ trợ khách hàng</description>
	<lastBuildDate>Wed, 26 Aug 2026 06:40:23 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://help.tenten.vn/wp-content/uploads/2023/09/favicontenten.png</url>
	<title>Nguyễn Thành Trung, Tác giả tại Hướng dẫn TENTEN</title>
	<link>https://help.tenten.vn/author/trungnt3/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CVE-2026-73570: Lỗ hổng Zimbra SNMP RCE – Cách kiểm tra và xử lý</title>
		<link>https://help.tenten.vn/cve-2026-73570-lo-hong-zimbra-snmp-rce-cach-kiem-tra-va-xu-ly/</link>
		
		<dc:creator><![CDATA[Nguyễn Thành Trung]]></dc:creator>
		<pubDate>Wed, 26 Aug 2026 06:40:23 +0000</pubDate>
				<category><![CDATA[Email Server]]></category>
		<guid isPermaLink="false">https://help.tenten.vn/?p=14663</guid>

					<description><![CDATA[<p>CVE-2026-73570 là lỗ hổng OS Command Injection nghiêm trọng trong Zimbra Collaboration Suite (ZCS), liên quan đến thành phần SNMP notification. Trong điều kiện bị ảnh hưởng, kẻ tấn công từ Internet có thể gửi SMTP request được tạo đặc biệt và khiến máy chủ thực thi lệnh hệ điều hành dưới quyền user zimbra &#8230;</p>
<p>Bài viết <a href="https://help.tenten.vn/cve-2026-73570-lo-hong-zimbra-snmp-rce-cach-kiem-tra-va-xu-ly/">CVE-2026-73570: Lỗ hổng Zimbra SNMP RCE – Cách kiểm tra và xử lý</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><code>CVE-2026-73570</code> là lỗ hổng <strong>OS Command Injection</strong> nghiêm trọng trong Zimbra Collaboration Suite (ZCS), liên quan đến thành phần SNMP notification.</p>
<p>Trong điều kiện bị ảnh hưởng, kẻ tấn công từ Internet có thể gửi SMTP request được tạo đặc biệt và khiến máy chủ thực thi lệnh hệ điều hành dưới quyền user <code>zimbra</code> mà <strong>không cần tài khoản đăng nhập Zimbra hợp lệ</strong>.</p>
<p>Theo thông tin công bố, các máy chủ sử dụng phiên bản Zimbra trước <code>10.1.20</code>, có cài đặt <code>zimbra-snmp</code> và bật SNMP notification cần được ưu tiên kiểm tra.</p>
<p>Zimbra đã phát hành bản vá trong phiên bản <strong>ZCS 10.1.20</strong>.</p>
<p>CVE-2026-73570 cũng đã được đưa vào danh mục <strong>Known Exploited Vulnerabilities – KEV</strong> của CISA, cho thấy lỗ hổng đã được ghi nhận khai thác thực tế.</p>
<blockquote><p><strong>Lưu ý:</strong> Bài viết tập trung vào việc kiểm tra, phát hiện dấu hiệu compromise và xử lý phòng thủ. Không bao gồm mã khai thác hoặc payload tấn công.</p></blockquote>
<hr />
<h2>1. CVE-2026-73570 là gì?</h2>
<p>CVE-2026-73570 thuộc nhóm lỗi:</p>
<p><strong>CWE-78 – OS Command Injection</strong></p>
<p>Lỗ hổng liên quan đến quá trình xử lý SNMP notification của Zimbra.</p>
<p>Dữ liệu không tin cậy có thể được xử lý không an toàn trước khi được chuyển tới cơ chế thực thi command, từ đó dẫn tới khả năng OS Command Injection.</p>
<p>Có thể hình dung chuỗi tấn công như sau:</p>
<pre><code class="language-text">Internet
    ↓
SMTP request được tạo đặc biệt
    ↓
Zimbra SMTP
    ↓
SNMP Notification
    ↓
OS Command Injection
    ↓
Thực thi command dưới user zimbra
    ↓
Payload / Persistence / Malware
</code></pre>
<p>Điểm nguy hiểm là attacker có thể khai thác từ xa mà không cần có mailbox hoặc tài khoản Zimbra hợp lệ.</p>
<p>Quyền thực thi ban đầu là user:</p>
<pre><code class="language-text">zimbra
</code></pre>
<p>không phải <code>root</code>.</p>
<p>Tuy nhiên đây vẫn là mức ảnh hưởng nghiêm trọng bởi user <code>zimbra</code> có quyền truy cập và vận hành nhiều thành phần quan trọng của hệ thống mail.</p>
<hr />
<h2>2. Máy chủ Zimbra nào có nguy cơ?</h2>
<p>Nên ưu tiên kiểm tra nếu server đáp ứng các điều kiện:</p>
<ul>
<li>Đang chạy Zimbra Collaboration Suite.</li>
<li>Phiên bản thấp hơn <code>10.1.20</code>.</li>
<li>Có package <code>zimbra-snmp</code>.</li>
<li>SNMP notification đang được bật.</li>
<li>SMTP server được public ra Internet.</li>
</ul>
<hr />
<h2>3. Kiểm tra phiên bản Zimbra</h2>
<p>Đăng nhập SSH vào server và chạy:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol -v'
</code></pre>
<p>Hoặc:</p>
<pre><code class="language-bash">su - zimbra
zmcontrol -v
</code></pre>
<p>Ví dụ:</p>
<pre><code class="language-text">Release 10.1.19.GA...
</code></pre>
<p>Nếu phiên bản thấp hơn:</p>
<pre><code class="language-text">10.1.20
</code></pre>
<p>thì nên tiếp tục kiểm tra SNMP và các dấu hiệu compromise.</p>
<p>&nbsp;</p>
<hr />
<h2>4. Kiểm tra package SNMP</h2>
<p>Với Ubuntu/Debian:</p>
<pre><code class="language-bash">dpkg -l | grep -E 'zimbra-snmp|zimbra-net-snmp'
</code></pre>
<p>Với hệ điều hành sử dụng RPM:</p>
<pre><code class="language-bash">rpm -qa | grep -E 'zimbra-snmp|zimbra-net-snmp'
</code></pre>
<p>Nếu server có package liên quan đến SNMP, tiếp tục kiểm tra service.</p>
<pre><code class="language-bash">su - zimbra -c 'zmprov gs $(zmhostname) zimbraServiceEnabled | grep -i snmp'
</code></pre>
<p>Nếu xuất hiện:</p>
<pre><code class="language-text">zimbraServiceEnabled: snmp
</code></pre>
<p>nghĩa là SNMP service đang được enable trên server.</p>
<hr />
<h2>5. Kiểm tra SNMP notification</h2>
<p>Chạy:</p>
<pre><code class="language-bash">su - zimbra -c 'zmlocalconfig snmp_notify'
</code></pre>
<p>Nếu kết quả:</p>
<pre><code class="language-text">snmp_notify = yes
</code></pre>
<p>thì SNMP notification đang được bật.</p>
<p>Trong trường hợp máy chủ đồng thời đang chạy phiên bản vulnerable, cần ưu tiên cập nhật bản vá.</p>
<hr />
<h2>6. Kiểm tra trạng thái dịch vụ Zimbra</h2>
<p>Trước khi thực hiện thay đổi, nên lưu lại trạng thái hiện tại:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol status'
</code></pre>
<p>Ví dụ:</p>
<pre><code class="language-text">Host mail.example.com
    amavis                  Running
    antispam                Running
    antivirus               Running
    ldap                    Running
    logger                  Running
    mailbox                 Running
    memcached               Running
    mta                     Running
    proxy                   Running
    snmp                    Running
    stats                   Running
</code></pre>
<p>Một điểm cần lưu ý:</p>
<p><strong>Tất cả service đang Running không có nghĩa server chắc chắn chưa bị compromise.</strong></p>
<p>Malware vẫn có thể hoạt động dưới user <code>zimbra</code> trong khi Zimbra hoạt động bình thường.</p>
<hr />
<h1>7. Kiểm tra dấu hiệu máy chủ đã bị khai thác</h1>
<p>Server thuộc phiên bản vulnerable không đồng nghĩa chắc chắn đã bị hack.</p>
<p>Cần kiểm tra thêm các dấu hiệu bất thường.</p>
<hr />
<h2>7.1. Kiểm tra <code>/dev/shm</code></h2>
<p>Chạy:</p>
<pre><code class="language-bash">ls -lah /dev/shm
</code></pre>
<p>Liệt kê chi tiết file:</p>
<pre><code class="language-bash">find /dev/shm -maxdepth 1 -type f \
-printf '%TY-%Tm-%Td %TH:%TM:%TS %u %g %m %s %p\n' | sort
</code></pre>
<p><code>/dev/shm</code> là vùng shared memory dạng <code>tmpfs</code>.</p>
<p>Malware có thể sử dụng vị trí này để:</p>
<ul>
<li>Lưu binary tạm thời.</li>
<li>Chạy payload.</li>
<li>Tạo file persistence.</li>
<li>Lưu script tải malware.</li>
</ul>
<p>Tuy nhiên:</p>
<blockquote><p>Không được kết luận file là malware chỉ vì file nằm trong <code>/dev/shm</code>.</p></blockquote>
<p>Cần kiểm tra thêm:</p>
<ul>
<li>Owner.</li>
<li>Process đang sử dụng.</li>
<li>Hash.</li>
<li>Thời gian tạo.</li>
<li>Nội dung file.</li>
</ul>
<hr />
<h2>7.2. Kiểm tra cron của user zimbra</h2>
<p>Chạy:</p>
<pre><code class="language-bash">crontab -l -u zimbra
</code></pre>
<p>Đặc biệt chú ý cron gọi file từ:</p>
<pre><code class="language-text">/dev/shm
/tmp
/var/tmp
</code></pre>
<p>Ví dụ dạng đáng nghi:</p>
<pre><code class="language-text">* * * * * /dev/shm/&lt;random-file&gt;
</code></pre>
<p>Nếu một file lạ được chạy mỗi phút, đây là dấu hiệu cần điều tra.</p>
<p>Backup cron trước khi thay đổi:</p>
<pre><code class="language-bash">crontab -l -u zimbra \
&gt; /root/zimbra-crontab-$(date +%F-%H%M%S).txt 2&gt;&amp;1
</code></pre>
<hr />
<h2>7.3. Kiểm tra process của user zimbra</h2>
<p>Chạy:</p>
<pre><code class="language-bash">ps -fu zimbra
</code></pre>
<p>Hoặc:</p>
<pre><code class="language-bash">ps auxf | grep '[z]imbra'
</code></pre>
<p>Có thể kiểm tra executable thực tế:</p>
<pre><code class="language-bash">for pid in $(pgrep -u zimbra); do
    echo "===== PID $pid ====="
    readlink -f /proc/$pid/exe 2&gt;/dev/null
    tr '\0' ' ' &lt; /proc/$pid/cmdline 2&gt;/dev/null
    echo
done
</code></pre>
<p>Nếu process thuộc user <code>zimbra</code> đang chạy binary từ:</p>
<pre><code class="language-text">/dev/shm/
/tmp/
/var/tmp/
</code></pre>
<p>thì cần ưu tiên kiểm tra.</p>
<hr />
<h2>7.4. Kiểm tra kết nối mạng</h2>
<p>Chạy:</p>
<pre><code class="language-bash">ss -tunap
</code></pre>
<p>Hoặc:</p>
<pre><code class="language-bash">lsof -nP -i -a -u zimbra
</code></pre>
<p>Cần lưu ý các outbound connection:</p>
<ul>
<li>Tới IP Internet không rõ nguồn gốc.</li>
<li>Connection được duy trì liên tục.</li>
<li>Port bất thường.</li>
<li>Process không thuộc thành phần Zimbra quen thuộc.</li>
</ul>
<hr />
<h2>7.5. Kiểm tra file mới được tạo bởi user zimbra</h2>
<p>Có thể kiểm tra:</p>
<pre><code class="language-bash">find /tmp /var/tmp /dev/shm \
-user zimbra -type f -mtime -30 -ls 2&gt;/dev/null
</code></pre>
<p>Lệnh trên tìm các file thuộc user <code>zimbra</code> được thay đổi trong vòng 30 ngày gần nhất.</p>
<p>Không nên chạy:</p>
<pre><code class="language-bash">find /
</code></pre>
<p>trên production server lớn nếu không cần thiết vì có thể tạo thêm I/O cho hệ thống.</p>
<hr />
<h1>8. Vì sao chỉ xóa file malware là chưa đủ?</h1>
<p>Giả sử phát hiện file:</p>
<pre><code class="language-text">/dev/shm/&lt;malware&gt;
</code></pre>
<p>và chỉ thực hiện:</p>
<pre><code class="language-bash">rm -f /dev/shm/&lt;malware&gt;
</code></pre>
<p>thì chưa thể kết luận server đã sạch.</p>
<p>File có thể được tạo lại bởi:</p>
<ul>
<li>Process vẫn đang chạy trong RAM.</li>
<li>Cron persistence.</li>
<li>Systemd timer.</li>
<li>Systemd service.</li>
<li>Webshell.</li>
<li>Script khác.</li>
<li>Máy chủ tiếp tục bị khai thác do chưa vá.</li>
</ul>
<p>Quy trình đúng nên theo hướng:</p>
<pre><code class="language-text">Containment
      ↓
Thu thập evidence
      ↓
Xác định persistence
      ↓
Dừng malicious process
      ↓
Quarantine malware
      ↓
Patch Zimbra
      ↓
Kiểm tra lại hệ thống
</code></pre>
<hr />
<h1>9. Quy trình xử lý khi nghi ngờ server đã bị compromise</h1>
<p>Đối với server production, không nên xóa file ngay khi phát hiện dấu hiệu bất thường.</p>
<p>Nên thu thập evidence trước.</p>
<hr />
<h2>Bước 1: Tạo thư mục lưu thông tin incident</h2>
<pre><code class="language-bash">TS=$(date +%Y%m%d_%H%M%S)
INC="/root/zimbra-incident-$TS"

mkdir -p "$INC"
</code></pre>
<hr />
<h2>Bước 2: Lưu danh sách process</h2>
<pre><code class="language-bash">ps auxf &gt; "$INC/process.txt"
</code></pre>
<hr />
<h2>Bước 3: Lưu kết nối mạng</h2>
<pre><code class="language-bash">ss -tunap &gt; "$INC/network.txt"
</code></pre>
<hr />
<h2>Bước 4: Lưu cron của user zimbra</h2>
<pre><code class="language-bash">crontab -l -u zimbra \
&gt; "$INC/zimbra-crontab.txt" 2&gt;&amp;1
</code></pre>
<hr />
<h2>Bước 5: Lưu thông tin <code>/dev/shm</code></h2>
<pre><code class="language-bash">ls -lah /dev/shm \
&gt; "$INC/dev-shm.txt"
</code></pre>
<hr />
<h2>Bước 6: Lưu trạng thái Zimbra</h2>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol status' \
&gt; "$INC/zmcontrol-status.txt" 2&gt;&amp;1
</code></pre>
<p>Lưu version:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol -v' \
&gt; "$INC/zimbra-version.txt" 2&gt;&amp;1
</code></pre>
<hr />
<h1>10. Tạm thời tắt SNMP notification</h1>
<p>Nếu chưa thể patch ngay, có thể cân nhắc disable SNMP notification để giảm vector tấn công.</p>
<p>Kiểm tra:</p>
<pre><code class="language-bash">su - zimbra -c 'zmlocalconfig snmp_notify'
</code></pre>
<p>Tắt:</p>
<pre><code class="language-bash">su - zimbra -c 'zmlocalconfig -e snmp_notify=no'
</code></pre>
<p>Kiểm tra lại:</p>
<pre><code class="language-bash">su - zimbra -c 'zmlocalconfig snmp_notify'
</code></pre>
<p>Kết quả:</p>
<pre><code class="language-text">snmp_notify = no
</code></pre>
<blockquote><p>Đây chỉ là giải pháp containment tạm thời.</p></blockquote>
<p>Giải pháp chính vẫn là <strong>upgrade Zimbra lên phiên bản đã vá</strong>.</p>
<p>Nếu doanh nghiệp đang sử dụng SNMP để giám sát hệ thống thì cần lưu ý việc tắt SNMP notification có thể ảnh hưởng monitoring.</p>
<hr />
<h1>11. Xác định process sử dụng file nghi ngờ</h1>
<p>Ví dụ:</p>
<pre><code class="language-bash">lsof /dev/shm/&lt;suspicious-file&gt;
</code></pre>
<p>Hoặc:</p>
<pre><code class="language-bash">fuser -v /dev/shm/&lt;suspicious-file&gt;
</code></pre>
<p>Kiểm tra hash:</p>
<pre><code class="language-bash">sha256sum /dev/shm/&lt;suspicious-file&gt;
</code></pre>
<p>Kiểm tra metadata:</p>
<pre><code class="language-bash">stat /dev/shm/&lt;suspicious-file&gt;
</code></pre>
<p>Nếu đã xác định process độc:</p>
<pre><code class="language-bash">kill &lt;PID&gt;
</code></pre>
<p>Nếu process không dừng:</p>
<pre><code class="language-bash">kill -9 &lt;PID&gt;
</code></pre>
<p>Không nên sử dụng <code>pkill</code> với pattern quá rộng vì có thể kill nhầm process Zimbra hợp lệ.</p>
<hr />
<h1>12. Kiểm tra persistence</h1>
<p>Ngoài cron của user <code>zimbra</code>, cần kiểm tra thêm.</p>
<h3>Systemd timer</h3>
<pre><code class="language-bash">systemctl list-timers --all
</code></pre>
<h3>Systemd service</h3>
<pre><code class="language-bash">systemctl list-unit-files --type=service
</code></pre>
<h3>Cron hệ thống</h3>
<pre><code class="language-bash">find /etc/cron* -type f -mtime -30 -ls 2&gt;/dev/null
</code></pre>
<h3>Cron spool</h3>
<pre><code class="language-bash">find /var/spool/cron -type f -mtime -30 -ls 2&gt;/dev/null
</code></pre>
<p>Không xóa entry chỉ vì thấy lạ.</p>
<p>Cần xác minh xem entry có thuộc hệ thống hoặc phần mềm hợp lệ hay không.</p>
<hr />
<h1>13. Quarantine malware thay vì xóa ngay</h1>
<p>Tạo thư mục quarantine:</p>
<pre><code class="language-bash">QUA="/root/zimbra-quarantine-$(date +%Y%m%d_%H%M%S)"
mkdir -p "$QUA"
</code></pre>
<p>Copy evidence:</p>
<pre><code class="language-bash">cp -a /dev/shm/&lt;suspicious-file&gt; "$INC/"
</code></pre>
<p>Di chuyển malware:</p>
<pre><code class="language-bash">mv /dev/shm/&lt;suspicious-file&gt; "$QUA/"
</code></pre>
<p>Tính SHA256:</p>
<pre><code class="language-bash">sha256sum "$QUA"/* \
&gt; "$QUA/sha256.txt" 2&gt;/dev/null
</code></pre>
<p>Sau đó có thể hạn chế quyền:</p>
<pre><code class="language-bash">chmod -R 000 "$QUA"
</code></pre>
<p>Việc giữ lại hash và file giúp phục vụ:</p>
<ul>
<li>Điều tra incident.</li>
<li>Đối chiếu IOC.</li>
<li>Kiểm tra bằng antivirus.</li>
<li>So sánh với các server khác.</li>
</ul>
<hr />
<h1>14. Kiểm tra JSP/Webshell</h1>
<p>Sau khi attacker có khả năng chạy command dưới user <code>zimbra</code>, không nên giả định <code>/dev/shm</code> là persistence duy nhất.</p>
<p>Một vị trí cần kiểm tra là Jetty webapps.</p>
<pre><code class="language-bash">find /opt/zimbra/jetty/webapps \
     /opt/zimbra/jetty_base/webapps \
-type f \( -iname '*.jsp' -o -iname '*.jspx' \) \
-printf '%TY-%Tm-%Td %TH:%TM:%TS %u %g %s %p\n' \
2&gt;/dev/null | sort
</code></pre>
<p>Kiểm tra file được thay đổi gần đây:</p>
<pre><code class="language-bash">find /opt/zimbra/jetty/webapps \
     /opt/zimbra/jetty_base/webapps \
-type f \( -iname '*.jsp' -o -iname '*.jspx' \) \
-mtime -30 -ls 2&gt;/dev/null
</code></pre>
<p>Cần lưu ý:</p>
<blockquote><p>File JSP mới không mặc định là webshell.</p></blockquote>
<p>File có thể thuộc:</p>
<ul>
<li>Zimbra patch.</li>
<li>Zimlet.</li>
<li>Customization.</li>
<li>Web application hợp lệ.</li>
</ul>
<p>Cần kiểm tra nội dung, package, owner và hash trước khi xử lý.</p>
<hr />
<h1>15. Kiểm tra SSH persistence</h1>
<p>Kiểm tra user hệ thống:</p>
<pre><code class="language-bash">awk -F: '$3 &gt;= 1000 {print $1,$3,$6,$7}' /etc/passwd
</code></pre>
<p>Kiểm tra SSH authorized keys:</p>
<pre><code class="language-bash">find /root /home /opt/zimbra \
-name authorized_keys -type f \
-print -exec cat {} \; 2&gt;/dev/null
</code></pre>
<p>Nếu phát hiện key lạ, cần đối chiếu với key quản trị hợp lệ trước khi xóa.</p>
<hr />
<h1>16. Upgrade Zimbra để vá CVE-2026-73570</h1>
<p>Zimbra đã sửa lỗi liên quan trong:</p>
<pre><code class="language-text">Zimbra Collaboration 10.1.20
</code></pre>
<p>Nếu đang sử dụng phiên bản vulnerable, nên nâng lên:</p>
<pre><code class="language-text">10.1.20
</code></pre>
<p>hoặc phiên bản mới hơn đang được Zimbra hỗ trợ.</p>
<p>Trước khi upgrade nên:</p>
<ul>
<li>Backup mailbox.</li>
<li>Backup database.</li>
<li>Backup configuration.</li>
<li>Kiểm tra dung lượng ổ đĩa.</li>
<li>Kiểm tra repository.</li>
<li>Đọc release notes.</li>
<li>Xác nhận OS tương thích.</li>
<li>Chuẩn bị phương án rollback.</li>
</ul>
<p>Sau khi update:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol -v'
</code></pre>
<p>Tiếp tục kiểm tra service:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol status'
</code></pre>
<hr />
<h1>17. Kiểm tra sau khi xử lý</h1>
<h3>Kiểm tra <code>/dev/shm</code></h3>
<pre><code class="language-bash">ls -lah /dev/shm
</code></pre>
<h3>Kiểm tra cron</h3>
<pre><code class="language-bash">crontab -l -u zimbra
</code></pre>
<h3>Kiểm tra process</h3>
<pre><code class="language-bash">ps -fu zimbra
</code></pre>
<h3>Kiểm tra network</h3>
<pre><code class="language-bash">ss -tunap
</code></pre>
<h3>Kiểm tra dịch vụ</h3>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol status'
</code></pre>
<h3>Kiểm tra version</h3>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol -v'
</code></pre>
<h3>Kiểm tra mail queue</h3>
<pre><code class="language-bash">/opt/zimbra/common/sbin/postqueue -p
</code></pre>
<p>Nếu malware hoặc file bất thường tiếp tục xuất hiện lại sau khi đã xóa thì rất có thể:</p>
<pre><code class="language-text">persistence vẫn còn
</code></pre>
<p>hoặc:</p>
<pre><code class="language-text">vector khai thác chưa được xử lý triệt để
</code></pre>
<hr />
<h1>18. Có mất dữ liệu email khi xử lý không?</h1>
<p>Các thao tác:</p>
<ul>
<li>Disable SNMP notification.</li>
<li>Dừng malicious process.</li>
<li>Xóa persistence.</li>
<li>Quarantine malware.</li>
<li>Upgrade Zimbra.</li>
</ul>
<p>không trực tiếp xóa mailbox.</p>
<p>Dữ liệu email Zimbra thường nằm tại:</p>
<pre><code class="language-text">/opt/zimbra/store/
</code></pre>
<p>Database nằm tại:</p>
<pre><code class="language-text">/opt/zimbra/db/data/
</code></pre>
<p>Do đó tuyệt đối không tự ý:</p>
<pre><code class="language-text">xóa
move
chỉnh sửa
</code></pre>
<p>các thư mục trên nếu chưa xác định database hoặc mailbox thực sự gặp sự cố.</p>
<hr />
<h1>19. Không recovery MySQL nếu database vẫn bình thường</h1>
<p>CVE-2026-73570 là lỗi OS Command Injection.</p>
<p>Nó <strong>không đồng nghĩa database Zimbra chắc chắn đã bị lỗi</strong>.</p>
<p>Kiểm tra:</p>
<pre><code class="language-bash">su - zimbra -c 'zmcontrol status'
</code></pre>
<p>Kiểm tra MySQL:</p>
<pre><code class="language-bash">su - zimbra -c 'mysql.server status'
</code></pre>
<p>Kiểm tra port:</p>
<pre><code class="language-bash">ss -ltnp | grep 7306
</code></pre>
<p>Kiểm tra log:</p>
<pre><code class="language-bash">tail -n 200 /opt/zimbra/log/mysql_error.log
</code></pre>
<p>Nếu kết quả vẫn:</p>
<pre><code class="language-text">mysql is running
mailbox Running
</code></pre>
<p>và log không ghi nhận corruption hoặc lỗi database nghiêm trọng thì <strong>không nên thực hiện MySQL recovery</strong>.</p>
<p>Database recovery là một quy trình riêng và có rủi ro lớn hơn malware cleanup.</p>
<hr />
<h1>20. Những việc nên làm sau incident</h1>
<p>Sau khi hoàn tất xử lý, nên tiếp tục:</p>
<ol>
<li>Theo dõi CPU và Load Average.</li>
<li>Theo dõi <code>/dev/shm</code>.</li>
<li>Theo dõi cron user <code>zimbra</code>.</li>
<li>Kiểm tra outbound connection.</li>
<li>Kiểm tra mail queue.</li>
<li>Kiểm tra JSP/webshell.</li>
<li>Kiểm tra SSH key.</li>
<li>Kiểm tra systemd timer/service.</li>
<li>Kiểm tra file mới tạo bởi user <code>zimbra</code>.</li>
<li>Rotate credential nếu nghi ngờ bị lộ.</li>
<li>Đối chiếu IOC với các Zimbra server khác.</li>
<li>Kiểm tra log SMTP tại thời điểm nghi ngờ compromise.</li>
<li>Đảm bảo server đang chạy phiên bản Zimbra đã được vá.</li>
</ol>
<hr />
<h1>21. CISA đã ghi nhận khai thác thực tế</h1>
<p>CVE-2026-73570 đã được đưa vào danh mục:</p>
<p><strong>Known Exploited Vulnerabilities – KEV</strong></p>
<p>của CISA.</p>
<p>Điều đó có nghĩa đây không chỉ là một lỗ hổng tồn tại trên lý thuyết mà đã có bằng chứng được sử dụng trong các cuộc tấn công thực tế.</p>
<p>Vì vậy, đối với Zimbra server public ra Internet, việc kiểm tra và patch cần được ưu tiên.</p>
<p>Một điểm rất quan trọng:</p>
<pre><code class="language-bash">zmcontrol status
</code></pre>
<p>có thể vẫn hiển thị:</p>
<pre><code class="language-text">mailbox Running
mta Running
proxy Running
</code></pre>
<p>trong khi process malware vẫn đang chạy dưới user <code>zimbra</code>.</p>
<p>Do đó không thể chỉ dựa vào việc dịch vụ đang Running để kết luận server an toàn.</p>
<hr />
<h1>22. Tóm tắt quy trình</h1>
<pre><code class="language-text">1. Kiểm tra version Zimbra
        ↓
2. Kiểm tra package/config SNMP
        ↓
3. Kiểm tra /dev/shm
        ↓
4. Kiểm tra cron
        ↓
5. Kiểm tra process
        ↓
6. Kiểm tra network
        ↓
7. Thu thập evidence
        ↓
8. Disable SNMP notification tạm thời
        ↓
9. Dừng malicious process
        ↓
10. Loại bỏ persistence
        ↓
11. Quarantine malware
        ↓
12. Hunt JSP/Webshell/SSH persistence
        ↓
13. Upgrade Zimbra &gt;= 10.1.20
        ↓
14. Kiểm tra service + mail queue
        ↓
15. Theo dõi dấu hiệu tái nhiễm
</code></pre>
<hr />
<h1>Kết luận</h1>
<p><code>CVE-2026-73570</code> là lỗ hổng nghiêm trọng trong Zimbra Collaboration Suite liên quan đến SNMP notification.</p>
<p>Trong điều kiện vulnerable, attacker từ xa chưa xác thực có thể lợi dụng SMTP request được tạo đặc biệt để thực thi OS command dưới quyền user <code>zimbra</code>.</p>
<p>Các điều kiện cần đặc biệt lưu ý:</p>
<pre><code class="language-text">Zimbra &lt; 10.1.20
+
zimbra-snmp
+
SNMP notification được bật
</code></pre>
<p>Nếu phát hiện server có dấu hiệu compromise, không nên chỉ:</p>
<pre><code class="language-text">rm malware
</code></pre>
<p>rồi kết luận hệ thống đã an toàn.</p>
<p>Quy trình đầy đủ cần bao gồm:</p>
<pre><code class="language-text">Containment
+
Evidence Collection
+
Process Analysis
+
Persistence Removal
+
Malware Quarantine
+
Patch
+
Verification
</code></pre>
<p>Quan trọng nhất vẫn là <strong>nâng cấp Zimbra lên phiên bản đã được vá</strong> và tiếp tục theo dõi server sau khi xử lý.</p>
<hr />
<h2>Nguồn tham khảo</h2>
<ul>
<li>NIST National Vulnerability Database – CVE-2026-73570</li>
<li>Zimbra Security Advisories</li>
<li>Zimbra Collaboration 10.1.20 Release Notes</li>
<li>CISA Known Exploited Vulnerabilities Catalog</li>
<li>CERT Polska</li>
</ul>
<p>Bài viết <a href="https://help.tenten.vn/cve-2026-73570-lo-hong-zimbra-snmp-rce-cach-kiem-tra-va-xu-ly/">CVE-2026-73570: Lỗ hổng Zimbra SNMP RCE – Cách kiểm tra và xử lý</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hướng dẫn cấu hình DNSSEC cho tên miền tại Tenten</title>
		<link>https://help.tenten.vn/huong-dan-cau-hinh-dnssec-cho-ten-mien-tai-tenten/</link>
		
		<dc:creator><![CDATA[Nguyễn Thành Trung]]></dc:creator>
		<pubDate>Mon, 03 Aug 2026 03:11:30 +0000</pubDate>
				<category><![CDATA[Domain]]></category>
		<guid isPermaLink="false">https://help.tenten.vn/?p=14630</guid>

					<description><![CDATA[<p>Hướng dẫn cấu hình DNSSEC cho tên miền tại Tenten DNSSEC tại Tenten được cấu hình tùy theo nơi đăng ký tên miền và hệ thống Nameserver đang sử dụng. Trước khi thao tác, cần kiểm tra tên miền đã đăng ký dịch vụ DNSSEC hay chưa. 1. Kiểm tra và đăng ký dịch vụ &#8230;</p>
<p>Bài viết <a href="https://help.tenten.vn/huong-dan-cau-hinh-dnssec-cho-ten-mien-tai-tenten/">Hướng dẫn cấu hình DNSSEC cho tên miền tại Tenten</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 class="PDq2pG_selectionAnchorContainer" data-section-id="djjc37" data-start="0" data-end="51">Hướng dẫn cấu hình DNSSEC cho tên miền tại Tenten</h1>
<p data-start="53" data-end="229">DNSSEC tại Tenten được cấu hình tùy theo nơi đăng ký tên miền và hệ thống Nameserver đang sử dụng. Trước khi thao tác, cần kiểm tra tên miền đã đăng ký dịch vụ DNSSEC hay chưa.</p>
<hr data-start="231" data-end="234" />
<h2 data-section-id="143jd3l" data-start="236" data-end="276">1. Kiểm tra và đăng ký dịch vụ DNSSEC</h2>
<p data-start="278" data-end="389">Đầu tiên, Quý khách đăng nhập trang quản lý tên miền Tenten và kiểm tra tên miền đã có dịch vụ DNSSEC hay chưa.</p>
<ul data-start="391" data-end="587">
<li data-section-id="19j1njg" data-start="391" data-end="481">Nếu <strong data-start="397" data-end="420">chưa đăng ký DNSSEC</strong>, Quý khách cần mua hoặc đăng ký dịch vụ DNSSEC cho tên miền.</li>
<li data-section-id="1tefx1b" data-start="482" data-end="587">Nếu <strong data-start="488" data-end="509">đã đăng ký DNSSEC</strong>, tiếp tục kiểm tra Nameserver đang sử dụng để lựa chọn cách cấu hình phù hợp.</li>
</ul>
<p data-start="589" data-end="667">Sau khi dịch vụ được kích hoạt, truy cập mục <strong data-start="634" data-end="653">Cấu hình DNSSEC</strong> của tên miền.</p>
<hr data-start="743" data-end="746" />
<h2 data-section-id="1cgotoc" data-start="748" data-end="791">2. Tên miền Việt Nam và tên miền quốc tế</h2>
<p data-start="793" data-end="921">Tên miền Việt Nam như <code data-start="815" data-end="820">.vn</code>, <code data-start="822" data-end="831">.com.vn</code> và tên miền quốc tế như <code data-start="856" data-end="862">.com</code>, <code data-start="864" data-end="870">.net</code>, <code data-start="872" data-end="878">.org</code> có cách cấu hình DNSSEC cơ bản giống nhau:</p>
<ol data-start="923" data-end="1112">
<li data-section-id="1lyfev7" data-start="923" data-end="949">Đăng ký dịch vụ DNSSEC.</li>
<li data-section-id="1lvi2yu" data-start="950" data-end="995">Kích hoạt DNSSEC tại nơi đang quản lý DNS.</li>
<li data-section-id="1420uet" data-start="996" data-end="1052">Khai báo DS Record và KSK nếu sử dụng DNS bên thứ ba.</li>
<li data-section-id="r5da70" data-start="1053" data-end="1077">Chờ hệ thống đồng bộ.</li>
<li data-section-id="1jueea1" data-start="1078" data-end="1112">Kiểm tra lại trạng thái DNSSEC.</li>
</ol>
<p data-start="1114" data-end="1197">Thời gian cập nhật có thể khác nhau tùy loại tên miền và hệ thống Registry quản lý.</p>
<hr data-start="1199" data-end="1202" />
<h2 data-section-id="1l2yyxv" data-start="1204" data-end="1248">3. Tên miền và DNS đều sử dụng tại Tenten</h2>
<p data-start="1250" data-end="1262">Áp dụng khi:</p>
<ul data-start="1264" data-end="1390">
<li data-section-id="1ffzya5" data-start="1264" data-end="1299">Tên miền được đăng ký tại Tenten.</li>
<li data-section-id="1p30s2t" data-start="1300" data-end="1347">Nameserver đang sử dụng là Nameserver Tenten.</li>
<li data-section-id="oy665u" data-start="1348" data-end="1390">Các bản ghi DNS được quản lý tại Tenten.</li>
</ul>
<h3 data-section-id="u1e72j" data-start="1392" data-end="1414">Các bước thực hiện</h3>
<ol data-start="1416" data-end="1693">
<li data-section-id="cblgcx" data-start="1416" data-end="1466">Kiểm tra và đăng ký dịch vụ DNSSEC nếu chưa có.</li>
<li data-section-id="1t0iee3" data-start="1467" data-end="1510">Đăng nhập trang quản lý tên miền Tenten.</li>
<li data-section-id="17r4hlq" data-start="1511" data-end="1541">Chọn tên miền cần cấu hình.</li>
<li data-section-id="1alzx77" data-start="1542" data-end="1578">Truy cập mục <strong data-start="1558" data-end="1577">Cấu hình DNSSEC</strong>.</li>
<li data-section-id="1dxs9wm" data-start="1579" data-end="1595">Nhấn <strong data-start="1587" data-end="1594">Bật</strong>.</li>
<li data-section-id="1rok07c" data-start="1596" data-end="1651">Chờ hệ thống Tenten tạo khóa và cập nhật trạng thái.</li>
<li data-section-id="5ia2kr" data-start="1652" data-end="1693">Kiểm tra lại sau khi hệ thống đồng bộ.</li>
</ol>
<p data-start="1695" data-end="1823">Trong trường hợp này, Quý khách không cần nhập DS Record và KSK thủ công. Hệ thống Tenten sẽ tự tạo và quản lý thông tin DNSSEC.</p>
<p data-start="1695" data-end="1823"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14637" src="https://help.tenten.vn/wp-content/uploads/2026/08/khj.png" alt="" width="1851" height="951" srcset="https://help.tenten.vn/wp-content/uploads/2026/08/khj.png 1851w, https://help.tenten.vn/wp-content/uploads/2026/08/khj-300x154.png 300w, https://help.tenten.vn/wp-content/uploads/2026/08/khj-1024x526.png 1024w, https://help.tenten.vn/wp-content/uploads/2026/08/khj-768x395.png 768w, https://help.tenten.vn/wp-content/uploads/2026/08/khj-1536x789.png 1536w" sizes="auto, (max-width: 1851px) 100vw, 1851px" /> <img loading="lazy" decoding="async" src="https://help.tenten.vn/wp-content/uploads/2026/08/jh.png" alt="" width="1901" height="455" /></p>
<p data-start="1825" data-end="1937">Sau khi kích hoạt, trạng thái có thể tạm thời hiển thị <strong data-start="1880" data-end="1898">Chưa kích hoạt</strong> trong thời gian hệ thống đang đồng bộ.</p>
<hr data-start="2011" data-end="2014" />
<h2 data-section-id="181ddq0" data-start="2016" data-end="2070">4. Tên miền tại Tenten nhưng DNS sử dụng bên thứ ba</h2>
<p data-start="2072" data-end="2084">Áp dụng khi:</p>
<ul data-start="2086" data-end="2221">
<li data-section-id="1ffzya5" data-start="2086" data-end="2121">Tên miền được đăng ký tại Tenten.</li>
<li data-section-id="hk31w" data-start="2122" data-end="2177">Nameserver sử dụng Cloudflare hoặc máy chủ DNS riêng.</li>
<li data-section-id="1rfqqfn" data-start="2178" data-end="2221">DNSSEC được tạo tại nơi đang quản lý DNS.</li>
</ul>
<h3 data-section-id="u1e72j" data-start="2223" data-end="2245">Các bước thực hiện</h3>
<ol data-start="2247" data-end="2776">
<li data-section-id="gr79rm" data-start="2247" data-end="2306">Kiểm tra tên miền đã mua dịch vụ DNSSEC tại Tenten chưa.</li>
<li data-section-id="nyaihv" data-start="2307" data-end="2346">Nếu chưa có, đăng ký dịch vụ DNSSEC.</li>
<li data-section-id="i1oxxq" data-start="2347" data-end="2408">Bật DNSSEC tại Cloudflare hoặc máy chủ DNS của khách hàng.</li>
<li data-section-id="3kkkd9" data-start="2409" data-end="2543">Lấy thông tin DNSSEC do bên thứ ba cung cấp, gồm:
<ul data-start="2465" data-end="2543">
<li data-section-id="rhmeja" data-start="2465" data-end="2475">Key Tag;</li>
<li data-section-id="qs4fng" data-start="2479" data-end="2491">Algorithm;</li>
<li data-section-id="qdl36r" data-start="2495" data-end="2509">Digest Type;</li>
<li data-section-id="1ksu7ln" data-start="2513" data-end="2522">Digest;</li>
<li data-section-id="yeae98" data-start="2526" data-end="2543">KSK/Public Key.</li>
</ul>
</li>
<li data-section-id="oziwtq" data-start="2544" data-end="2591">Truy cập mục <strong data-start="2560" data-end="2579">Cấu hình DNSSEC</strong> tại Tenten.</li>
<li data-section-id="v1hu28" data-start="2592" data-end="2619">Chọn <strong data-start="2600" data-end="2618">Upload DS, KSK</strong>.</li>
<li data-section-id="1hp10aj" data-start="2620" data-end="2671">Nhập thông tin DS và KSK do bên thứ ba cung cấp.</li>
<li data-section-id="otz6yh" data-start="2672" data-end="2688">Nhấn <strong data-start="2680" data-end="2687">Lưu</strong>.</li>
<li data-section-id="19l07rx" data-start="2689" data-end="2734">Quay lại màn hình quản lý và nhấn <strong data-start="2726" data-end="2733">Bật</strong>.</li>
<li data-section-id="14lm8" data-start="2735" data-end="2776">Chờ hệ thống đồng bộ và kiểm tra lại.</li>
</ol>
<h3 data-section-id="1u39fds" data-start="2852" data-end="2881">Ví dụ cấu hình Cloudflare</h3>
<p data-start="2883" data-end="2903">Cloudflare cung cấp:</p>
<p data-start="2883" data-end="2903"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14636" src="https://help.tenten.vn/wp-content/uploads/2026/08/vxc.png" alt="" width="1117" height="882" srcset="https://help.tenten.vn/wp-content/uploads/2026/08/vxc.png 1117w, https://help.tenten.vn/wp-content/uploads/2026/08/vxc-300x237.png 300w, https://help.tenten.vn/wp-content/uploads/2026/08/vxc-1024x809.png 1024w, https://help.tenten.vn/wp-content/uploads/2026/08/vxc-768x606.png 768w" sizes="auto, (max-width: 1117px) 100vw, 1117px" /></p>
<p data-start="3034" data-end="3050">Nhập tại Tenten:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>DS 1

Key Tag: 2371
Digest Type: 2
Algorithm: 13
Digest: F7FA43336165E3B072A620797FFD5AFBD580F6FF52D89AD*****F0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>DS 2

Key Tag: 2371
Digest Type: 2
Algorithm: 13
Digest: F7FA43336165E3B072A620797FFD5AFBD580F6FF5******475427F0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="3322" data-end="3336">Thông tin KSK:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>Flags: 257
Protocol: 3
Algorithm: 13
Public Key: Nhập đầy đủ Public Key do bên thứ ba cung cấp</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14639" src="https://help.tenten.vn/wp-content/uploads/2026/08/vcxg.png" alt="" width="1288" height="716" srcset="https://help.tenten.vn/wp-content/uploads/2026/08/vcxg.png 1288w, https://help.tenten.vn/wp-content/uploads/2026/08/vcxg-300x167.png 300w, https://help.tenten.vn/wp-content/uploads/2026/08/vcxg-1024x569.png 1024w, https://help.tenten.vn/wp-content/uploads/2026/08/vcxg-768x427.png 768w" sizes="auto, (max-width: 1288px) 100vw, 1288px" /> <img loading="lazy" decoding="async" class="alignnone size-full wp-image-14640" src="https://help.tenten.vn/wp-content/uploads/2026/08/3-1.png" alt="" width="1896" height="440" srcset="https://help.tenten.vn/wp-content/uploads/2026/08/3-1.png 1896w, https://help.tenten.vn/wp-content/uploads/2026/08/3-1-300x70.png 300w, https://help.tenten.vn/wp-content/uploads/2026/08/3-1-1024x238.png 1024w, https://help.tenten.vn/wp-content/uploads/2026/08/3-1-768x178.png 768w, https://help.tenten.vn/wp-content/uploads/2026/08/3-1-1536x356.png 1536w" sizes="auto, (max-width: 1896px) 100vw, 1896px" /></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="3446" data-end="3586">Tenten là nơi tiếp nhận DS Record để cập nhật lên hệ thống quản lý tên miền. Cloudflare hoặc máy chủ DNS riêng là nơi tạo khóa và ký DNSSEC.</p>
<hr data-start="3588" data-end="3591" />
<h2 data-section-id="1sbd9r0" data-start="3593" data-end="3661">5. Tên miền ở nhà cung cấp khác có dùng DNSSEC Tenten được không?</h2>
<p data-start="4242" data-end="4348">Hiện phía tenten chưa hỗ trợ dùng DNS tenten nếu Quý khách dùng tên miền ở nhà cung cấp khác ạ.</p>
<hr data-start="4350" data-end="4353" />
<h2 data-section-id="1k22au4" data-start="4355" data-end="4401">6. Cách nhập DS Record trên hệ thống Tenten</h2>
<h3 data-section-id="1o1nrkn" data-start="4403" data-end="4438">Trường hợp chỉ có một DS Record</h3>
<p data-start="4440" data-end="4550">Hệ thống Tenten không cho phép để trống DS 2. Vì vậy, cần nhập cùng một DS Record vào cả <strong data-start="4529" data-end="4537">DS 1</strong> và <strong data-start="4541" data-end="4549">DS 2</strong>.</p>
<p data-start="4552" data-end="4558">Ví dụ:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>DS 1

Key Tag: 2371
Digest Type: 2
Algorithm: 13
Digest: F7FA43336165E3B072A620797FFD5AFBD580F6FF52D89AD4*****0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>DS 2

Key Tag: 2371
Digest Type: 2
Algorithm: 13
Digest: F7FA43336165E3B072A620797FFD5AFBD580F6FF52D89*****27F0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4830" data-end="4915">Hệ thống Tenten sẽ tự nhận diện hai DS giống nhau và xử lý theo một DS Record hợp lệ.</p>
<h3 data-section-id="8nc9at" data-start="4917" data-end="4948">Trường hợp có hai DS Record</h3>
<p data-start="4950" data-end="5004">Nếu nhà cung cấp DNS cung cấp hai DS Record khác nhau:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>DS 1: Nhập bản ghi DS thứ nhất
DS 2: Nhập bản ghi DS thứ hai</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5080" data-end="5125">Không tự sửa hoặc trộn thông tin giữa hai DS.</p>
<h3 data-section-id="1eufoad" data-start="5127" data-end="5157">Ví dụ cách tách bản ghi DS</h3>
<p data-start="5159" data-end="5174">Bản ghi đầy đủ:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>tenmien.com. 3600 IN DS 2371 13 2 F7FA43336165E3B072A620797FFD5AFBD580F6FF52D*****75427F0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5292" data-end="5308">Nhập tại Tenten:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>Key Tag: 2371
Algorithm: 13
Digest Type: 2
Digest: F7FA43336165E3B072A620797FFD5AFBD580F6FF52D89A*****7F0D2665D573</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5439" data-end="5506">Không nhập tên miền, TTL <code data-start="5464" data-end="5470">3600</code> hoặc nội dung <code data-start="5485" data-end="5492">IN DS</code> vào ô Digest.</p>
<hr data-start="5575" data-end="5578" />
<h2 data-section-id="1nnyfaf" data-start="5580" data-end="5618">7. Kiểm tra DNSSEC sau khi cấu hình</h2>
<p data-start="5620" data-end="5680">Sau khi lưu và bật DNSSEC, có thể kiểm tra bằng các công cụ:</p>
<ul data-start="5682" data-end="5747">
<li data-section-id="2wkh3j" data-start="5682" data-end="5691"><a href="https://dnsviz.net/">DNSViz</a>;</li>
<li data-section-id="1ykuyit" data-start="5692" data-end="5719"><a href="https://dnssec-debugger.verisignlabs.com/">Verisign DNSSEC Debugger</a>;</li>
<li data-section-id="spjyw7" data-start="5720" data-end="5747"><a href="https://toolbox.googleapps.com/apps/dig/">Google Admin Toolbox Dig</a>.</li>
</ul>
<p data-start="5749" data-end="5767">Hoặc sử dụng lệnh:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="contents">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>dig DS tenmien.com
dig DNSKEY tenmien.com
dig <span class="ͼv">+</span>dnssec tenmien.com</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class=""></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5848" data-end="5874">DNSSEC hoạt động đúng khi:</p>
<ul data-start="5876" data-end="5968">
<li data-section-id="f7zqnt" data-start="5876" data-end="5891">Có DS Record;</li>
<li data-section-id="ojnlgt" data-start="5892" data-end="5904">Có DNSKEY;</li>
<li data-section-id="1puriu" data-start="5905" data-end="5937">DS khớp với khóa đang sử dụng;</li>
<li data-section-id="1iu3yky" data-start="5938" data-end="5968">Không xuất hiện lỗi <code data-start="5960" data-end="5967">BOGUS</code>.</li>
</ul>
<hr data-start="5970" data-end="5973" />
<h2 data-section-id="1nwnq4l" data-start="5975" data-end="5993">8. Một số lưu ý</h2>
<ul data-start="5995" data-end="6562">
<li data-section-id="129o6mr" data-start="5995" data-end="6057">Luôn kiểm tra tên miền đã đăng ký DNSSEC trước khi cấu hình.</li>
<li data-section-id="10wddhu" data-start="6058" data-end="6123">Xác định chính xác Nameserver đang thuộc Tenten hay bên thứ ba.</li>
<li data-section-id="1vvoswq" data-start="6124" data-end="6193">Nếu dùng Cloudflare hoặc DNS riêng, phải lấy DS/KSK từ hệ thống đó.</li>
<li data-section-id="ouhc22" data-start="6194" data-end="6256">Nếu chỉ có một DS, phải nhập giống nhau vào cả DS 1 và DS 2.</li>
<li data-section-id="iytypv" data-start="6257" data-end="6307">Nếu có hai DS, nhập đúng từng bản ghi tương ứng.</li>
<li data-section-id="1q8y0bd" data-start="6308" data-end="6379">Không tự sửa Key Tag, Algorithm, Digest Type, Digest hoặc Public Key.</li>
<li data-section-id="t22zj" data-start="6380" data-end="6434">Không thay đổi Nameserver khi DNSSEC đang hoạt động.</li>
<li data-section-id="1v1dc5v" data-start="6435" data-end="6490">Không bật, tắt DNSSEC nhiều lần trong thời gian ngắn.</li>
<li data-section-id="p1vef4" data-start="6491" data-end="6562">Sau khi thao tác cần chờ hệ thống đồng bộ trước khi kiểm tra kết quả.</li>
</ul>
<p>Trong trường hợp Quý khách thao tác không được có thể gửi email hỗ trợ đến hòm thư : kythuat@tenten.vn để được hỗ trợ.</p>
<p>Bài viết <a href="https://help.tenten.vn/huong-dan-cau-hinh-dnssec-cho-ten-mien-tai-tenten/">Hướng dẫn cấu hình DNSSEC cho tên miền tại Tenten</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hướng dẫn cách upload source code WordPress trên DirectAdmin</title>
		<link>https://help.tenten.vn/huong-dan-cach-upload-source-code-wordpress-tren-directadmin/</link>
		
		<dc:creator><![CDATA[Nguyễn Thành Trung]]></dc:creator>
		<pubDate>Tue, 08 Oct 2024 21:21:14 +0000</pubDate>
				<category><![CDATA[WordPress Hosting]]></category>
		<guid isPermaLink="false">https://help.tenten.vn/?p=14183</guid>

					<description><![CDATA[<p>Ở bài viết này TENTEN sẽ hướng dẫn các bạn cách để có thể đưa source code WordPress mới lên, cấu hình và thiết lập sao cho website đi vào hoạt động. 1. Tải xuống source code WordPress: &#8211; Các bạn truy cập vào đường dẫn https://wordpress.org/download/, sau đó tải xuống bản mới nhất về &#8211; &#8230;</p>
<p>Bài viết <a href="https://help.tenten.vn/huong-dan-cach-upload-source-code-wordpress-tren-directadmin/">Hướng dẫn cách upload source code WordPress trên DirectAdmin</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ở bài viết này TENTEN sẽ hướng dẫn các bạn cách để có thể đưa source code WordPress mới lên, cấu hình và thiết lập sao cho website đi vào hoạt động.</p>
<p>1. Tải xuống source code WordPress:</p>
<p>&#8211; Các bạn truy cập vào đường dẫn <a href="https://wordpress.org/download/">https://wordpress.org/download/</a>, sau đó tải xuống bản mới nhất về</p>
<p><img decoding="async" src="https://drive.inet.vn/uploads/donv@inet.vn/ticketattachments/file-1707963192566_1707963262557.jpg" /></p>
<p>&#8211; Nếu muốn sử dụng bản WordPress cũ hơn, các bạn chỉ cần gõ thêm thông tin phiên bản đó trên trang tìm kiếm là được.</p>
<p>2. Truy cập vào trang DirectAdmin và upload source code lên</p>
<p>&#8211; Vào <strong>File Manager</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14184" src="https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc.png" alt="" width="1362" height="769" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc.png 1362w, https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc-300x169.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc-1024x578.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc-768x434.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/bcvbc-390x220.png 390w" sizes="auto, (max-width: 1362px) 100vw, 1362px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&#8211; Vào thư mục <strong>public_html</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14185" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211.png" alt="" width="1577" height="821" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211.png 1577w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211-300x156.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211-1024x533.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211-768x400.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040211-1536x800.png 1536w" sizes="auto, (max-width: 1577px) 100vw, 1577px" /></p>
<p>&#8211; Click chuột phải chọn Upload File</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14186" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040653.png" alt="" width="1468" height="852" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040653.png 1468w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040653-300x174.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040653-1024x594.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040653-768x446.png 768w" sizes="auto, (max-width: 1468px) 100vw, 1468px" /></p>
<p>&#8211; Chọn source code WordPress và sau đó ấn <strong>Upload</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14187" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040907.png" alt="" width="1487" height="802" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040907.png 1487w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040907-300x162.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040907-1024x552.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_040907-768x414.png 768w" sizes="auto, (max-width: 1487px) 100vw, 1487px" /></p>
<p>&#8211; Khi upload xong file, ta tiến hành giải nén như ảnh dưới:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14188" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011.png" alt="" width="1651" height="918" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011.png 1651w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011-300x167.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011-1024x569.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011-768x427.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041011-1536x854.png 1536w" sizes="auto, (max-width: 1651px) 100vw, 1651px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14189" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211.png" alt="" width="1805" height="888" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211.png 1805w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211-300x148.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211-1024x504.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211-768x378.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041211-1536x756.png 1536w" sizes="auto, (max-width: 1805px) 100vw, 1805px" /></p>
<p>&#8211; Đây là tổng quan sau khi giải nén xong:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14190" src="https://help.tenten.vn/wp-content/uploads/2024/10/fsd.png" alt="" width="1796" height="928" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/fsd.png 1796w, https://help.tenten.vn/wp-content/uploads/2024/10/fsd-300x155.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/fsd-1024x529.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/fsd-768x397.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/fsd-1536x794.png 1536w" sizes="auto, (max-width: 1796px) 100vw, 1796px" /></p>
<p>3. Tạo database cho website</p>
<p>&#8211; Ta cần tạo database để có thể cấu hình setting WordPress cho website ở bước sau, các bạn truy cập vào mục <strong>MySQL Management:</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14191" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041413.png" alt="" width="1454" height="893" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041413.png 1454w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041413-300x184.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041413-1024x629.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041413-768x472.png 768w" sizes="auto, (max-width: 1454px) 100vw, 1454px" /></p>
<p>&#8211; Các bạn tìm phần <strong>Create Database</strong></p>
<p>&#8211; Các bạn tạo tùy ý theo nhu cầu của bản thân để dễ nhớ</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-14192" src="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745.png" alt="" width="1883" height="639" srcset="https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745.png 1883w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745-300x102.png 300w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745-1024x347.png 1024w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745-768x261.png 768w, https://help.tenten.vn/wp-content/uploads/2024/10/2024-10-09_041745-1536x521.png 1536w" sizes="auto, (max-width: 1883px) 100vw, 1883px" /></p>
<p>4. Cấu hình WordPress:</p>
<p>&#8211; Ở bước này khi truy cập vào tên miền các bạn sẽ thấy bước cấu hình:</p>
<p><img decoding="async" src="https://drive.inet.vn/uploads/donv@inet.vn/ticketattachments/file-1707964434356_1707964504420.jpg" /></p>
<p>&#8211; Các bạn tiếp tục làm tương tự với việc cấu hình WordPress ở mọi nền tảng khác.</p>
<p>Chúc các bạn thao tác thành công!</p>
<p>Bài viết <a href="https://help.tenten.vn/huong-dan-cach-upload-source-code-wordpress-tren-directadmin/">Hướng dẫn cách upload source code WordPress trên DirectAdmin</a> đã xuất hiện đầu tiên vào ngày <a href="https://help.tenten.vn">Hướng dẫn TENTEN</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
