មាតិកា[លាក់][បង្ហាញ]
Log4Shell ដែលជាភាពងាយរងគ្រោះលើអ៊ីនធឺណិត ថ្មីៗនេះបានប៉ះពាល់ដល់ម៉ាស៊ីនរាប់លាន។ Log4j ដែលជាផ្នែកមិនច្បាស់លាស់ ប៉ុន្តែស្ទើរតែគ្រប់ទីកន្លែងនៃកម្មវិធី បណ្តាលឱ្យវា។
Log4j ត្រូវបានប្រើដើម្បីកត់ត្រារាល់សកម្មភាពដែលកើតឡើងនៅពីក្រោយឆាកនៅក្នុងប្រព័ន្ធកុំព្យូទ័រផ្សេងៗ។
វាត្រូវបានផ្អែកលើបណ្ណាល័យប្រភពបើកចំហដែលត្រូវបានប្រើដោយអាជីវកម្ម និងសូម្បីតែស្ថាប័នរដ្ឋាភិបាលនៅក្នុងកម្មវិធីភាគច្រើន។
ក្នុងនាមជារន្ធសុវត្ថិភាពអ៊ីនធឺណិតដ៏អាក្រក់បំផុតមួយដែលមិនធ្លាប់មានពីមុនមក វាមានសារៈសំខាន់ណាស់ក្នុងការការពារប្រព័ន្ធរបស់អ្នកពីភាពងាយរងគ្រោះនេះ។ ប៉ុន្តែធ្វើយ៉ាងម៉េច?
ចូរយើងស្វែងយល់ពីភាពងាយរងគ្រោះ Log4j ឱ្យបានលម្អិត និងដំណោះស្រាយជួសជុលដែលអាចធ្វើបានសម្រាប់វា។
តើ Log4j ជាអ្វី?
Log4j គឺជា មួយ។ ប្រភពបើកចំហ ក្របខ័ណ្ឌការកត់ត្រាដែលអាចឱ្យអ្នកបង្កើតកម្មវិធីកត់ត្រាទិន្នន័យផ្សេងៗគ្នានៅក្នុងកម្មវិធីរបស់ពួកគេ។ វាគឺជាធាតុផ្សំនៃគម្រោង Apache Logging Services ដែលដំណើរការដោយ Apache Software Foundation.
គេហទំព័រ និងកម្មវិធីរាប់រយប្រើ Log4j ដើម្បីអនុវត្តប្រតិបត្តិការសំខាន់ៗ ដូចជាការកត់ត្រាទិន្នន័យសម្រាប់ការកែកំហុស និងការប្រើប្រាស់ផ្សេងទៀត។
នៅពេលអ្នកបញ្ចូល ឬចុចលើតំណភ្ជាប់អ៊ីនធឺណិតមិនល្អ ហើយទទួលបានការជូនដំណឹងអំពីកំហុស 404 នេះគឺជាឧទាហរណ៍ញឹកញាប់នៃ Log4j នៅកន្លែងធ្វើការ។ ម៉ាស៊ីនមេគេហទំព័រដែលដំណើរការដែននៃតំណបណ្តាញដែលអ្នកព្យាយាមចូលប្រើ ប្រាប់អ្នកថាមិនមានគេហទំព័របែបនេះទេ។ វាក៏កត់ត្រាព្រឹត្តិការណ៍នៅក្នុង Log4j សម្រាប់អ្នកគ្រប់គ្រងប្រព័ន្ធរបស់ម៉ាស៊ីនមេផងដែរ។
តាមរយៈកម្មវិធីសូហ្វវែរ សញ្ញារោគវិនិច្ឆ័យស្រដៀងគ្នាត្រូវបានប្រើប្រាស់។ ជាឧទាហរណ៍ នៅក្នុងហ្គេមអនឡាញ Minecraft ម៉ាស៊ីនមេប្រើ Log4j ដើម្បីកត់ត្រាសកម្មភាពដូចជា RAM សរុបដែលបានប្រើ និងការណែនាំអ្នកប្រើប្រាស់ដែលបានផ្ញើទៅក្នុងកុងសូល។
តើភាពងាយរងគ្រោះកើតឡើងដោយរបៀបណា?
ការរកមើលគឺជាមុខងារថ្មីមួយដែលត្រូវបានណែនាំនៅក្នុង Log4j 2.0 ដែលជួយក្នុងការបញ្ចូលព័ត៌មានបន្ថែមនៅក្នុងធាតុកំណត់ហេតុ។ ការរកមើលមួយក្នុងចំណោមការរកមើលទាំងនេះគឺការរកមើល JNDI (Java Naming and Directory Interface) ដែលជា Java API សម្រាប់ទំនាក់ទំនងជាមួយសេវាកម្មថត។
ដោយប្រើវិធីសាស្រ្តនេះ លេខសម្គាល់អ្នកប្រើប្រាស់ខាងក្នុងអាចត្រូវបានផ្គូផ្គងទៅនឹងឈ្មោះអ្នកប្រើប្រាស់ពិតប្រាកដ។ សំណួរនេះលាតត្រដាងនូវភាពងាយរងគ្រោះ RCE ដែលបានរកឃើញថ្មី ដោយសារប្រភេទទិន្នន័យមួយក្នុងចំណោមប្រភេទទិន្នន័យដែលផ្គត់ផ្គង់ដោយម៉ាស៊ីនមេ LDAP គឺជា URI ចង្អុលទៅថ្នាក់ Java ដែលបន្ទាប់មកត្រូវបានផ្ទុកទៅក្នុងអង្គចងចាំ ហើយដំណើរការដោយឧទាហរណ៍ Log4j ។
ដោយសារភាពទន់ខ្សោយក្នុងសុពលភាពនៃការបញ្ចូលរបស់បណ្ណាល័យ Log4j វាអាចចាក់បញ្ចូលម៉ាស៊ីនមេ LDAP បំពានពីប្រភពដែលមិនគួរឱ្យទុកចិត្ត។ ដោយសារតែអ្នកអភិវឌ្ឍន៍សន្មត់ថាទិន្នន័យដែលបានផ្ញើទៅកំណត់ហេតុនឹងត្រូវបានចាត់ចែងជាអត្ថបទធម្មតា នោះមិនមានការបញ្ជាក់សុពលភាពនៃការបញ្ចូលបន្ថែមទេ ហើយការបញ្ចូលអ្នកប្រើប្រាស់ដែលមានគ្រោះថ្នាក់ចូលទៅក្នុងកំណត់ហេតុ។
សេចក្តីថ្លែងការណ៍កំណត់ហេតុអាចមើលទៅដូចនេះ៖
អ្នកប្រើប្រាស់ដែលមានគំនិតអាក្រក់នឹងបញ្ចូលការរកមើល JNDI ដែលសំដៅទៅលើម៉ាស៊ីនមេ LDAP បញ្ឆោតទាំងឡាយនៅក្នុងប៉ារ៉ាម៉ែត្រ URL ។ ការរកមើល JNDI នឹងមានដូចខាងក្រោម៖
បន្ទាប់មកបណ្ណាល័យ Log4j និយាយជាមួយម៉ាស៊ីនមេ LDAP នេះនៅ attacker.com ដើម្បីទទួលបានព័ត៌មានថតឯកសារ រួមទាំងតម្លៃសម្រាប់ Java Factory និង Java Codebase ។
តម្លៃទាំងពីរនេះរួមបញ្ចូល Java class របស់អ្នកវាយប្រហារ ដែលបន្ទាប់មកត្រូវបានផ្ទុកទៅក្នុងអង្គចងចាំ និងប្រតិបត្តិដោយ Log4j instance ដោយបញ្ចប់ការប្រតិបត្តិកូដ។
តើអ្នកណាជាអ្នកប្រថុយ?
ភាពងាយរងគ្រោះ Log4j គឺទូលំទូលាយមិនគួរឱ្យជឿ ដែលប៉ះពាល់ដល់កម្មវិធីអាជីវកម្ម ឧបករណ៍ដែលបានបង្កប់ និងប្រព័ន្ធរងរបស់វា។ កម្មវិធីដែលរងផលប៉ះពាល់រួមមាន Cisco Webex, Minecraft និង FileZilla FTP ។
ទោះយ៉ាងណាក៏ដោយ នេះមិនមែនជាបញ្ជីទាំងមូលទេ។ គុណវិបត្តិនេះថែមទាំងប៉ះពាល់ដល់បេសកកម្មរបស់ Ingenuity Mars 2020 ដែលប្រើ Apache Log4j សម្រាប់ការថតព្រឹត្តិការណ៍។
សហគមន៍សន្តិសុខបានចងក្រង ក បញ្ជីប្រព័ន្ធងាយរងគ្រោះ. វាសំខាន់ណាស់ក្នុងការកត់សម្គាល់ថាបញ្ជីទាំងនេះកំពុងធ្វើបច្ចុប្បន្នភាពជាបន្តបន្ទាប់ ដូច្នេះប្រសិនបើកម្មវិធី ឬប្រព័ន្ធណាមួយមិនមានលក្ខណៈពិសេស សូមកុំសន្មតថាវាមិនប៉ះពាល់។
ការប៉ះពាល់ទៅនឹងភាពងាយរងគ្រោះនេះគឺទំនងណាស់ ហើយទោះបីជាជាក់លាក់ក៏ដោយ។ ជង់បច្ចេកវិទ្យា មិនអនុវត្ត Java ទេ នាយកប្រតិបត្តិសន្តិសុខគួរតែរំពឹងថាប្រព័ន្ធអ្នកផ្គត់ផ្គង់សំខាន់ អ្នកផ្គត់ផ្គង់ SaaS អ្នកផ្តល់សេវាបង្ហោះពពក និងអ្នកផ្តល់សេវាបណ្តាញដើម្បីធ្វើដូច្នេះបាន។
តើធ្វើដូចម្តេចដើម្បីពិនិត្យមើលភាពងាយរងគ្រោះ Log4j?
ជំហានដំបូងគឺកំណត់ថាតើការវាយប្រហារបានកើតឡើងឬអត់។ អ្នកអាចធ្វើដូច្នេះបានដោយពិនិត្យមើលកំណត់ហេតុប្រព័ន្ធសម្រាប់បំណែកបន្ទុក RCE ។
ប្រសិនបើការស្វែងរកពាក្យដូចជា “jndi”, “ldap” ឬ “$::” ផ្តល់លទ្ធផលកំណត់ហេតុណាមួយ អ្នកស្រាវជ្រាវផ្នែកសន្តិសុខគួរតែស្វែងរកបន្ថែមទៀតដើម្បីមើលថាតើវាជាការវាយប្រហារស្របច្បាប់ ឬគ្រាន់តែស្នាមម្រាមដៃប៉ុណ្ណោះ។
ការវាយលុកជាច្រើននៅក្នុងព្រៃត្រូវបានរកឃើញដែលមិនបានផ្តល់នូវបន្ទុកដែលបង្កគ្រោះថ្នាក់ណាមួយឡើយ។ ទោះជាយ៉ាងណាក៏ដោយ ពួកវាត្រូវបានអនុវត្តដោយអ្នកជំនាញសន្តិសុខដើម្បីកំណត់ថាតើកម្មវិធីប៉ុន្មានដែលងាយរងគ្រោះក្នុងការវាយប្រហារនេះ។
ជំហានបន្ទាប់គឺត្រូវប្រើបណ្ណាល័យ Log4j ដើម្បីកំណត់អត្តសញ្ញាណគម្រោងទាំងអស់។ ប្រសិនបើកំណែរវាង 2.0-beta9 និង 2.14.1 ត្រូវបានប្រើប្រាស់ គម្រោងនេះអាចងាយរងគ្រោះ។
ដោយសារមានការលំបាកក្នុងការកំណត់កន្លែងដែលមានភាពងាយរងគ្រោះនេះ វាអាចជាការប្រសើរក្នុងការសន្មត់ថាគម្រោងនេះងាយរងគ្រោះ ហើយការធ្វើបច្ចុប្បន្នភាពបណ្ណាល័យគឺជាសកម្មភាពដ៏ល្អបំផុតដើម្បីដកចេញនូវគ្រោះថ្នាក់នៃការប្រតិបត្តិកូដ។
គម្រោងនេះមិនងាយរងគ្រោះទេ ប្រសិនបើកំណែដែលបានប្រើគឺតិចជាង 2.0-beta 9 ទោះបីជាបណ្ណាល័យ Log4j គួរតែនៅតែត្រូវបានដំឡើងកំណែ ដោយសារកំណែក្នុងជួរ 1.x គឺចាស់ ហើយលែងទទួលបានបច្ចុប្បន្នភាពទៀតហើយ។
ថាតើគម្រោងដែលងាយនឹងត្រូវបានរកឃើញឬអត់ វាត្រូវបានណែនាំថាវាត្រូវបានត្រួតពិនិត្យដើម្បីមើលថាតើព័ត៌មានណាមួយដែលបានកត់ត្រាដោយប្រើ Log4j មានព័ត៌មានដែលអ្នកប្រើប្រាស់អាចផ្លាស់ប្តូរបាន។ URLs ប៉ារ៉ាម៉ែត្រសំណើ បឋមកថា និងខូគី គឺជាឧទាហរណ៍នៃទិន្នន័យនេះ។ ប្រសិនបើមួយក្នុងចំណោមទាំងនេះត្រូវបានកត់ត្រា គម្រោងនេះស្ថិតក្នុងគ្រោះថ្នាក់។
ចំណេះដឹងនេះអាចជួយអ្នកក្នុងការស្វែងយល់បន្ថែមទៅក្នុងកំណត់ហេតុប្រព័ន្ធ និងកំណត់ថាតើកម្មវិធីគេហទំព័ររបស់អ្នកត្រូវបានវាយប្រហាររួចហើយឬអត់។
មានឧបករណ៍អនឡាញឥតគិតថ្លៃដែលអាចរកឃើញថាតើកម្មវិធីគេហទំព័រមួយមានភាពងាយរងគ្រោះឬអត់។ កម្មវិធីមួយក្នុងចំណោមកម្មវិធីទាំងនេះគឺ Log4Shell អ្នកប្រមាញ់. វាជាប្រភពបើកចំហ និងមាននៅលើ GitHub.
ប្រសិនបើតំបន់ដែលងាយរងគ្រោះនៃកូដនៅក្នុងកម្មវិធីអនឡាញត្រូវបានរកឃើញ បន្ទុកដែលផ្តល់ដោយឧបករណ៍បង្ហាញអាចត្រូវបានប្រើដើម្បីបញ្ចូលវាទៅក្នុងកម្មវិធីបណ្តាញ។ ឧបករណ៍សាកល្បងនឹងបង្ហាញពីការតភ្ជាប់ដែលបានធ្វើឡើងរវាងកម្មវិធីបណ្តាញរបស់អ្នក និងម៉ាស៊ីនមេ LDAP របស់ពួកគេ ប្រសិនបើភាពងាយរងគ្រោះត្រូវបានកេងប្រវ័ញ្ច។
ដំណោះស្រាយដើម្បីជួសជុលភាពងាយរងគ្រោះ Log4j
ជំហានដំបូងគឺធ្វើបច្ចុប្បន្នភាព Log4j ដែលអ្នកអាចធ្វើបានដោយប្រើកម្មវិធីគ្រប់គ្រងកញ្ចប់ធម្មតា ឬដោយការទាញយកវាដោយផ្ទាល់ពីនេះ។ ទំព័រ.
វាក៏អាចធ្វើទៅបានផងដែរដើម្បីកាត់បន្ថយការកេងប្រវ័ញ្ចរបស់ភាពងាយរងគ្រោះដោយកំណត់អថេរបរិស្ថាន FORMAT MSG NO LOOKUPS ទៅពិត។ ទោះយ៉ាងណាក៏ដោយ វិធានការតបតនេះ អាចអនុវត្តបានតែចំពោះកំណែ Log4j ធំជាង ឬស្មើនឹង 2.10 ប៉ុណ្ណោះ។
ឥឡូវនេះ ចូរយើងពិចារណាជម្រើសជំនួស។
1. ដំណោះស្រាយសម្រាប់ Log4j កំណែ 2.17.0
វាត្រូវបានណែនាំយ៉ាងមុតមាំឱ្យប្រើ Log4j កំណែ 2.15.0 ដើម្បីការពារប្រឆាំងនឹង Log4Shell ទោះជាយ៉ាងណាក៏ដោយ ប្រសិនបើវាមិនអាចធ្វើទៅបាន ដំណោះស្រាយផ្សេងទៀតអាចរកបាន។
កំណែ 2.7.0 និងក្រោយនៃ Log4j៖ វាអាចធ្វើទៅបានដើម្បីការពារប្រឆាំងនឹងការវាយប្រហារណាមួយដោយការផ្លាស់ប្តូរទម្រង់នៃព្រឹត្តិការណ៍ដែលត្រូវចូលដោយប្រើវាក្យសម្ព័ន្ធភាគរយ m nolookups សម្រាប់ទិន្នន័យដែលផ្តល់ដោយអ្នកប្រើប្រាស់។ ការអាប់ដេតនេះតម្រូវឱ្យកែសម្រួលឯកសារកំណត់រចនាសម្ព័ន្ធ Log4j ដើម្បីបង្កើតកំណែថ្មីនៃកម្មវិធី។ ជាលទ្ធផល មុននឹងដាក់ឱ្យប្រើប្រាស់កំណែថ្មីនេះ ដំណាក់កាលផ្ទៀងផ្ទាត់បច្ចេកទេស និងមុខងារត្រូវតែធ្វើឡើងម្តងទៀត។
កំណែ Log4j 2.10.0 និងក្រោយនេះ៖ វាក៏អាចធ្វើទៅបានដើម្បីការពារប្រឆាំងនឹងការវាយប្រហារណាមួយដោយកំណត់ប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធ log4j2.formatMsgNoLookups ទៅពិត ជាឧទាហរណ៍ នៅពេលចាប់ផ្តើមម៉ាស៊ីននិម្មិត Java ជាមួយនឹងជម្រើស -Dlog4j2 ។ formatMsgNoLookups=ពិត ជម្រើសមួយទៀតគឺត្រូវយក JndiLookup class ចេញពី classpath argument ដែលនឹងលុប main attack vector (អ្នកស្រាវជ្រាវមិនបដិសេធលទ្ធភាពនៃ attack vector ផ្សេងទៀតទេ)។
Amazon Web Services ផ្តល់នូវ hotpatch ដែល "គួរតែត្រូវបានប្រើប្រាស់ដោយហានិភ័យផ្ទាល់ខ្លួនរបស់អ្នក។" "បច្ចេកទេស" ផ្សេងទៀតដូចជា Logout4Shell ដែល "ប្រើភាពងាយរងគ្រោះនេះប្រឆាំងនឹងខ្លួនវា" ត្រូវបានបោះពុម្ពផ្សាយ។ អ្នកជំនាញផ្នែកសន្តិសុខចោទសួរពីភាពស្របច្បាប់នៃការផ្លាស់ប្តូរនេះ ដែលពាក់ព័ន្ធនឹង "ការលួចចូលម៉ាស៊ីនដើម្បីជួសជុលវា"។
2. បញ្ហាត្រូវបានដោះស្រាយនៅក្នុង Log4j v2.17.0 ។
សម្រាប់កំណែធំជាង 2.10៖ Log4j2.formatMsgNoLookups គួរតែត្រូវបានកំណត់ទៅពិត។
សម្រាប់កំណែ 2.0 ដល់ 2.10.0៖ ដំណើរការពាក្យបញ្ជាខាងក្រោមដើម្បីលុបថ្នាក់ LDAP ចេញពី Log4j ។
Log4j2.formatMsgNoLookups គួរតែត្រូវបានកំណត់ទៅពិតនៅក្នុងការកំណត់ប្រព័ន្ធ។
ការកាត់បន្ថយនៅក្នុង JVM
ការបន្ធូរបន្ថយជាមួយនឹងប៉ារ៉ាម៉ែត្រ JVM លែងជាជម្រើសទៀតហើយ។ វិធីសាស្រ្តកាត់បន្ថយផ្សេងទៀតបន្តទទួលបានជោគជ័យ។ ដំឡើងកំណែទៅ Log4j កំណែ 2.17.0 ប្រសិនបើអាចធ្វើបាន។ មានការណែនាំអំពីការធ្វើចំណាកស្រុកដែលមានសម្រាប់ Log4j v1.
ប្រសិនបើការអាប់ដេតមិនអាចធ្វើទៅបាន សូមប្រាកដថាសមាសភាគខាងម៉ាស៊ីនភ្ញៀវ និងខាងម៉ាស៊ីនបម្រើមានសំណុំលក្ខណៈប្រព័ន្ធ -Dlog4j2.formatMsgNoLookups = true system property set ។
សូមចំណាំថា Log4j v1 បានដល់ទីបញ្ចប់នៃជីវិតរបស់វា (EOL) ហើយនឹងលែងទទួលបានការកែបញ្ហាទៀតហើយ។ វ៉ិចទ័រ RCE ផ្សេងទៀតក៏ងាយនឹង Log4j v1. ដូច្នេះហើយ យើងជំរុញឱ្យអ្នកដំឡើងកំណែទៅ Log4j 2.17.0 ឱ្យបានឆាប់តាមដែលអាចធ្វើទៅបាន។
3. វិធានការកាត់បន្ថយ
ការកេងប្រវ័ញ្ចបច្ចុប្បន្នមិនអាចដំណើរការបានទេ ទោះបីជា Log4j ងាយនឹងកើតមានក្នុងករណីខ្លះក៏ដោយ ដូចជាប្រសិនបើម៉ាស៊ីនម៉ាស៊ីនកំពុងដំណើរការកំណែ Java ខ្ពស់ជាង 6u212, 7u202, 8u192 ឬ 11.0.2។
នេះគឺដោយសារតែ Java Naming and Directory Interface (JNDI) remote class loading protection ប្រសើរជាងនៅក្នុងកំណែបច្ចុប្បន្ន ដែលចាំបាច់សម្រាប់ការវាយប្រហារដើម្បីដំណើរការ។
លើសពីនេះ ជាមួយនឹងកំណែ Log4j ធំជាង 2.10 បញ្ហាអាចត្រូវបានជៀសវាងដោយការកំណត់តម្លៃប្រព័ន្ធ formatMsgNoLookups ទៅពិត ដោយផ្តល់នូវអាគុយម៉ង់ JVM -Dlog4j2.formatMsgNoLookups = true ឬការលុបថ្នាក់ JndiLookup ចេញពី classpath ។
ក្នុងពេលនេះ រហូតដល់ករណីងាយរងគ្រោះត្រូវបានជួសជុល ភាពងាយរងគ្រោះអាចត្រូវបានដោះស្រាយដោយប្រើបច្ចេកទេសខាងក្រោម៖
- កំណត់ទ្រព្យសម្បត្តិប្រព័ន្ធ log4j2.formatMsgNoLookups ទៅពិតសម្រាប់ >=2.10។
- កំណត់ជម្រើសបរិស្ថាន LOG4J FORMAT MSG NO LOOKUPS ទៅពិតសម្រាប់ >=2.10។
- យក JndiLookup.class ចេញពី classpath សម្រាប់ 2.0-beta9 ទៅ 2.10.0: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
ការអនុវត្តល្អបំផុតមួយដែលត្រូវបានណែនាំគឺកំណត់ចរាចរណ៍ចេញចូលអ៊ីនធឺណេតត្រឹមច្រកដែលសមរម្យប៉ុណ្ណោះ។
ទោះបីជាការវាយប្រហារភាគច្រើននៅក្នុងវាលត្រូវបានចែកចាយតាម HTTP ក៏ដោយ ភាពងាយរងគ្រោះអាចនឹងត្រូវបានទាញយកតាមរយៈពិធីការណាមួយដែលកត់ត្រាទិន្នន័យបញ្ចូលរបស់អ្នកប្រើប្រាស់ដោយប្រើ Log4j ។
ទោះជាយ៉ាងណាក៏ដោយ ការធ្វើបច្ចុប្បន្នភាពទៅ log4j 2.17.0 គឺជាមធ្យោបាយដោះស្រាយដ៏ល្អបំផុត ពីព្រោះនរណាម្នាក់អាចរកឃើញវិធីសាស្រ្តបន្ថែមចំពោះបញ្ហានេះ។ លើសពីនេះ អ្នកបោះពុម្ពផ្សាយ និងអ្នកផលិតជាច្រើនបានប្រកាសពីការកែលម្អសេវាកម្ម ឬកម្មវិធីរបស់ពួកគេ។
4. បំណះភាពងាយរងគ្រោះ Log4Shell
Log4j មានវត្តមានទាំងអស់ ជាពិសេសនៅពេលនេះ ដែលភាពងាយរងគ្រោះកំពុងត្រូវបានកេងប្រវ័ញ្ច។ ដើម្បីសង្ខេប អ្វីដែលអ្នកត្រូវធ្វើគឺបញ្ចូលតួអក្សរខាងក្រោមនៅក្នុងកំណត់ហេតុដែលបានត្រួតពិនិត្យដោយ Log4j ។
ហើយវានឹងទាញយក និងប្រតិបត្តិឯកសារ Java ដែលមានទីតាំងនៅចុងបញ្ចប់នៃ URL ។ វាជាការត្រង់ដូចដែលវាជារឿងគួរឱ្យរន្ធត់។
ដូចដែលអ្នកបានដឹង វាមានសារៈសំខាន់ណាស់ក្នុងការដំឡើង log4j ទៅជាកំណែ >= 2.17.0 ដើម្បីដោះស្រាយភាពងាយរងគ្រោះ Log4Shell នេះ (CVE-2021-44228)។
ប្រសិនបើវាមិនអាចទៅរួច៖
សម្រាប់កម្មវិធីដែលប្រើបណ្ណាល័យ Log4j កំណែ 2.10.0 និងខ្ពស់ជាងនេះ វាក៏អាចការពារប្រឆាំងនឹងការវាយប្រហារណាមួយបានផងដែរ ដោយកំណត់ប៉ារ៉ាម៉ែត្រកំណត់រចនាសម្ព័ន្ធ log4j2.formatMsgNoLookups ទៅពិត ជាឧទាហរណ៍ ខណៈពេលដែលចាប់ផ្តើមម៉ាស៊ីននិម្មិត Java ជាមួយ -Dlog4j2.formatMsgNoLookups = true ជម្រើស។
ជម្រើសមួយទៀតគឺត្រូវលុបថ្នាក់ JndiLookup ចេញពីអាគុយម៉ង់ classpath ដែលនឹងលុបវ៉ិចទ័រវាយប្រហារបឋម (អ្នកស្រាវជ្រាវមិនបដិសេធពីអត្ថិភាពនៃវ៉ិចទ័រវាយប្រហារផ្សេងទៀតទេ)។
ចំណាំ
អង្គការដែលស្ទាក់ស្ទើរ ឬមិនចង់ធ្វើការកែតម្រូវចំពោះប្រព័ន្ធដែលងាយរងគ្រោះ (ឬអ្នកដែលមានតែចង់ដំឡើងការការពារបន្ថែម) គួរតែគិតអំពី៖
- ត្រូវប្រាកដថាចរាចរណ៍ទាំងអស់ត្រូវបានបញ្ជូនតាមរយៈ iSensor/វ៉ាហ្វ/ IPS ។ នេះអាចរក្សាការវាយលុកពីការចូលប្រើប្រព័ន្ធ។
- ការកំណត់បរិមាណចរាចរដែលអាចទៅដល់ប្រព័ន្ធងាយរងគ្រោះ ប្រសិនបើប្រព័ន្ធមិនចាំបាច់ភ្ជាប់អ៊ីនធឺណិតទេ សូមដាក់កម្រិតការចូលប្រើត្រឹមតែ IPS និងជួរដែលគួរឱ្យទុកចិត្ត និងចាំបាច់ប៉ុណ្ណោះ។
- កាត់បន្ថយចរាចរណ៍ចេញក្រៅដែលមានការអនុញ្ញាតរបស់ម្ចាស់ផ្ទះ។ ដោយសារការវាយប្រហារនេះដំណើរការដោយការភ្ជាប់ទៅម៉ាស៊ីនមេបញ្ឆោតទាំងឡាយ អាសយដ្ឋាន IP និងច្រកដែលហួសហេតុទាំងអស់គួរតែត្រូវបានបិទនៅលើជញ្ជាំងភ្លើង។
- ប្រសិនបើសេវាកម្មមិនត្រូវបានទាមទារទៀតទេ វាគួរតែត្រូវបានបិទរហូតដល់ការជួសជុលរួចរាល់។
សន្និដ្ឋាន
គុណវិបត្តិ Log4j បានធ្វើឱ្យសហគមន៍របស់យើងភ្ញាក់ផ្អើល និងរំឭកយើងទាំងអស់គ្នាថាតើយើងពឹងផ្អែកទៅលើកម្មវិធីប្រភពបើកចំហ។
Log4j មានលក្ខណៈពិសេស។ វាមិនមែនជាប្រព័ន្ធប្រតិបត្តិការ ហើយក៏មិនមែនជាកម្មវិធីរុករកដែរ ហើយក៏មិនមែនជាកម្មវិធីដែរ។ ផ្ទុយទៅវិញ វាជាអ្វីដែលអ្នកសរសេរកម្មវិធីសំដៅទៅលើបណ្ណាល័យ កញ្ចប់ ឬម៉ូឌុលកូដ។ វាគ្រាន់តែបម្រើគោលបំណងមួយ ពោលគឺការរក្សាកំណត់ត្រាអំពីអ្វីដែលកើតឡើងនៅលើម៉ាស៊ីនមេ។
អ្នកដែលសរសេរកូដចូលចិត្តផ្តោតលើអ្វីដែលធ្វើឱ្យកម្មវិធីរបស់ពួកគេប្លែក។ ពួកគេមិនចាប់អារម្មណ៍ក្នុងការបង្កើតកង់ឡើងវិញទេ។ ជាលទ្ធផល ពួកគេពឹងផ្អែកលើបណ្ណាល័យកូដដែលមានស្រាប់ជាច្រើនដូចជា Log4j ជាដើម។
ម៉ូឌុល Log4j មានប្រភពមកពី Apache ដែលជាកម្មវិធីម៉ាស៊ីនមេគេហទំព័រដែលប្រើយ៉ាងទូលំទូលាយបំផុត។ នោះហើយជាមូលហេតុដែលវាអាចត្រូវបានរកឃើញនៅលើម៉ាស៊ីនមេរាប់លាន។ ដូច្នេះ ការបង្កើនការគំរាមកំហែងផ្នែកសន្តិសុខ។
ខ្ញុំសង្ឃឹមថាដំណោះស្រាយខាងលើជួយអ្នករក្សាឧបករណ៍របស់អ្នកឱ្យមានសុវត្ថិភាព។
បន្តតាមដាន HashDork សម្រាប់ព័ត៌មានមានប្រយោជន៍បន្ថែមទៀតពីពិភពបច្ចេកវិទ្យា។
សូមផ្ដល់យោបល់