ข้ามไปยังเนื้อหาหลัก

เอกสารอ้างอิงคอนฟิกูเรชัน

บริการ NetRecon ทั้งหมดถูกกำหนดค่าผ่านไฟล์ .env เดียวที่อยู่ที่ /opt/netrecon/.env หน้านี้จะอธิบายตัวแปร environment ทั้งหมดที่มี

การตั้งค่าหลัก

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
NETRECON_DOMAINใช่ชื่อโดเมนของคุณ (เช่น netrecon.yourcompany.com)
NETRECON_EMAILใช่อีเมลผู้ดูแลระบบสำหรับ Let's Encrypt และการแจ้งเตือน

ฐานข้อมูล (PostgreSQL)

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
POSTGRES_USERใช่ชื่อผู้ใช้ PostgreSQL
POSTGRES_PASSWORDใช่รหัสผ่าน PostgreSQL
POSTGRES_DBใช่netreconชื่อฐานข้อมูล
DATABASE_URLอัตโนมัติสร้างโดยอัตโนมัติจากค่าข้างต้น
tip

ใช้รหัสผ่านที่แข็งแกร่งและสร้างแบบสุ่ม สร้างได้ด้วย:

openssl rand -base64 24

แคช (Redis)

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
REDIS_PASSWORDใช่รหัสผ่านยืนยันตัวตน Redis
REDIS_URLอัตโนมัติสร้างโดยอัตโนมัติ

การยืนยันตัวตน

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
JWT_SECRETใช่คีย์ลับสำหรับลงนาม JWT token (ขั้นต่ำ 32 อักขระ)
JWT_EXPIRE_MINUTESไม่1440เวลาหมดอายุ token (ค่าเริ่มต้น: 24 ชั่วโมง)

สร้าง JWT secret ที่ปลอดภัย:

openssl rand -hex 32

Agent Registry

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
AGENT_REGISTRY_SECRETใช่Secret สำหรับการลงทะเบียน agent
AGENT_JWT_SECRETใช่JWT secret สำหรับการยืนยันตัวตน agent
AGENT_TOKEN_EXPIRE_MINUTESไม่1440การหมดอายุ token ของ agent
AGENT_HEARTBEAT_INTERVALไม่30ช่วงเวลา heartbeat เป็นวินาที
AGENT_HEARTBEAT_TIMEOUTไม่90วินาทีก่อนทำเครื่องหมาย agent ว่าออฟไลน์

อีเมล (SMTP)

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
SMTP_HOSTใช่ชื่อโฮสต์เซิร์ฟเวอร์ SMTP
SMTP_PORTไม่587พอร์ต SMTP (587 สำหรับ STARTTLS, 465 สำหรับ SSL)
SMTP_USERใช่ชื่อผู้ใช้ SMTP
SMTP_PASSWORDใช่รหัสผ่าน SMTP
SMTP_FROMใช่ที่อยู่ผู้ส่ง (เช่น NetRecon <[email protected]>)

ลิขสิทธิ์

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
LICENSE_KEYใช่License key ของ NetRecon ของคุณ

ติดต่อ [email protected] เพื่อรับ license key

บริการสำรองข้อมูล

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
BACKUP_S3_ENDPOINTไม่endpoint ที่รองรับ S3
BACKUP_S3_BUCKETไม่ชื่อ bucket สำหรับการสำรอง
BACKUP_S3_ACCESS_KEYไม่S3 access key
BACKUP_S3_SECRET_KEYไม่S3 secret key
BACKUP_ENCRYPTION_KEYไม่คีย์เข้ารหัส AES-256-GCM สำหรับการสำรอง
BACKUP_RETENTION_DAYSไม่30จำนวนวันที่เก็บไฟล์สำรอง

การแจ้งเตือน

ตัวแปรจำเป็นค่าเริ่มต้นรายละเอียด
TELEGRAM_BOT_TOKENไม่Telegram bot token สำหรับการแจ้งเตือน
TELEGRAM_CHAT_IDไม่Telegram chat ID สำหรับส่งการแจ้งเตือน

ตัวอย่างไฟล์ .env

# หลัก
NETRECON_DOMAIN=netrecon.yourcompany.com
NETRECON_EMAIL=[email protected]

# PostgreSQL
POSTGRES_USER=netrecon
POSTGRES_PASSWORD=xK9mP2vL8nQ4wR7j
POSTGRES_DB=netrecon

# Redis
REDIS_PASSWORD=hT6yN3bF9cM1pW5s

# การยืนยันตัวตน
JWT_SECRET=a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2

# Agent Registry
AGENT_REGISTRY_SECRET=r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2g3
AGENT_JWT_SECRET=h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9

# อีเมล
SMTP_HOST=smtp.yourcompany.com
SMTP_PORT=587
SMTP_USER=[email protected]
SMTP_PASSWORD=your-smtp-password
SMTP_FROM=NetRecon <[email protected]>

# ลิขสิทธิ์
LICENSE_KEY=your-license-key
warning

อย่า commit ไฟล์ .env ไปยังระบบควบคุมเวอร์ชัน ค่าทั้งหมดที่แสดงข้างต้นเป็นตัวอย่าง แทนที่ด้วยค่าที่ปลอดภัยของคุณเองก่อนการติดตั้ง

การใช้การเปลี่ยนแปลงคอนฟิกูเรชัน

หลังจากแก้ไขไฟล์ .env รีสตาร์ทบริการที่ได้รับผลกระทบ:

cd /opt/netrecon

# รีสตาร์ทบริการทั้งหมด
docker compose down && docker compose up -d

# หรือรีสตาร์ทบริการเฉพาะ
docker compose restart api-gateway

พอร์ตบริการ

บริการทั้งหมดทำงานอยู่หลัง Nginx reverse proxy บนพอร์ต 80/443 พอร์ตบริการภายในไม่ได้เปิดเผยโดยค่าเริ่มต้น:

บริการพอร์ตภายในรายละเอียด
API Gateway8000endpoint API หลัก
Vault Server8001การจัดการความลับ
License Server8002การตรวจสอบลิขสิทธิ์
Email Service8003SMTP relay
Notification Service8004Push notification และการแจ้งเตือน
Update Server8005การอัปเดต agent และ probe
Agent Registry8006การลงทะเบียนและจัดการ agent
Warranty Service8007การค้นหาการรับประกันฮาร์ดแวร์
CMod Service8008การจัดการคอนฟิกูเรชัน
IPAM Service8009การจัดการ IP address

หากต้องการเปิดเผยพอร์ตบริการโดยตรง (ไม่แนะนำสำหรับ production) ให้เพิ่มไปยังการแมป ports ของบริการใน docker-compose.yml

สำหรับความช่วยเหลือ ติดต่อ [email protected]