เรามี API Server (tomcat) ซึ่งมีการกำหนดค่า clamAV เพื่อสแกนไฟล์ที่อัปโหลดไปยังระบบ
การกำหนดค่า clamAV จะต้องใช้เซิร์ฟเวอร์ API เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ clamAV
SELinux เปิดใช้งานบนเซิร์ฟเวอร์ทั้งสอง และเมื่อใดก็ตามที่เราพยายามอัปโหลดไฟล์ เราได้รับข้อผิดพลาด/ข้อยกเว้นต่อไปนี้:
Tomcat: สิทธิ์ java.net.socketexception ถูกปฏิเสธ (การเชื่อมต่อล้มเหลว)
ข้อผิดพลาดนี้เกี่ยวข้องกับ SELinux และนี่คือบันทึกการตรวจสอบสำหรับการปฏิเสธนี้:
type=AVC msg=audit(1632293242.892:403): avc: ปฏิเสธ { name_connect } สำหรับ pid=2663 comm="http-nio-8780-e" dest=3310 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_uSmiley Surprisedbject_r: clamd_port_t:s0 tclass=tcp_socket อนุญาต=0
มีสาเหตุมาจาก:
กฎอนุญาตการบังคับใช้ประเภทขาดหายไป (TE)
คุณสามารถใช้ audit2allow เพื่อสร้างโมดูลที่โหลดได้เพื่ออนุญาตการเข้าถึงนี้
เราแก้ไขปัญหานี้โดยสร้างนโยบายที่กำหนดเองของ SELinux โดยใช้ ตรวจสอบ 2 อนุญาต
สั่งการ.
แต่เราจำเป็นต้องทราบว่ามีวิธีอื่นในการแก้ปัญหานี้โดยใช้ SELinux Booleans หรือการเปลี่ยนแปลงฉลากที่เราสามารถใช้ได้หรือไม่
ได้โปรดให้คำแนะนำฉัน ?
ขอบคุณ