|
|
conmale wrote:
azteam wrote:
Hi anh,
Vấn đề là khi tình trạng trên xẩy ra em không thể làm gì được, nên không show được thông tin như anh yêu cầu.
"top" process trên là do em để sẵn shell trước khi server bị treo.
Hiện tại em đã phải reboot server để chạy dịch vụ. Thường thì chạy sau vài ngày mới bị lại tình trạng trên.
Em sẽ gửi anh thông tin anh cần sau, nhưng với tình trạng trên thì có thể do đâu?.
Thanks,
Trên máy chủ ấy em chạy những ứng dụng nào với những biên bản nào? (apache, mysql...) . Hồ sơ cấu hình của chúng ra sao?
Tình trạng trên thường do bị memory leak khiến cho physical memory bị cạn kiệt nên phải nhảy sang dùng swap (bởi thế kswapd0 mới bận rộn mà nuốt quá nhiều CPU như thế). Muốn fix tình trạng này thì cần xác định xem ứng dụng nào nuốt quá nhiều memory.
Thông tin top anh cần không nhất thiết phải ngay lúc server bị crash mà chỉ cần 2 cái cách nhau chừng 30 phút.
Hi anh,
Server của em chạy các ứng dụng web. Version:
Code:
PHP 5.2.9 (cli) (built: Mar 10 2009 02:32:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Suhosin v0.9.27, Copyright (c) 2007, by SektionEins GmbH
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
--------
Server version: Apache/2.2.11 (Unix)
Server built: Mar 10 2009 02:03:31
--------
mysql Ver 14.12 Distrib 5.0.67, for redhat-linux-gnu (i686) using readline 5.1
Ngoài ra còn chạy cpanel, modsec2, apf firewall, với một số ứng dụng khác đi kèm.
Kết quả em "top" process khi server đang bình thường:
Code:
top - 17:04:41 up 5:25, 1 user, load average: 21.17, 17.83, 15.31
Tasks: 184 total, 3 running, 176 sleeping, 1 stopped, 4 zombie
Cpu(s): 63.4%us, 20.7%sy, 0.0%ni, 15.1%id, 0.1%wa, 0.0%hi, 0.8%si, 0.0%st
Mem: 8310272k total, 6167988k used, 2142284k free, 407008k buffers
Swap: 16482680k total, 0k used, 16482680k free, 4953304k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5392 mysql 10 -5 640m 255m 3724 S 80.5 3.1 96:37.16 mysqld
10259 root 18 0 37076 33m 2508 S 0.0 0.4 0:11.88 spamd
6960 root 17 0 36556 33m 2508 S 0.0 0.4 0:13.77 spamd
26518 nobody 18 0 322m 29m 2152 S 1.7 0.4 0:04.94 httpd
19723 nobody 18 0 321m 29m 2224 S 1.3 0.4 0:07.62 httpd
23291 nobody 24 0 261m 29m 2220 S 0.0 0.4 0:04.89 httpd
5493 root 15 0 31668 28m 2500 S 0.0 0.4 0:01.65 spamd
28423 nobody 18 0 321m 28m 2224 S 1.0 0.3 0:03.05 httpd
13240 nobody 18 0 290m 28m 2228 S 0.0 0.3 0:07.97 httpd
27906 nobody 18 0 320m 27m 2192 S 1.3 0.3 0:04.15 httpd
29667 nobody 18 0 319m 26m 1996 S 1.3 0.3 0:02.99 httpd
30573 nobody 18 0 319m 26m 1996 S 1.7 0.3 0:02.52 httpd
723 nobody 18 0 318m 26m 1992 S 0.7 0.3 0:01.19 httpd
32145 nobody 18 0 319m 25m 1988 S 1.0 0.3 0:01.86 httpd
31994 nobody 18 0 317m 25m 1976 S 1.0 0.3 0:02.02 httpd
2179 nobody 18 0 317m 24m 1988 S 1.7 0.3 0:00.56 httpd
999 nobody 18 0 176m 24m 1992 S 0.0 0.3 0:01.04 httpd
2531 nobody 18 0 317m 24m 1996 S 2.0 0.3 0:00.41 httpd
8799 root 18 0 43860 20m 2476 S 0.0 0.3 0:01.34 httpd
8805 nobody 20 0 43408 18m 1000 S 0.0 0.2 0:00.00 httpd
8811 root 18 0 43276 18m 472 S 0.0 0.2 0:00.00 httpd
3606 usera 17 0 42520 16m 6216 S 4.7 0.2 0:00.14 php
6391 gdm 19 0 32232 15m 7744 S 0.0 0.2 0:00.48 gdmgreeter
24554 root 37 19 22564 13m 2948 S 0.0 0.2 0:12.26 cpanellogd
14104 anhthe 34 19 22564 11m 880 S 0.0 0.1 0:00.00 cpanellogd
3563 userx 17 0 35956 11m 5516 S 1.3 0.1 0:00.04 php
1921 usery 16 0 35668 10m 5480 S 0.0 0.1 0:00.04 php
2111 userz 17 0 35668 10m 5476 S 0.0 0.1 0:00.04 php
6051 root 34 19 26500 9.9m 2136 S 0.0 0.1 0:00.03 yum-updatesd
20 mins sau:
Code:
top - 17:26:53 up 5:47, 1 user, load average: 9.85, 16.56, 20.80
Tasks: 189 total, 23 running, 160 sleeping, 1 stopped, 5 zombie
Cpu(s): 78.7%us, 21.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8310272k total, 6443084k used, 1867188k free, 415072k buffers
Swap: 16482680k total, 0k used, 16482680k free, 5116000k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5392 mysql 10 -5 643m 259m 3724 S 43.2 3.2 116:39.42 mysqld
3976 nobody 18 0 359m 66m 2204 S 1.3 0.8 0:06.65 httpd
11027 nobody 18 0 347m 55m 2180 S 2.5 0.7 0:02.46 httpd
10259 root 15 0 37076 33m 2508 S 0.0 0.4 0:12.63 spamd
6960 root 16 0 36556 33m 2512 S 0.0 0.4 0:20.97 spamd
5493 root 15 0 31668 28m 2500 S 0.0 0.4 0:01.71 spamd
8407 nobody 18 0 320m 28m 2788 S 2.5 0.3 0:03.29 httpd
2605 nobody 18 0 319m 27m 2212 S 3.8 0.3 0:05.85 httpd
1512 nobody 18 0 319m 26m 2212 S 3.8 0.3 0:06.35 httpd
10669 nobody 18 0 318m 26m 2180 S 2.5 0.3 0:02.31 httpd
13113 nobody 18 0 317m 25m 2192 S 3.8 0.3 0:01.04 httpd
14185 nobody 18 0 317m 23m 2176 S 1.3 0.3 0:00.50 httpd
13789 nobody 18 0 316m 23m 2196 S 3.8 0.3 0:00.60 httpd
14920 userg 18 0 46568 22m 6468 R 42.0 0.3 0:00.33 php
14689 nobody 18 0 313m 21m 1964 S 0.0 0.3 0:00.09 httpd
8799 root 18 0 43860 20m 2476 S 0.0 0.3 0:01.46 httpd
14941 nobody 19 0 313m 19m 452 R 0.0 0.2 0:00.00 httpd
8805 nobody 17 0 43408 18m 1000 S 0.0 0.2 0:00.00 httpd
8811 root 18 0 43276 18m 472 S 0.0 0.2 0:00.00 httpd
14933 userf 17 0 43304 17m 6176 R 19.1 0.2 0:00.15 php
14922 usere 18 0 41172 17m 6132 R 20.3 0.2 0:00.16 php
14931 usere 18 0 40928 16m 6104 R 16.5 0.2 0:00.13 php
6391 gdm 17 0 32232 15m 7744 S 0.0 0.2 0:00.49 gdmgreeter
14921 userd 17 0 38704 14m 6100 R 14.0 0.2 0:00.11 php
14935 userc 17 0 39152 14m 6264 R 26.7 0.2 0:00.21 php
24554 root 37 19 22564 13m 2948 S 0.0 0.2 0:12.26 cpanellogd
14944 usera 18 0 37252 13m 5816 R 8.9 0.2 0:00.07 php
14945 userb 18 0 39260 12m 5556 R 8.9 0.2 0:00.07 php
14943 userb 18 0 38236 11m 5468 R 6.4 0.1 0:00.05 php
Thanks,
|
|
|
Hi anh,
Vấn đề là khi tình trạng trên xẩy ra em không thể làm gì được, nên không show được thông tin như anh yêu cầu.
"top" process trên là do em để sẵn shell trước khi server bị treo.
Hiện tại em đã phải reboot server để chạy dịch vụ. Thường thì chạy sau vài ngày mới bị lại tình trạng trên.
Em sẽ gửi anh thông tin anh cần sau, nhưng với tình trạng trên thì có thể do đâu?.
Thanks,
|
|
|
conmale wrote:
azteam wrote:
Em có con server chạy Centos 5.2 (Core2 Quad 6600, 8GB RAM, 16 GB swap). Gần đây xuất hiện tình trạng kswapd sử dụng 100% CPU, RAM free chỉ còn hơn 10MB. Server treo không làm gì được. Reboot thi lại chạy bình thường. Không biết vấn đề do đâu?. Mọi người tư vấn giùm em với.
Trước tiên cần xác định những process nào tạo tình trạng này. Xem "top" thử process nào nuốt memory như vậy rồi từ đó mới xét đến giải pháp.
Hi anh,
Sau khi tìm hiểu, có nhiều khả năng có thể dẫn đến tình trạng trên. Trong đó vấn đề từ kernel cũng có thể xảy ra. Em đã thử update kernel, chạy ổn định được 3 ngày rồi tình trạng nõ vẫn trở lại như cũ.
Tại thời điểm treo CPU, xem "top" process có thông tin chú ý:
Code:
top - 11:34:30 up 3 days, 2:24, 5 users, load average: 143.30, 108.64, 56.17
Tasks: 319 total, 11 running, 299 sleeping, 0 stopped, 9 zombie
Cpu(s): 45.6%us, 10.3%sy, 0.2%ni, 41.9%id, 1.4%wa, 0.0%hi, 0.6%si, 0.0%st
Mem: 8310272k total, 7419692k used, 890580k free, 448252k buffers
Swap: 16482680k total, 76k used, 16482604k free, 5509184k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
205 root 11 -5 0 0 0 R 101.1 0.0 8:13.03 kswapd0
27209 root 18 0 2028 728 592 R 101.1 0.0 8:17.19 repquota
28935 root 15 0 2324 1048 712 R 1.9 0.0 0:00.01 top
1 root 15 0 2064 636 548 S 0.0 0.0 0:05.90 init
Tại thời điểm này tất cả service trên server đều bị stop.
Theo anh và mọi người có thể do đâu?
|
|
|
Em có con server chạy Centos 5.2 (Core2 Quad 6600, 8GB RAM, 16 GB swap). Gần đây xuất hiện tình trạng kswapd sử dụng 100% CPU, RAM free chỉ còn hơn 10MB. Server treo không làm gì được. Reboot thi lại chạy bình thường. Không biết vấn đề do đâu?. Mọi người tư vấn giùm em với.
|
|
|
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
Nó liên quan đến 2 giá trị trên ? hay chính xác hơn là Apache MPM prefork
|
|
|
Thanks bác Quần tã.
|
|
|
Em hỏi một chút vấn đề nhỏ.
Không rõ sự khác nhau giữa
Code:
/etc/init.d/httpd restart
và
Code:
là gi?
Khi em ssh vào từ một user thường (thuộc wheel group) sau đó su lên root thì không dùng được service httpd [/start/stop ...] trong khi ssh từ user root thì lại dùng được.
Thanks,
|
|
|
Em dùng Windows server 2003 SP2. Gần đây gặp một số vấn đề với "Sharing and Security" tab. Khi click vào Folder hay Files thì mất lựa chọn Sharing and Seciruty hay tab Security. Đã thử Uninstall và Install lại "File and Printer Sharing" trên NIC thì được một lúc (khoảng 15 mins) lại bị trở lại như cũ.
Mọi người có kinh nghiệm trong vấn đề này giúp em chút?. Thanks.
|
|
|
Ngoài các vấn đề BachDuongTM đề cập. Em cũng có một số ý kiến:
- Hiện tại nên backup source về check lại cẩn thận xem có gì khác không, check logfile web xem file đấy được upload lên host bằng cách nào?
- Nếu không nhầm thì Forum WWF chạy .asp, nếu chỉ chạy .asp thôi thì tốt nhất Website Extensions chỉ cho chạy asp, bỏ asp.net và php đi.
- Để chống k-shell thường từ các hosting provider(chạy .NET với trust level = medium, không cho overwrite webconfig, ...). nếu bạn không tự xử lý được tốt nhất nên liện hệ với hosting provider để cùng xử lý.
- Nếu dùng shared hosting thì vấn đề secu cho host rất khó khăn và không mấy khả thi.
|
|
|
- Yên cầu remove xong, phải chờ một thời gian (thường không lâu lắm sau khi check thấy ko nằm trong blacklist) thì mới gửi được.
- Check xem IP bạn đã được add ptr chưa?
|
|
|
Thực sự la vừa đi làm (lại làm cho cty nước - nhiều áp lực công việc) vừa làm đồ án tốt nghiệp thì không thật khả thi lắm. Với lại chắc j thầy giáo hướng dẫn đã cho phép thông đồ án qua email như thế. Trước đây tớ cũng mất một kỳ vì vừa làm đò án vừa đi làm, may mà còn hối kịp . Theo tớ nên làm cho xng dứt điểm đồ án rồi muốn làm j thì làm. Cơ hội còn nhiều.
|
|
|
Bác này nản quá. Hỏi không rõ ràng gì cả.
Log vào root được rồi thì change luôn. Còn vào đồ họa làm gĩ nữa trời
|
|
|
Khi install modsec2, nếu em dùng easy apache thì không có vấn đề j nhưng khi em install trực tiếp trên server, sau khi setup thành công, restart apache thì nó báo lỗi:
httpd: Syntax error on line 29 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/apache/mod_security2.so into server: /usr/lib/apache/mod_security2.so: undefined symbol: msr_log
Mọi người giúp em với.
|
|
|
Với cách chmod của bác quanta, thì có thể khắc phục được vấn đề trên. Nhưng nếu em có một con server (dùng shared host, có control panel (cpanel chẳng hạn)) thì user khi login vào control panel sẽ bị báo lỗi. Vậy có cách khắc phục nào cho cả 2 vấn đề trên không?.
|
|
|
Cảm ơn bác. Em tìm chưa kỹ. Có vấn đề gì sẽ hỏi thêm mọi người.
|
|
|
Em có con linux cài Centos nhưng lỡ quên mất passwd root. Mọi người có cách nào recovery passwd hướng dẫn em với.
Thanks,
|
|
|
Thử tìm hiểu về secwatch xem sao. Được viết = cả PHP, cả C. Sử dụng đọc và phân tích syslog, tạo các cảnh báo theo thời gian thực. Hình như trên diễn đàn đã có giới thiệu qua rồi hay sao.
Download tại http://secwatch.sourceforge.net/v0.3/ cho source PHP.
Tại http://www.ducksfeet.com/nic/secwatchd/files.html nếu thích C.
|
|
|
Bạn đã gặp khó khăn với time trên server bao giờ chưa. Đặc biệt là đối với các server VPS, time chỉnh đi chỉnh lại vẫn cứ chạy vù vù. Sử dụng rdate là một giải pháp cho vấn đề này.
Trước tiên:
Open crontab ra
1.#nano /etc/crontab
Thêm vào dòng sau: * * * * * root run-parts /etc/cron.minute
Với time thì tốt nhất nên update theo minute.
Tiếp theo
2.#mkdir /etc/cron.minute
Command này chắc không phải giải thích nhiều
3. Bước này quan trọng, Tìm một con time server cho phù hợp với time trên server của mình. Sau một hồi google, đã
tìm được 1 con time server: 164.67.62.194 (Mọi người có thể tìm các time server khác).
Thử test xem sao:
# rdate 164.67.62.194
rdate: [164.67.62.194] Sun Jan 20 06:04:59 2008
Oh, ngon rồi.
4. #nano /etc/cron.minute/updateclock
Paste đoạn shell này vào:
#!/bin/sh
rdate 164.67.62.194 > /var/log/updateclock.log
rdate 164.67.62.194 -s
/sbin/hwclock --systohc
Hai bước tiếp theo khá đơn giản
5. #chmod 655 /etc/cron.minute/updateclock
6. #service crond restart
Giờ thì không phải lo vấn đề time của server nữa rồi (Cho đến khi con time server kia die lại phải tìm con khác thay thế )
|
|
|
Thanks bác. Bài viết của bác khá đầy đủ. Tuy nhiên có chỗ chưa thật chính xác:
PTR: tên đầy đủ của server
Nói chính xác thì PTR (Point Record ) là một loại bản ghi (Record). Một bản ghi PTR thực hiện việc ánh xạ một địa chỉ IP đến một tên miền.
Ex: 1.168.192.in-addr. arpa IN PTR mail.quanta-site.com
in-addr. arpa và . arpa là các mức cao nhất trong không gian tên và miền ngược. Vì thế mọi tên miền ngược đều có đuôi là .in-addr.arpa.
PTR có thể nói khá quan trọng đặc biệt trong việc sử dụng email, rất nhiều trường hợp không gửi được email cho các email đuôi @fpt, @viettel, @vnn ... là do server của các hosting provider chưa được add PTR.
Một vài ý kiến nhỏ.
|
|
|
Bác nói thêm về Zone: 1.168.192.IN-ADDR.ARPA . Nó có gì đặc biệt?.
Em thường thấy sau khi add site vào thì trong zone 1.168.192.IN-ADDR.ARPA nó thường có dạng:
$TTL 86400
@ IN SOA ns1.mysite.com. hostmaster.mysite.com. (
2007121601 ; serial, todays date + todays serial #
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns1.mysite.com.
NS ns2.mysite.com.
123 PTR test123.com.
123 PTR www.test123.com.
file named.conf và 1.168.192.IN-ADDR.ARPA có mối quan hệ gì không?
|
|
|
I think:
Câu 17.d
Câu 20.d
|
|
|
Em install kernel-PAE cho Centos 5.0 để Update từ 4 GB RAM lên 8 GB RAM nhưng liên tục bị báo lỗi:
end_request: I/O error, dev fd0, sector 0
Mặc dầu Install vẫn báo complete nhưng không thể nào Update lên 8 GB RAM được.
Mọi người troubleshoot em với.
|
|
|
lQ wrote:
azteam wrote:
Bài viết rất bổ ích về syslog. Cảm ơn bác quanta.
Hiện tại em đang thử viết tool hoạt động như một IDS dựa trên phân tích syslog của webserver. Tuy nhiên còn đang mắc ở đoạn parse những syslogs (exam: apache log) này sang một chuẩn riêng. Nhân tiện cho em một số hướng giải quyết?.
Thanks.
Thử tìm hiểu về OSSEC xem. Đây là 1 Host-based IDS. Một trong những tính năng của nó là phân tích logs và phát ra những alerts theo những rules đã cài đặt trước.
OSSEC em sẽ tìm hiểu sau vì theo em biết nó khá rộng và phức tạp.
Hiện tại em đang tìm hiểu về secwatch.
lQ wrote:
Vì lĩnh vực phân tích log khá rộng nên để thảo luận chi tiết và tránh đi xa chủ đề syslog này, đề nghị bạn mở 1 topic chuyên về phân tích logs. Nếu chỉ đào sâu công cụ OSSEC thì đặt tiêu đề có liên quan đến phần mềm này.
Em sẽ mở topic mới về vấn đề trên. Thanks bác nhắc nhở.
|
|
|
Bài viết rất bổ ích về syslog. Cảm ơn bác quanta.
Hiện tại em đang thử viết tool hoạt động như một IDS dựa trên phân tích syslog của webserver. Tuy nhiên còn đang mắc ở đoạn parse những syslogs (exam: apache log) này sang một chuẩn riêng. Nhân tiện cho em một số hướng giải quyết?.
Thanks.
|
|
|
hackerbinhphuoc wrote:
Cách khắc phục :
- Tốt nhất là chạy thành nhiều application pool, mỗi 1 site chạy bằng 1 acc asp.net riêng
- Cấu hình tốt cho WMI, WSH, regedit,... (đọc tài liệu để tìm hiểu)
Hiện tại mình đang dùng theo cách thứ nhất của bạn nhưng như thế thì cực là bất tiện vì cứ có thêm user thì lại phải add thêm 1 Pool nữa.
Còn config lại WMI, regedit thì mình cũng đã thử nhưng vẫn chưa có ăn thua.
em cũng nghỉ như anh conmale vậy! tuy nhiên ở đây em chỉ muốn làm rõ việc kshell và c99 là 2 chuyện hoàn toàn khác nhau, còn anh azteam có thể tham khảo các bài viết trên hoặc liên hệ kikicoco nhé, em chẳng biết gì nên không đóng góp ý kiến được!
Mình cảm ơn và rất mong được sự đóng góp. Vấn đề này không chỉ cho riêng cá nhân mình mà còn cho cả rất nhiều người.
|
|
|
Thử đọc thêm cái
http://www.linuxweblog.com/node/340
xem sao?.
|
|
|
Không thể biết được người viết ra 2 con r57 hay c99 với mục đích nào?. Check bảo mật của site hay là để phá hoại?. Tuy nhiên, có rất nhiều kẻ sử dụng chúng nhằm mục đích xấu. Như thế người viết ra chúng đã gián tiếp tiếp nay cho phá hoại rồi. Nếu họ chỉ dùng để check site của mình thì chắc là họ không public.
có thể sever của bạn có người up con này lên, nhưng thấy vừa up r57 vừa up kshell thì người này hơi vui tính một chút!, bạn nói rõ site của bạn được không ?
Site nào không quan trọng, vì theo mình biết thì có rất nhiều site chứ không riêng gì site của mình.
Nói chung thi cả kshell và webadmin đều hoạt động theo một cách thức giống nhau. Nó đều lợi dụng điểm yếu trong bảo mật của .NET. Đó là không ngăn cản các application chạy với quyền Full Trust sử dụng Windows API.
Vấn đề này hiện đang rất nan giải. Hiện tại mình chỉ mới nghĩ được một cách là giảm Trust Level của user .NET nhưng đó cũng chỉ giải pháp tạm thời vì mọi người cũng biết khi giảm Trust Level sẽ kéo theo những gì.
Mọi người thử nêu một vài cách khác xem sao?.
|
|
|
Bạn hơi bị được anh conmale ưu tiên đấy. Chắc đợt này ảnh hơi bị rảnh. Đợt trước mình có nhờ ảnh hướng dẫn về cái này nhưng chắc ảnh bận quá nên chỉ hướng dẫn sơ sơ . Bạn có thể tìm được rất nhiều bài trên diễn đàn nói về snort (Mình nhớ là bác Mulan đã có 1 chủ đề nói rất cụ thể về snort - hình như là do bác channhua viết hay sao ấy?). Mình cũng có khá nhiều tài liệu về snort, ACID, IDS ... (Ngày trước được bác channhua gửi) nếu cần bạn liên hệ mình sẽ share. Nếu bạn kết hợp được Snort+ACID+Webmin+Iptables thì thật là tốt.
p/s: Anh comale khá nhiều... tủi rồi đấy .
|
|
|
Vì host của em là shared hosting nên em biết vấn đề bảo mật cho nó là rất khó. Nhưng cứ thế này chắc data sớm muộn j cũng không cánh mà bay mất.
Vì site em là site buôn bán nên quyền upload được set cho rất nhiều user. Giờ mà giới hạn thì lại ảnh hưởng đến site.
Umh... Không biết có cách nào vẹn cả đôi đường không anh. Chứ ngày nao em cũng phải cho chạy scripts để quét thì mất công quá anh à.
|
|
|
|
|
|
|