September 23, 2020

Language:

CamSA20-15: ចំណុចខ្សោយធ្ងន់ធ្ងរនៅក្នុងកម្មវិធី Apache Tomcat

១. ព័ត៌មានទូទៅ

ភាពងាយ​រងគ្រោះ​ ឬចំណុចខ្សោយ​មាន​នៅ​ក្នុង​កម្មវិធី Apache Tomcat ចំណុចខ្សោយ​នេះ​ត្រូវ​បាន​កំណត់​លេខ​សម្គាល់​ (CVE-2020-1938) មាន​កម្រិតសុវត្ថិភាព​ធ្ងន់ធ្ងរ​។ ចំណុចខ្សោយនេះកើតឡើងដោយសារតែកំហុសឆ្គងនៅក្នុងកម្មវិធី Apache JServ Protocol (AJP) អាចអនុញ្ញាតឱ្យមានការលួចមើ/កែប្រែឯកសារសំខាន់លើម៉ាស៊ីនកុំព្យូទ័រមេ និងលួចយកទិន្នន័យសំខាន់ផ្សេងៗ ឬដំណើរពាក្យបញ្ជា។

២. ផលិតផលដែលរងផលប៉ះពាល់

• Apache Tomcat 9.x ដែលមានកំណែទាបជាង 9.0.31
• Apache Tomcat 8.x ដែលមានកំណែទាបជាង 8.5.51
• Apache Tomcat 7.x ដែលមានកំណែទាបជាង 7.0.100 និងកំណែ Apache Tomcat 6.x

៣.ផលវិបាក

អ្នកវាយប្រហារជោគជ័យតាមរយៈចំណុចខ្សោយនេះអាចដំណើរការពីបញ្ជាពីម្ងាយ និងគ្រប់គ្រងប្រព័ន្ធទាំងស្រុង។

៤. ការណែនាំ

ដើម្បីជួសជុលនៅចំណុចខ្សោយនេះអោយបានត្រឹមត្រូវ មុនដំបូងអ្នកត្រូវកំណត់ថាតើសេវាកម្ម Tomcat AJP Connector ត្រូវបានប្រើប្រាស់នៅលើម៉ាស៊ីនកំុព្យូទ័រមេរបស់អ្នកឬទេ?

  • ប្រសិនបើ cluster ឬ reverse proxy មិនត្រូវបានប្រើ អ្នកអាចកំណត់ថា AJP មិនត្រូវបានប្រើ។
  • បើមិនដូច្នោះទេអ្នកត្រូវជួសជុល ប្រសិនបើ cluster ឬ reverse server កំពុងតែភ្ជាប់ទំនាក់ទំនង ជាមួយសេវាកម្ម Tomcat AJP ។

១. ប្រសិនបើសេវាកម្មភ្ជាប់ AJP មិនត្រូវបានប្រើ៖

    • ប្រសិនបើ AJP Connector service មិនដំណើរការ អ្នកអាចធ្វើបច្ចុប្បន្នភាព Tomcat ទៅកាន់កំណែ 9.0.31, 8.5.51, ឬ 7.0.100 ដើម្បីជួសជុលចំណុចខ្សោយនេះ ។
    • ប្រសិនបើអ្នកអាចធ្វើបច្ចុប្បន្នភាព សូមធ្វើការបិទ AJP Connector service ឬប្តូរអាសយដ្ឋាន listening ទៅជា localhost។

អនុវត្តតាមវិធីខាងក្រោម៖

  • (1) Edit <CATALINA_BASE>/conf/server.xml,find the following line (<CATALINA_BASE> is the Tomcat work directory):

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />

  • (2) Comment out it (or just delete it):

<!–<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />–>

  • (3) Save the edit, and then restart Tomcat.

បន្ថែមលើវិធានការខាងលើនេះ អ្នកក៏អាចប្រើអាចប្រើ firewall ដើម្បីការពារអាសយដ្ឋានផ្សេងភ្ជាប់មកកាន់ Tomcat AJP Connector service port។

២. ប្រសិនបើសេវាកម្មភ្ជាប់ AJP កំពុងប្រើប្រាស់៖

ប្រសិនបើសេវាកម្ម AJP Connector កំពុងដំណើរការ សូមធ្វើបច្ចុប្បន្នភាព Upgrade Tomcat ទៅកំណែ 9.0.31, 8.5.51, ឬ 7.0.100 ហើយបន្ទាប់មកធ្វើការកំណត់ “secret” នៅលើ AJP Connector ដើម្បីដាក់ដំណើរការ AJP protocol authentication credentials ។

ឧទាហរណ៍:
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ address=”YOUR_TOMCAT_IP_ADDRESS” secret=”YOUR_TOMCAT_AJP_SECRET” />

ប្រសិនបើអ្នកមិនអាចធ្វើបច្ចុប្បន្នភាពបាន អ្នកអាចធ្វើការកំណត់ “requiredSecret” នៅលើ  AJP Connector ដើម្បីដើម្បីដាក់ដំណើរការ AJP protocol authentication credentials។

ឧទាហរណ៍:
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ address=”YOUR_TOMCAT_IP_ADDRESS” requiredSecret=”YOUR_TOMCAT_AJP_SECRET” />

៥. ឯកសារពាក់ព័ន្ធ

  • https://www.csa.gov.sg/singcert/alerts/critical-vulnerability-in-apache-tomcat-cve-2020-1938
  • https://www.chaitin.cn/en/ghostcat
  • https://www.zdnet.com/article/ghostcat-bug-impacts-all-apache-tomcat-versions-released-in-the-last-13-years/
***Disclaimer: CamCERT own some of the content. Our purpose is pure to help spread the awareness, tips or other information related to security to everyone. Even though every information is true, accurate, completed and appropriate, we make no responsibility nor warranty since everything could go wrong.