
คิดว่าการรู้แจ้งเป็นที่ปรึกษาด้านประสิทธิภาพและความปลอดภัยของคุณ Enlightn จะ "ตรวจสอบ" รหัสและการกำหนดค่าเซิร์ฟเวอร์ของคุณและให้คำแนะนำที่สามารถดำเนินการได้เกี่ยวกับการปรับปรุงประสิทธิภาพความปลอดภัยและความน่าเชื่อถือ!
เวอร์ชัน Enlightn OSS (ซอฟต์แวร์โอเพ่นซอร์ส) มีการตรวจสอบอัตโนมัติ 66 รายการที่สแกนรหัสแอปพลิเคชันของคุณการกำหนดค่าเว็บเซิร์ฟเวอร์และเส้นทางเพื่อระบุคอขวดประสิทธิภาพช่องโหว่ความปลอดภัยที่เป็นไปได้และปัญหาความน่าเชื่อถือของรหัส
Enlightn Pro (เชิงพาณิชย์) พร้อมให้ซื้อบนเว็บไซต์ Enlightn และมีเช็คอัตโนมัติเพิ่มเติมอีก 64 เช็ค (ทั้งหมด 131 เช็ค )
การตรวจสอบ 131 รายการที่มีอยู่นั้นมีการบันทึกไว้อย่างดี คุณสามารถค้นหาเอกสารที่สมบูรณ์ได้ที่นี่
| การตรัสรู้ | Laravel | Larastan | phpstan |
|---|---|---|---|
| 1.x | 6.x-9.x | 0.6x-1.x | 0.12x-1.1x |
| 2.x | 9.x-11.x | 2.x | 1.4x+ |
หมายเหตุ: เมทริกซ์ความเข้ากันได้แบบเดียวกันนี้ใช้กับเวอร์ชัน Enlightn Pro
คุณสามารถติดตั้ง Enlightn ลงในโครงการของคุณโดยใช้ Composer Package Manager:
composer require enlightn/enlightnหลังจากติดตั้ง Enlightn คุณสามารถเผยแพร่สินทรัพย์โดยใช้ผู้ขาย: เผยแพร่คำสั่ง Artisan:
php artisan vendor:publish --tag=enlightnหมายเหตุ: หากคุณต้องการติดตั้ง Enlightn Pro ให้เยี่ยมชมเอกสารบนเว็บไซต์ Enlightn ที่นี่
หลังจากติดตั้ง INLIGHTN เพียงเรียกใช้คำสั่ง enlightn Artisan เพื่อเรียกใช้ INLIGHTN:
php artisan enlightn คุณสามารถเพิ่มธง --report ได้หากคุณต้องการดูรายงานของคุณใน Web onelightn UI นอกเหนือจากเทอร์มินัล:
php artisan enlightn --reportหากคุณต้องการเรียกใช้คลาสวิเคราะห์เฉพาะคุณอาจระบุว่าเป็นอาร์กิวเมนต์เสริม:
php artisan enlightn Enlightn \ Enlightn \ Analyzers \ Security \ CSRFAnalyzer Enlightn \ EnlightnPro \ Analyzers \ Security \ DirectoryTraversalAnalyzerโปรดทราบว่าชื่อคลาสควรมีคุณสมบัติครบถ้วนและหลบหนีด้วยสแลชสองครั้งดังกล่าวข้างต้น
หากคุณต้องการได้รับประสบการณ์การตรัสรู้อย่างเต็มรูปแบบขอแนะนำให้คุณใช้การตรัสรู้อย่างน้อยหนึ่งครั้งในการผลิต นี่เป็นเพราะการตรวจสอบของ Lightn หลายแห่งเป็นสภาพแวดล้อมที่เฉพาะเจาะจง ดังนั้นพวกเขาอาจจะถูกกระตุ้นเมื่อสภาพแวดล้อมแอพของคุณคือการผลิต
ในกรณีที่คุณไม่ต้องการทำงานในการผลิตคุณสามารถจำลองสภาพแวดล้อมการผลิตได้โดยการตั้งค่า APP_ENV ของคุณเป็นการผลิตตั้งค่าบริการและกำหนดค่าใกล้เคียงกับการผลิตเท่าที่จะเป็นไปได้และเรียกใช้สคริปต์การปรับใช้การผลิตของคุณในเครื่อง จากนั้นเรียกใช้คำสั่ง Artisan Enlightn
โดยค่าเริ่มต้นคำสั่ง enlightn Artisan จะเน้นเส้นทางไฟล์หมายเลขบรรทัดที่เกี่ยวข้องและข้อความสำหรับการตรวจสอบที่ล้มเหลวแต่ละรายการ หากคุณต้องการแสดงข้อความแสดงข้อผิดพลาดโดยละเอียดสำหรับแต่ละบรรทัดคุณสามารถใช้ตัวเลือก --details :
php artisan enlightn --details หากคุณต้องการรวมการตรัสรู้เข้ากับ CI ของคุณคุณสามารถทริกเกอร์ตัวเลือก --ci เมื่อเรียกใช้ Enlightn ในเครื่องมือ CI/CD ของคุณ:
php artisan enlightn --ci คุณสามารถเพิ่มธง --report หากคุณต้องการดูรายงาน CI ของคุณใน Web Lightn Web UI อย่าลืมเพิ่มข้อมูลรับรองโครงการของคุณลงในไฟล์ config/enlightn.php ของคุณตามที่อธิบายไว้ที่นี่
php artisan enlightn --ci --reportINLIGHTN การกำหนดค่าล่วงหน้าที่เครื่องวิเคราะห์สามารถทำงานในโหมด CI สำหรับคุณ ดังนั้นคำสั่งข้างต้นไม่รวมเครื่องวิเคราะห์ที่ต้องการการตั้งค่าเต็มรูปแบบเพื่อเรียกใช้ (เช่นเครื่องวิเคราะห์โดยใช้การวิเคราะห์แบบไดนามิก)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรวม CI ให้อ้างอิงเอกสาร Enlightn
บางครั้งโดยเฉพาะอย่างยิ่งในสภาพแวดล้อม CI คุณอาจต้องการประกาศรายการข้อผิดพลาดที่รายงานในปัจจุบันเป็น "พื้นฐาน" ซึ่งหมายความว่าจะไม่มีการรายงานข้อผิดพลาดในปัจจุบันในการรันครั้งต่อไปและจะมีการตั้งค่าสถานะข้อผิดพลาดใหม่เท่านั้น
ในการสร้างพื้นฐานโดยอัตโนมัติคุณสามารถเรียกใช้คำสั่ง enlightn:baseline :
php artisan enlightn:baseline หากคุณต้องการเรียกใช้คำสั่งนี้ในโหมด CI คุณสามารถใช้ตัวเลือก --ci :
php artisan enlightn:baseline --ciสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างพื้นฐานให้อ้างอิงเอกสาร
Enlightn นำเสนอแผงควบคุมเว็บ UI ที่สวยงามซึ่งคุณสามารถดูรายงานการแจ้งเตือนของคุณที่ถูกเรียกจาก CI ของคุณหรือคำสั่งที่กำหนดเวลาทำงาน
เว็บ UI นั้นฟรีสำหรับผู้ใช้ทุกคนและมีสิ่งต่อไปนี้:
ในการเข้าถึงเว็บ UI สิ่งที่คุณต้องทำคือลงทะเบียนฟรีบนเว็บไซต์ Enlightn และทำตามคำแนะนำที่กล่าวถึงที่นี่
นอกเหนือจากการรวมการตรัสรู้เข้ากับเครื่องมือ CI/CD ของคุณแล้วมันเป็นวิธีปฏิบัติที่ดีในการกำหนดเวลาการตรัสรู้บนความถี่ปกติ (เช่นรายวันหรือรายสัปดาห์) เช่น SO:
// In your app/Console/Kernel.php file:
/**
* Define the application's command schedule.
*
* @param IlluminateConsoleSchedulingSchedule $schedule
* @return void
*/
protected function schedule ( Schedule $ schedule )
{
$ schedule -> command ( ' enlightn --report ' )-> runInBackground ()-> daily ()-> at ( ' 01:00 ' );
}สิ่งนี้จะช่วยให้คุณตรวจสอบการตรวจสอบการวิเคราะห์แบบไดนามิกของ Enlightn ซึ่งโดยทั่วไปจะถูกแยกออกจาก CI รายงานสามารถดูได้บน Web INLIGHTN UI
Enlightn เสนอบอท GitHub ที่สามารถจัดทำรายงานที่เน้นการตรวจสอบที่ล้มเหลวและเพิ่มความคิดเห็นรีวิวสำหรับคำขอดึงในบรรทัดของรหัสที่แนะนำปัญหาใหม่
หากต้องการรวมเข้ากับบอท GitHub ที่รู้แจ้งให้ดูเอกสาร
การตรวจสอบทั้งหมดที่ล้มเหลวจะรวมคำอธิบายว่าทำไมพวกเขาจึงล้มเหลวพร้อมกับบรรทัดของรหัสที่เกี่ยวข้อง (ถ้ามี) และลิงก์ไปยังเอกสารสำหรับการตรวจสอบเฉพาะ
ในที่สุดหลังจากการตรวจสอบทั้งหมดทำงานแล้วคำสั่ง Artisan enlightn จะส่งออกการ์ดรายงานซึ่งมีข้อมูลเกี่ยวกับจำนวนเงินที่ตรวจสอบที่ผ่านมาล้มเหลวหรือถูกข้ามไปกี่เปอร์เซ็นต์
การตรวจสอบที่ระบุว่า "ไม่สามารถใช้งานได้" ไม่สามารถใช้ได้กับแอปพลิเคชันเฉพาะของคุณและถูกข้ามไป ตัวอย่างเช่นตัววิเคราะห์ CSRF ไม่สามารถใช้ได้กับแอปพลิเคชันไร้สัญชาติ
การตรวจสอบที่รายงานภายใต้แถว "ข้อผิดพลาด" ระบุตัววิเคราะห์ที่ล้มเหลวโดยมีข้อยกเว้นระหว่างการวิเคราะห์ โดยปกติสิ่งนี้ไม่ควรเกิดขึ้น แต่ถ้าเป็นเช่นนั้นข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องจะปรากฏขึ้นและอาจมีบางอย่างเกี่ยวกับแอปพลิเคชันของคุณ
แนวปฏิบัติที่ดีคือการเรียกใช้การตรัสรู้ทุกครั้งที่คุณปรับใช้รหัสหรือผลักดันรุ่นใหม่ ขอแนะนำให้รวมการตรัสรู้เข้ากับเครื่องมือ CI/CD ของคุณเพื่อให้ได้รับการกระตุ้นสำหรับการผลักดันหรือใหม่ทุกรุ่น
นอกเหนือจากการตรวจสอบ CI อัตโนมัติคุณควรเรียกใช้การตรัสรู้บนความถี่ปกติโดยใช้คำสั่งคอนโซลที่กำหนดตามที่อธิบายไว้ข้างต้น สิ่งนี้จะช่วยให้คุณตรวจสอบการตรวจสอบการวิเคราะห์แบบไดนามิกซึ่งโดยทั่วไปจะถูกแยกออกจาก CI
รองรับระบบ MacOS และ Linux เท่านั้นสำหรับการตรัสรู้ ปัจจุบัน Windows ไม่รองรับ
ขอขอบคุณที่พิจารณาให้การตรัสรู้! คู่มือการบริจาคสามารถพบได้ที่นี่
นโยบายการสนับสนุนของเราสามารถพบได้ในเอกสาร Enlightn
onlightn oss (บน repo github นี้) ได้รับอนุญาตภายใต้ใบอนุญาต LGPL v3 (หรือใหม่กว่า)
Enlightn Pro ได้รับใบอนุญาตภายใต้ใบอนุญาตเชิงพาณิชย์