Hailbytes VPN พร้อมเอกสาร Firezone Firewall

สารบัญ

เริ่มต้นเลย

มีคำแนะนำทีละขั้นตอนสำหรับการปรับใช้ Hailbytes VPN กับ Firezone GUI ที่นี่ 

ผู้ดูแลระบบ: การตั้งค่าอินสแตนซ์ของเซิร์ฟเวอร์เกี่ยวข้องโดยตรงกับส่วนนี้

คู่มือผู้ใช้: เอกสารที่เป็นประโยชน์ที่สามารถสอนวิธีใช้ Firezone และแก้ปัญหาทั่วไป หลังจากปรับใช้เซิร์ฟเวอร์สำเร็จแล้ว ให้อ้างอิงส่วนนี้

คำแนะนำสำหรับการกำหนดค่าทั่วไป

Split Tunneling: ใช้ VPN เพื่อส่งทราฟฟิกไปยังช่วง IP ที่ระบุเท่านั้น

ไวท์ลิสต์: ตั้งค่าที่อยู่ IP แบบคงที่ของเซิร์ฟเวอร์ VPN เพื่อใช้ไวท์ลิสต์

อุโมงค์ย้อนกลับ: สร้างอุโมงค์ระหว่างเพื่อนหลายคนโดยใช้อุโมงค์ย้อนกลับ

ได้รับการสนับสนุน

เรายินดีที่จะช่วยเหลือคุณ หากคุณต้องการความช่วยเหลือในการติดตั้ง ปรับแต่ง หรือใช้งาน Hailbytes VPN

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

ก่อนที่ผู้ใช้จะสามารถสร้างหรือดาวน์โหลดไฟล์กำหนดค่าอุปกรณ์ได้ Firezone สามารถกำหนดค่าให้ต้องมีการตรวจสอบสิทธิ์ได้ ผู้ใช้อาจต้องตรวจสอบสิทธิ์ซ้ำเป็นระยะเพื่อให้การเชื่อมต่อ VPN ใช้งานได้

แม้ว่าวิธีการเข้าสู่ระบบเริ่มต้นของ Firezone คืออีเมลและรหัสผ่านในเครื่อง แต่ก็สามารถรวมเข้ากับผู้ให้บริการข้อมูลประจำตัว OpenID Connect (OIDC) ที่เป็นมาตรฐาน ขณะนี้ผู้ใช้สามารถเข้าสู่ระบบ Firezone โดยใช้ข้อมูลประจำตัวของ Okta, Google, Azure AD หรือผู้ให้บริการข้อมูลส่วนตัว

 

รวมผู้ให้บริการ OIDC ทั่วไป

พารามิเตอร์การกำหนดค่าที่ Firezone ต้องการเพื่ออนุญาต SSO โดยใช้ผู้ให้บริการ OIDC แสดงไว้ในตัวอย่างด้านล่าง ที่ /etc/firezone/firezone.rb คุณอาจพบไฟล์การกำหนดค่า เรียกใช้การกำหนดค่าใหม่ firezone-ctl และรีสตาร์ท firezone-ctl เพื่ออัปเดตแอปพลิเคชันและรับผลกระทบจากการเปลี่ยนแปลง

 

# นี่คือตัวอย่างการใช้ Google และ Okta เป็นผู้ให้บริการข้อมูลประจำตัว SSO

# สามารถเพิ่มการกำหนดค่า OIDC หลายรายการในอินสแตนซ์ Firezone เดียวกัน

 

# Firezone สามารถปิดการใช้งาน VPN ของผู้ใช้หากตรวจพบข้อผิดพลาดในการพยายาม

# เพื่อรีเฟรช access_token ของพวกเขา สิ่งนี้ได้รับการยืนยันว่าใช้งานได้กับ Google, Okta และ

# Azure SSO และใช้เพื่อยกเลิกการเชื่อมต่อ VPN ของผู้ใช้โดยอัตโนมัติหากถูกลบ

#จากผู้ให้บริการ OIDC ปล่อยให้สิ่งนี้ปิดการใช้งานหากผู้ให้บริการ OIDC ของคุณ

# มีปัญหาในการรีเฟรชโทเค็นการเข้าถึงเนื่องจากอาจขัดจังหวะโดยไม่คาดคิด

# เซสชัน VPN ของผู้ใช้

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['disable_vpn_on_oidc_error'] = เท็จ

 

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['oidc'] = {

  Google: {

    Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,

    client_id: “ ”,

    ลูกค้า_ความลับ: “ ”,

    เปลี่ยนเส้นทาง_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/”,

    response_type: “รหัส”,

    ขอบเขต: “โปรไฟล์อีเมล openid”,

    ป้ายกำกับ: “กูเกิล”

  },

  ตกลง: {

    Discovery_document_uri: “https:// /.well-known/openid-configuration”,

    client_id: “ ”,

    ลูกค้า_ความลับ: “ ”,

    เปลี่ยนเส้นทาง_uri: “https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: “รหัส”,

    ขอบเขต: “โปรไฟล์อีเมล openid offline_access”,

    ป้ายกำกับ: “อ็อกตา”

  }

}



จำเป็นต้องมีการตั้งค่าคอนฟิกต่อไปนี้สำหรับการผสานรวม:

  1. Discovery_document_uri: The URI การกำหนดค่าผู้ให้บริการ OpenID Connect ซึ่งส่งคืนเอกสาร JSON ที่ใช้ในการสร้างคำขอที่ตามมาไปยังผู้ให้บริการ OIDC นี้
  2. client_id: รหัสลูกค้าของแอปพลิเคชัน
  3. client_secret: ความลับไคลเอนต์ของแอปพลิเคชัน
  4. redirect_uri: สั่งให้ผู้ให้บริการ OIDC เปลี่ยนเส้นทางหลังจากการตรวจสอบสิทธิ์ นี่ควรเป็น Firezone ของคุณ EXTERNAL_URL + /auth/oidc/ /callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/google/callback/)
  5. response_type: ตั้งเป็นรหัส
  6. ขอบเขต: ขอบเขต OIDC ที่จะได้รับจากผู้ให้บริการ OIDC ของคุณ ควรตั้งค่าเป็นโปรไฟล์อีเมล openid หรือโปรไฟล์อีเมล openid offline_access ขึ้นอยู่กับผู้ให้บริการ
  7. ป้ายกำกับ: ข้อความป้ายกำกับปุ่มที่ปรากฏบนหน้าจอเข้าสู่ระบบ Firezone ของคุณ

URL ที่สวยงาม

สำหรับผู้ให้บริการ OIDC แต่ละราย จะมีการสร้าง URL สวยๆ ที่สอดคล้องกันเพื่อเปลี่ยนเส้นทางไปยัง URL ลงชื่อเข้าใช้ของผู้ให้บริการที่กำหนดค่าไว้ สำหรับตัวอย่างการกำหนดค่า OIDC ด้านบน URL คือ:

  • https://instance-id.yourfirezone.com/auth/oidc/google
  • https://instance-id.yourfirezone.com/auth/oidc/okta

คำแนะนำสำหรับการตั้งค่า Firezone ด้วยผู้ให้บริการข้อมูลประจำตัวยอดนิยม

ผู้ให้บริการที่เรามีเอกสารสำหรับ:

  • Google
  • Okta
  • Azure Active Directory
  • หนึ่งเข้าสู่ระบบ
  • การตรวจสอบสิทธิ์ในพื้นที่

 

หากผู้ให้บริการระบุตัวตนของคุณมีตัวเชื่อมต่อ OIDC ทั่วไปและไม่ได้อยู่ในรายการด้านบน โปรดไปที่เอกสารประกอบสำหรับข้อมูลเกี่ยวกับวิธีดึงการตั้งค่าการกำหนดค่าที่จำเป็น

รักษาการตรวจสอบซ้ำเป็นประจำ

การตั้งค่าภายใต้การตั้งค่า/ความปลอดภัยสามารถเปลี่ยนแปลงได้เพื่อให้ต้องมีการตรวจสอบสิทธิ์ซ้ำเป็นระยะ สิ่งนี้สามารถใช้เพื่อบังคับใช้ข้อกำหนดที่ผู้ใช้เข้าสู่ Firezone เป็นประจำเพื่อดำเนินการเซสชัน VPN ต่อไป

สามารถกำหนดค่าระยะเวลาเซสชั่นให้อยู่ระหว่างหนึ่งชั่วโมงถึงเก้าสิบวัน เมื่อตั้งค่าเป็น Never คุณจะเปิดใช้เซสชัน VPN ได้ทุกเมื่อ นี่คือมาตรฐาน

ตรวจสอบสิทธิ์อีกครั้ง

ผู้ใช้ต้องยุติเซสชัน VPN และเข้าสู่ระบบพอร์ทัล Firezone เพื่อตรวจสอบสิทธิ์เซสชัน VPN ที่หมดอายุอีกครั้ง (URL ที่ระบุในระหว่างการปรับใช้)

คุณสามารถตรวจสอบสิทธิ์เซสชันของคุณใหม่ได้โดยทำตามคำแนะนำที่ถูกต้องของลูกค้าซึ่งพบที่นี่

 

สถานะของการเชื่อมต่อ VPN

คอลัมน์ตารางการเชื่อมต่อ VPN ของหน้าผู้ใช้จะแสดงสถานะการเชื่อมต่อของผู้ใช้ นี่คือสถานะการเชื่อมต่อ:

เปิดใช้งาน – การเชื่อมต่อถูกเปิดใช้งาน

ปิดใช้งาน – การเชื่อมต่อถูกปิดใช้งานโดยผู้ดูแลระบบหรือการรีเฟรช OIDC ล้มเหลว

หมดอายุ – การเชื่อมต่อถูกปิดใช้งานเนื่องจากการหมดอายุของการรับรองความถูกต้อง หรือผู้ใช้ไม่ได้ลงชื่อเข้าใช้เป็นครั้งแรก

Google

ผ่านตัวเชื่อมต่อ OIDC ทั่วไป Firezone เปิดใช้งานการลงชื่อเพียงครั้งเดียว (SSO) ด้วย Google Workspace และ Cloud Identity คู่มือนี้จะแสดงวิธีรับพารามิเตอร์การกำหนดค่าตามรายการด้านล่าง ซึ่งจำเป็นสำหรับการผสานรวม:

  1. Discovery_document_uri: The URI การกำหนดค่าผู้ให้บริการ OpenID Connect ซึ่งส่งคืนเอกสาร JSON ที่ใช้ในการสร้างคำขอที่ตามมาไปยังผู้ให้บริการ OIDC นี้
  2. client_id: รหัสลูกค้าของแอปพลิเคชัน
  3. client_secret: ความลับไคลเอนต์ของแอปพลิเคชัน
  4. redirect_uri: สั่งให้ผู้ให้บริการ OIDC เปลี่ยนเส้นทางหลังจากการตรวจสอบสิทธิ์ นี่ควรเป็น Firezone ของคุณ EXTERNAL_URL + /auth/oidc/ /callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/google/callback/)
  5. response_type: ตั้งเป็นรหัส
  6. ขอบเขต: ขอบเขต OIDC ที่จะได้รับจากผู้ให้บริการ OIDC ของคุณ ควรตั้งค่านี้เป็นโปรไฟล์อีเมล openid เพื่อให้ Firezone มีอีเมลของผู้ใช้ในการอ้างสิทธิ์ที่ส่งคืน
  7. ป้ายกำกับ: ข้อความป้ายกำกับปุ่มที่ปรากฏบนหน้าจอเข้าสู่ระบบ Firezone ของคุณ

รับการตั้งค่าการกำหนดค่า

1. หน้าจอกำหนดค่า OAuth†<

หากนี่เป็นครั้งแรกที่คุณสร้างรหัสไคลเอ็นต์ OAuth ใหม่ ระบบจะขอให้คุณกำหนดค่าหน้าจอยินยอม

*เลือกภายในสำหรับประเภทผู้ใช้ การดำเนินการนี้ทำให้เฉพาะบัญชีที่เป็นของผู้ใช้ในองค์กร Google Workspace ของคุณเท่านั้นที่สามารถสร้างการกำหนดค่าอุปกรณ์ได้ อย่าเลือกภายนอก เว้นแต่คุณต้องการเปิดใช้งานทุกคนที่มีบัญชี Google ที่ถูกต้องเพื่อสร้างการกำหนดค่าอุปกรณ์

 

บนหน้าจอข้อมูลแอพ:

  1. ชื่อแอป: Firezone
  2. โลโก้แอป: โลโก้ไฟร์โซน (บันทึกลิงค์เป็น).
  3. หน้าแรกของแอปพลิเคชัน: URL ของอินสแตนซ์ Firezone ของคุณ
  4. โดเมนที่ได้รับอนุญาต: โดเมนระดับบนสุดของอินสแตนซ์ Firezone ของคุณ

 

 

2. สร้างรหัสลูกค้า OAuth†<

ส่วนนี้อ้างอิงจากเอกสารประกอบของ Google เอง ตั้งค่า OAuth 2.0.

ไปที่ Google Cloud Console หน้าข้อมูลประจำตัว คลิก + สร้างข้อมูลรับรอง และเลือกรหัสไคลเอ็นต์ OAuth

บนหน้าจอการสร้างรหัสลูกค้า OAuth:

  1. ตั้งค่า Application Type เป็น Web application
  2. เพิ่ม Firezone ของคุณ EXTERNAL_URL + /auth/oidc/google/callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/google/callback/) เป็นรายการไปยัง URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต

 

หลังจากสร้างรหัสไคลเอ็นต์ OAuth แล้ว คุณจะได้รับรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ ซึ่งจะใช้ร่วมกับ URI การเปลี่ยนเส้นทางในขั้นตอนถัดไป

การรวม Firezone

Edit /etc/firezone/firezone.rb เพื่อรวมตัวเลือกด้านล่าง:

 

# การใช้ Google เป็นผู้ให้บริการข้อมูลประจำตัว SSO

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['oidc'] = {

  Google: {

    Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,

    client_id: “ ”,

    ลูกค้า_ความลับ: “ ”,

    เปลี่ยนเส้นทาง_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/”,

    response_type: “รหัส”,

    ขอบเขต: “โปรไฟล์อีเมล openid”,

    ป้ายกำกับ: “กูเกิล”

  }

}

 

เรียกใช้การกำหนดค่าใหม่ firezone-ctl และรีสตาร์ท firezone-ctl เพื่ออัปเดตแอปพลิเคชัน ตอนนี้คุณควรเห็นปุ่มลงชื่อเข้าใช้ด้วย Google ที่ URL รูทของ Firezone

Okta

Firezone ใช้ตัวเชื่อมต่อ OIDC ทั่วไปเพื่ออำนวยความสะดวกในการลงชื่อเพียงครั้งเดียว (SSO) ด้วย Okta บทช่วยสอนนี้จะแสดงวิธีรับพารามิเตอร์การกำหนดค่าตามรายการด้านล่าง ซึ่งจำเป็นสำหรับการผสานรวม:

  1. Discovery_document_uri: The URI การกำหนดค่าผู้ให้บริการ OpenID Connect ซึ่งส่งคืนเอกสาร JSON ที่ใช้ในการสร้างคำขอที่ตามมาไปยังผู้ให้บริการ OIDC นี้
  2. client_id: รหัสลูกค้าของแอปพลิเคชัน
  3. client_secret: ความลับไคลเอนต์ของแอปพลิเคชัน
  4. redirect_uri: สั่งให้ผู้ให้บริการ OIDC เปลี่ยนเส้นทางหลังจากการตรวจสอบสิทธิ์ นี่ควรเป็น Firezone ของคุณ EXTERNAL_URL + /auth/oidc/ /callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/okta/callback/)
  5. response_type: ตั้งเป็นรหัส
  6. ขอบเขต: ขอบเขต OIDC ที่จะได้รับจากผู้ให้บริการ OIDC ของคุณ ควรตั้งค่านี้เป็นโปรไฟล์อีเมล openid offline_access เพื่อให้ Firezone มีอีเมลของผู้ใช้ในการอ้างสิทธิ์ที่ส่งคืน
  7. ป้ายกำกับ: ข้อความป้ายกำกับปุ่มที่ปรากฏบนหน้าจอเข้าสู่ระบบ Firezone ของคุณ

 

รวมแอพ Okta

ส่วนนี้ของคู่มืออ้างอิงจาก เอกสารของ Okta.

ในคอนโซลการดูแลระบบ ให้ไปที่ Applications > Applications และคลิก Create App Integration กำหนดวิธีการลงชื่อเข้าใช้เป็น OICD – OpenID Connect และ Application type เป็น Web application

กำหนดการตั้งค่าเหล่านี้:

  1. ชื่อแอป: Firezone
  2. โลโก้แอป: โลโก้ไฟร์โซน (บันทึกลิงค์เป็น).
  3. ประเภทการให้สิทธิ์: ทำเครื่องหมายในช่องรีเฟรชโทเค็น สิ่งนี้ทำให้มั่นใจได้ว่า Firezone จะซิงค์กับผู้ให้บริการข้อมูลประจำตัวและการเข้าถึง VPN จะสิ้นสุดลงเมื่อลบผู้ใช้ออก
  4. URI การเปลี่ยนเส้นทางการลงชื่อเข้าใช้: เพิ่ม Firezone EXTERNAL_URL ของคุณ + /auth/oidc/okta/callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) เป็นรายการไปยัง URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต .
  5. การมอบหมาย: จำกัดเฉพาะกลุ่มที่คุณต้องการให้สิทธิ์เข้าถึงอินสแตนซ์ Firezone ของคุณ

เมื่อบันทึกการตั้งค่าแล้ว คุณจะได้รับ Client ID, Client Secret และ Okta Domain ค่า 3 ค่านี้จะใช้ในขั้นตอนที่ 2 เพื่อกำหนดค่า Firezone

รวม Firezone

Edit /etc/firezone/firezone.rb เพื่อรวมตัวเลือกด้านล่าง ของคุณ Discovery_document_url จะ /.well-known/openid-configuration ต่อท้ายของคุณ okta_domain.

 

# การใช้ Okta เป็นผู้ให้บริการข้อมูลประจำตัว SSO

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['oidc'] = {

  ตกลง: {

    Discovery_document_uri: “https:// /.well-known/openid-configuration”,

    client_id: “ ”,

    ลูกค้า_ความลับ: “ ”,

    เปลี่ยนเส้นทาง_uri: “https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: “รหัส”,

    ขอบเขต: “โปรไฟล์อีเมล openid offline_access”,

    ป้ายกำกับ: “อ็อกตา”

  }

}

 

เรียกใช้การกำหนดค่าใหม่ firezone-ctl และรีสตาร์ท firezone-ctl เพื่ออัปเดตแอปพลิเคชัน ตอนนี้คุณควรเห็นปุ่มลงชื่อเข้าใช้ด้วย Okta ที่ URL รูทของ Firezone

 

จำกัดการเข้าถึงสำหรับผู้ใช้บางคน

ผู้ใช้ที่สามารถเข้าถึงแอป Firezone นั้นสามารถถูกจำกัดโดย Okta ไปที่หน้าการมอบหมายการรวมแอป Firezone ของคอนโซลผู้ดูแลระบบ Okta เพื่อดำเนินการนี้

Azure Active Directory

Firezone เปิดใช้งาน Single Sign-On (SSO) ด้วย Azure Active Directory ผ่านตัวเชื่อมต่อ OIDC ทั่วไป คู่มือนี้จะแสดงวิธีรับพารามิเตอร์การกำหนดค่าตามรายการด้านล่าง ซึ่งจำเป็นสำหรับการผสานรวม:

  1. Discovery_document_uri: The URI การกำหนดค่าผู้ให้บริการ OpenID Connect ซึ่งส่งคืนเอกสาร JSON ที่ใช้ในการสร้างคำขอที่ตามมาไปยังผู้ให้บริการ OIDC นี้
  2. client_id: รหัสลูกค้าของแอปพลิเคชัน
  3. client_secret: ความลับไคลเอนต์ของแอปพลิเคชัน
  4. redirect_uri: สั่งให้ผู้ให้บริการ OIDC เปลี่ยนเส้นทางหลังจากการตรวจสอบสิทธิ์ นี่ควรเป็น Firezone ของคุณ EXTERNAL_URL + /auth/oidc/ /callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/azure/callback/)
  5. response_type: ตั้งเป็นรหัส
  6. ขอบเขต: ขอบเขต OIDC ที่จะได้รับจากผู้ให้บริการ OIDC ของคุณ ควรตั้งค่านี้เป็นโปรไฟล์อีเมล openid offline_access เพื่อให้ Firezone มีอีเมลของผู้ใช้ในการอ้างสิทธิ์ที่ส่งคืน
  7. ป้ายกำกับ: ข้อความป้ายกำกับปุ่มที่ปรากฏบนหน้าจอเข้าสู่ระบบ Firezone ของคุณ

รับการตั้งค่าการกำหนดค่า

คู่มือนี้ดึงมาจาก เอกสาร Azure Active Directory.

 

ไปที่หน้า Azure Active Directory ของพอร์ทัล Azure เลือกตัวเลือกเมนูจัดการ เลือกการลงทะเบียนใหม่ จากนั้นลงทะเบียนโดยระบุข้อมูลด้านล่าง:

  1. ชื่อ: ไฟร์โซน
  2. ประเภทบัญชีที่รองรับ: (ไดเรกทอรีเริ่มต้นเท่านั้น – ผู้เช่ารายเดียว)
  3. เปลี่ยนเส้นทาง URI: นี่ควรเป็น firezone ของคุณ EXTERNAL_URL + /auth/oidc/azure/callback/ (เช่น https://instance-id.yourfirezone.com/auth/oidc/azure/callback/) ตรวจสอบให้แน่ใจว่าคุณใส่เครื่องหมายทับท้าย นี่จะเป็นค่า redirect_uri

 

หลังจากลงทะเบียนแล้ว ให้เปิดมุมมองรายละเอียดของแอปพลิเคชันและคัดลอก รหัสแอปพลิเคชัน (ไคลเอนต์). นี่จะเป็นค่า client_id ถัดไป เปิดเมนูปลายทางเพื่อเรียกข้อมูล เอกสารข้อมูลเมตาของ OpenID Connect. นี่จะเป็นค่า Discovery_document_uri

 

สร้างความลับไคลเอ็นต์ใหม่โดยคลิกตัวเลือกใบรับรอง & ความลับใต้เมนูจัดการ คัดลอกความลับของลูกค้า ค่าความลับของลูกค้าจะเป็นค่านี้

 

สุดท้าย เลือกลิงก์สิทธิ์ API ใต้เมนูจัดการ คลิก เพิ่มสิทธิ์และเลือก กราฟ Microsoft, เพิ่ม อีเมล, OpenID, ออฟไลน์_เข้าถึง และ โปรไฟล์ ตามสิทธิ์ที่จำเป็น

การรวม Firezone

Edit /etc/firezone/firezone.rb เพื่อรวมตัวเลือกด้านล่าง:

 

# การใช้ Azure Active Directory เป็นผู้ให้บริการข้อมูลประจำตัว SSO

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['oidc'] = {

  สีฟ้า: {

    Discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration”,

    client_id: “ ”,

    ลูกค้า_ความลับ: “ ”,

    เปลี่ยนเส้นทาง_uri: “https://instance-id.yourfirezone.com/auth/oidc/azure/callback/”,

    response_type: “รหัส”,

    ขอบเขต: “โปรไฟล์อีเมล openid offline_access”,

    ป้ายกำกับ: “สีฟ้า”

  }

}

 

เรียกใช้การกำหนดค่าใหม่ firezone-ctl และรีสตาร์ท firezone-ctl เพื่ออัปเดตแอปพลิเคชัน ตอนนี้คุณควรเห็นปุ่มลงชื่อเข้าใช้ด้วย Azure ที่ URL รูทของ Firezone

วิธีการ: จำกัดการเข้าถึงสำหรับสมาชิกบางคน

Azure AD ช่วยให้ผู้ดูแลระบบสามารถจำกัดการเข้าถึงแอปเฉพาะกลุ่มผู้ใช้ภายในบริษัทของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการดำเนินการได้ในเอกสารประกอบของ Microsoft

จัดการ

  • กำหนดค่า
  • จัดการติดตั้ง
  • อัพเกรด
  • การแก้ไขปัญหาการ
  • ข้อพิจารณาด้านความปลอดภัย
  • เรียกใช้แบบสอบถาม SQL

กำหนดค่า

Chef Omnibus ใช้งานโดย Firezone เพื่อจัดการงานต่าง ๆ รวมถึงปล่อยบรรจุภัณฑ์ การควบคุมดูแลกระบวนการ การจัดการบันทึก และอื่น ๆ

รหัส Ruby สร้างไฟล์การกำหนดค่าหลักซึ่งอยู่ที่ /etc/firezone/firezone.rb การรีสตาร์ท sudo firezone-ctl กำหนดค่าใหม่หลังจากทำการแก้ไขไฟล์นี้ทำให้ Chef รับรู้การเปลี่ยนแปลงและนำไปใช้กับระบบปฏิบัติการปัจจุบัน

ดูการอ้างอิงไฟล์คอนฟิกูเรชันสำหรับรายการตัวแปรคอนฟิกูเรชันทั้งหมดและคำอธิบาย

จัดการติดตั้ง

อินสแตนซ์ Firezone ของคุณสามารถจัดการได้ผ่านทาง firezone-ctl คำสั่ง ดังรูปด้านล่าง คำสั่งย่อยส่วนใหญ่ต้องการคำนำหน้าด้วย sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: คำสั่ง (คำสั่งย่อย)

คำสั่งทั่วไป:

  ชำระล้าง

    ลบข้อมูล firezone *ทั้งหมด* และเริ่มต้นใหม่ทั้งหมด

  สร้างหรือรีเซ็ตผู้ดูแลระบบ

    รีเซ็ตรหัสผ่านสำหรับผู้ดูแลระบบด้วยอีเมลที่ระบุโดยค่าเริ่มต้น ['firezone']['admin_email'] หรือสร้างผู้ดูแลระบบใหม่หากไม่มีอีเมลนั้น

  ช่วย

    พิมพ์ข้อความช่วยเหลือนี้

  กำหนดค่าใหม่

    กำหนดค่าแอปพลิเคชันใหม่

  รีเซ็ตเครือข่าย

    รีเซ็ต nftables, อินเทอร์เฟซ WireGuard และตารางเส้นทางกลับเป็นค่าเริ่มต้นของ Firezone

  แสดงการกำหนดค่า

    แสดงการกำหนดค่าที่จะสร้างขึ้นโดยกำหนดค่าใหม่

  เครือข่ายน้ำตา

    ลบอินเทอร์เฟซ WireGuard และตาราง nftables ของ firezone

  บังคับให้ต่ออายุใบรับรอง

    บังคับให้ต่ออายุใบรับรองทันทีแม้ว่าจะยังไม่หมดอายุก็ตาม

  หยุดต่ออายุใบรับรอง

    ลบ cronjob ที่ต่ออายุใบรับรอง

  ถอนการติดตั้ง

    ฆ่ากระบวนการทั้งหมดและถอนการติดตั้งผู้ดูแลกระบวนการ (ข้อมูลจะถูกเก็บไว้)

  รุ่น

    แสดงเวอร์ชันปัจจุบันของ Firezone

คำสั่งการจัดการบริการ:

  สง่างามฆ่า

    พยายามหยุดอย่างสง่างาม จากนั้น SIGKILL กลุ่มกระบวนการทั้งหมด

  หุบ

    ส่งบริการ HUP

  int

    ส่งบริการ INT

  ฆ่า

    ส่งบริการ KILL

  ครั้งเดียว

    เริ่มบริการหากหยุดทำงาน อย่ารีสตาร์ทหากหยุดทำงาน

  การเริ่มต้นใหม่

    หยุดบริการหากกำลังทำงานอยู่ จากนั้นเริ่มใหม่อีกครั้ง

  รายการบริการ

    แสดงรายการบริการทั้งหมด (บริการที่เปิดใช้งานจะแสดงด้วยเครื่องหมาย *)

  เริ่มต้น

    เริ่มบริการหากหยุดทำงาน และเริ่มต้นใหม่หากหยุดทำงาน

  สถานะ

    แสดงสถานะของบริการทั้งหมด

  หยุด

    หยุดบริการและไม่ต้องรีสตาร์ท

  หาง

    ดูบันทึกการบริการของบริการที่เปิดใช้งานทั้งหมด

  ระยะ

    ส่งบริการ TERM

  usr1

    ส่งบริการ USR1

  usr2

    ส่งบริการ USR2

อัพเกรด

ต้องยุติเซสชัน VPN ทั้งหมดก่อนที่จะอัปเกรด Firezone ซึ่งเรียกร้องให้ปิดเว็บ UI ในกรณีที่เกิดข้อผิดพลาดระหว่างการอัปเกรด เราแนะนำให้เผื่อเวลาหนึ่งชั่วโมงไว้สำหรับการบำรุงรักษา

 

ในการปรับปรุง Firezone ให้ดำเนินการต่อไปนี้:

  1. อัปเกรดแพ็คเกจ firezone โดยใช้คำสั่งเดียวติดตั้ง: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. รัน firezone-ctl reconfigure เพื่อรับการเปลี่ยนแปลงใหม่
  3. เรียกใช้การรีสตาร์ท firezone-ctl เพื่อเริ่มบริการใหม่

หากมีปัญหาใดๆ เกิดขึ้น โปรดแจ้งให้เราทราบโดย ส่งตั๋วสนับสนุน

อัปเกรดจาก <0.5.0 เป็น >=0.5.0

มีการเปลี่ยนแปลงเล็กน้อยและการแก้ไขการกำหนดค่าใน 0.5.0 ที่ต้องแก้ไข ค้นหาข้อมูลเพิ่มเติมด้านล่าง

นำคำขอ Nginx non_ssl_port (HTTP) แบบรวมออกแล้ว

Nginx ไม่รองรับพารามิเตอร์พอร์ตบังคับ SSL และไม่ใช่ SSL อีกต่อไปตั้งแต่เวอร์ชัน 0.5.0 เนื่องจาก Firezone ต้องการ SSL ในการทำงาน เราแนะนำให้ลบบริการ Nginx ของบันเดิลโดยตั้งค่า default['firezone']['nginx']['enabled'] = false และส่งพร็อกซีย้อนกลับของคุณไปยังแอพ Phoenix บนพอร์ต 13000 แทน (โดยค่าเริ่มต้น ).

การสนับสนุนโปรโตคอล ACME

0.5.0 แนะนำการสนับสนุนโปรโตคอล ACME สำหรับการต่ออายุใบรับรอง SSL โดยอัตโนมัติด้วยบริการ Nginx ที่ให้มา การเปิดใช้งาน,

  • ตรวจสอบให้แน่ใจว่าค่าเริ่มต้น['firezone']['external_url'] มี FQDN ที่ถูกต้องซึ่งแก้ไขเป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ของคุณ
  • ตรวจสอบให้แน่ใจว่าสามารถเข้าถึงพอร์ต 80/tcp ได้
  • เปิดใช้งานการสนับสนุนโปรโตคอล ACME ด้วยค่าเริ่มต้น ['firezone']['ssl']['acme']['enabled'] = true ในไฟล์กำหนดค่าของคุณ

ปลายทางกฎขาออกที่ทับซ้อนกัน

ความเป็นไปได้ในการเพิ่มกฎที่มีปลายทางที่ซ้ำกันหายไปใน Firezone 0.5.0 สคริปต์การย้ายข้อมูลของเราจะจดจำสถานการณ์เหล่านี้โดยอัตโนมัติระหว่างการอัปเกรดเป็น 0.5.0 และจะเก็บเฉพาะกฎที่ปลายทางรวมกฎอื่นไว้ด้วย คุณไม่จำเป็นต้องทำอะไรหากไม่เป็นไร

มิฉะนั้น ก่อนอัปเกรด เราแนะนำให้เปลี่ยนชุดกฎของคุณเพื่อกำจัดสถานการณ์เหล่านี้

กำหนดค่า Okta และ Google SSO ล่วงหน้า

Firezone 0.5.0 ลบการรองรับการกำหนดค่า Okta และ Google SSO แบบเก่า เพื่อรองรับการกำหนดค่าตาม OIDC แบบใหม่ที่ยืดหยุ่นกว่า 

หากคุณมีการกำหนดค่าใดๆ ภายใต้คีย์เริ่มต้น ['firezone']['authentication']['okta'] หรือค่าเริ่มต้น['firezone']['authentication']['google'] คุณต้องย้ายข้อมูลเหล่านี้ไปยัง OIDC ของเรา - การกำหนดค่าตามคำแนะนำด้านล่าง

การกำหนดค่า Google OAuth ที่มีอยู่

ลบบรรทัดเหล่านี้ที่มีการกำหนดค่า Google OAuth เก่าออกจากไฟล์กำหนดค่าของคุณซึ่งอยู่ที่ /etc/firezone/firezone.rb

 

ค่าเริ่มต้น ['firezone']['การรับรองความถูกต้อง']['google']['เปิดใช้งาน']

ค่าเริ่มต้น['firezone']['การรับรองความถูกต้อง']['google']['client_id']

ค่าเริ่มต้น['firezone']['การรับรองความถูกต้อง']['google']['client_secret']

ค่าเริ่มต้น['firezone']['การรับรองความถูกต้อง']['google']['redirect_uri']

 

จากนั้น กำหนดค่า Google เป็นผู้ให้บริการ OIDC โดยทำตามขั้นตอนที่นี่

(ให้ลิงค์คำแนะนำ)<<<<<<<<<<<<<<<<

 

กำหนดค่า Google OAuth ที่มีอยู่ 

ลบบรรทัดเหล่านี้ที่มีการกำหนดค่า Okta OAuth เก่าออกจากไฟล์การกำหนดค่าของคุณที่ /etc/firezone/firezone.rb

 

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['okta'] ['เปิดใช้งาน']

ค่าเริ่มต้น ['firezone']['การรับรองความถูกต้อง']['okta']['client_id']

ค่าเริ่มต้น ['firezone']['การรับรองความถูกต้อง']['okta']['client_secret']

ค่าเริ่มต้น ['firezone']['การรับรองความถูกต้อง']['okta']['ไซต์']

 

จากนั้น กำหนดค่า Okta เป็นผู้ให้บริการ OIDC โดยทำตามขั้นตอนที่นี่

อัปเกรดจาก 0.3.x เป็น >= 0.3.16

ขึ้นอยู่กับการตั้งค่าและเวอร์ชันปัจจุบันของคุณ ปฏิบัติตามคำแนะนำด้านล่าง:

หากคุณมีการรวม OIDC อยู่แล้ว:

สำหรับผู้ให้บริการ OIDC บางราย การอัปเกรดเป็น >= 0.3.16 จำเป็นต้องได้รับโทเค็นการรีเฟรชสำหรับขอบเขตการเข้าถึงแบบออฟไลน์ การทำเช่นนี้จะช่วยให้แน่ใจว่า Firezone อัปเดตด้วยผู้ให้บริการข้อมูลประจำตัวและการเชื่อมต่อ VPN นั้นถูกปิดหลังจากที่ผู้ใช้ถูกลบ การทำซ้ำก่อนหน้านี้ของ Firezone ขาดคุณสมบัตินี้ ในบางกรณี ผู้ใช้ที่ถูกลบออกจากผู้ให้บริการข้อมูลประจำตัวของคุณอาจยังคงเชื่อมต่อกับ VPN

จำเป็นต้องรวมการเข้าถึงแบบออฟไลน์ในพารามิเตอร์ขอบเขตของการกำหนดค่า OIDC ของคุณสำหรับผู้ให้บริการ OIDC ที่สนับสนุนขอบเขตการเข้าถึงแบบออฟไลน์ ต้องดำเนินการกำหนดค่า Firezone-ctl ใหม่เพื่อใช้การเปลี่ยนแปลงกับไฟล์การกำหนดค่า Firezone ซึ่งอยู่ที่ /etc/firezone/firezone.rb

สำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้องโดยผู้ให้บริการ OIDC ของคุณ คุณจะเห็นส่วนหัวของการเชื่อมต่อ OIDC ในหน้ารายละเอียดผู้ใช้ของ UI ทางเว็บ หาก Firezone สามารถดึงข้อมูลโทเค็นการรีเฟรชได้สำเร็จ

หากไม่ได้ผล คุณจะต้องลบแอป OAuth ที่มีอยู่และทำตามขั้นตอนการตั้งค่า OIDC ซ้ำเพื่อ สร้างการรวมแอพใหม่ .

ฉันมีการรวม OAuth ที่มีอยู่

ก่อน 0.3.11 Firezone ใช้ผู้ให้บริการ OAuth2 ที่กำหนดค่าไว้ล่วงหน้า 

ทำตามคำแนะนำ คลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม เพื่อย้ายไปที่ OIDC

ฉันยังไม่ได้รวมผู้ให้บริการข้อมูลประจำตัว

ไม่จำเป็นต้องดำเนินการใดๆ 

คุณสามารถปฏิบัติตามคำแนะนำ คลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม เพื่อเปิดใช้งาน SSO ผ่านผู้ให้บริการ OIDC

อัปเกรดจาก 0.3.1 เป็น >= 0.3.2

แทนที่ default['firezone']['external url'] ได้แทนที่ตัวเลือกการกำหนดค่า default['firezone']['fqdn'] 

ตั้งค่านี้เป็น URL ของพอร์ทัลออนไลน์ Firezone ที่บุคคลทั่วไปสามารถเข้าถึงได้ โดยจะมีค่าเริ่มต้นเป็น https:// บวกกับ FQDN ของเซิร์ฟเวอร์ของคุณหากไม่ได้กำหนด

ไฟล์การกำหนดค่าอยู่ที่ /etc/firezone/firezone.rb ดูการอ้างอิงไฟล์คอนฟิกูเรชันสำหรับรายการตัวแปรคอนฟิกูเรชันทั้งหมดและคำอธิบาย

อัปเกรดจาก 0.2.x เป็น 0.3.x

Firezone ไม่เก็บคีย์ส่วนตัวของอุปกรณ์บนเซิร์ฟเวอร์ Firezone เป็นเวอร์ชัน 0.3.0 อีกต่อไป 

Firezone Web UI จะไม่อนุญาตให้คุณดาวน์โหลดซ้ำหรือดูการกำหนดค่าเหล่านี้ แต่อุปกรณ์ที่มีอยู่ควรทำงานต่อไปตามที่เป็นอยู่

อัปเกรดจาก 0.1.x เป็น 0.2.x

หากคุณกำลังอัปเกรดจาก Firezone 0.1.x มีการเปลี่ยนแปลงไฟล์การกำหนดค่าบางอย่างที่ต้องแก้ไขด้วยตนเอง 

หากต้องการแก้ไขไฟล์ /etc/firezone/firezone.rb ที่จำเป็น ให้รันคำสั่งด้านล่างในฐานะรูท

 

cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak

sed -i “s/\['enable'\]/\['enabled'\]/” /etc/firezone/firezone.rb

echo “default['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb

echo “default['firezone']['connectivity_checks']['interval'] = 3_600” >> /etc/firezone/firezone.rb

firezone-ctl กำหนดค่าใหม่

รีสตาร์ท firezone-ctl

การแก้ไขปัญหา

การตรวจสอบบันทึก Firezone เป็นขั้นตอนแรกที่ชาญฉลาดสำหรับปัญหาที่อาจเกิดขึ้น

เรียกใช้ sudo firezone-ctl tail เพื่อดูบันทึก Firezone

การดีบักปัญหาการเชื่อมต่อ

ปัญหาการเชื่อมต่อกับ Firezone ส่วนใหญ่เกิดจากกฎ iptables หรือ nftables ที่เข้ากันไม่ได้ คุณต้องตรวจสอบให้แน่ใจว่ากฎใดๆ ที่คุณบังคับใช้ไม่ขัดแย้งกับกฎของ Firezone

การเชื่อมต่ออินเทอร์เน็ตลดลงเมื่ออุโมงค์เปิดใช้งาน

ตรวจสอบให้แน่ใจว่าห่วงโซ่ FORWARD อนุญาตแพ็กเก็ตจากไคลเอนต์ WireGuard ไปยังตำแหน่งที่คุณต้องการให้ผ่าน Firezone หากการเชื่อมต่ออินเทอร์เน็ตของคุณแย่ลงทุกครั้งที่คุณเปิดใช้งานอุโมงค์ WireGuard

 

สิ่งนี้สามารถทำได้หากคุณใช้ ufw โดยตรวจสอบให้แน่ใจว่าอนุญาตนโยบายการกำหนดเส้นทางเริ่มต้น:

 

ubuntu@fz:~$ sudo ufw เริ่มต้นอนุญาตให้กำหนดเส้นทาง

นโยบายการกำหนดเส้นทางเริ่มต้นเปลี่ยนเป็น 'อนุญาต'

(อย่าลืมอัปเดตกฎของคุณตามนั้น)

 

A ufw สถานะสำหรับเซิร์ฟเวอร์ Firezone ทั่วไปอาจมีลักษณะดังนี้:

 

ubuntu@fz:~$ sudo ufw สถานะอย่างละเอียด

สถานะ: ใช้งานอยู่

การบันทึก: เปิด (ต่ำ)

เริ่มต้น: ปฏิเสธ (ขาเข้า), อนุญาต (ขาออก), อนุญาต (กำหนดเส้นทาง)

โปรไฟล์ใหม่: ข้าม

 

ถึงการดำเนินการจาก

— —— —-

22/tcp อนุญาตในทุกที่

80/tcp อนุญาตในทุกที่

443/tcp อนุญาตในทุกที่

51820/udp อนุญาตในทุกที่

22/tcp (v6) อนุญาตในทุกที่ (v6)

80/tcp (v6) อนุญาตในทุกที่ (v6)

443/tcp (v6) อนุญาตในทุกที่ (v6)

51820/udp (v6) อนุญาตในทุกที่ (v6)

ข้อพิจารณาด้านความปลอดภัย

เราแนะนำให้จำกัดการเข้าถึงเว็บอินเทอร์เฟซสำหรับการปรับใช้การผลิตที่ละเอียดอ่อนและมีความสำคัญต่อภารกิจมาก ดังที่อธิบายไว้ด้านล่าง

บริการและพอร์ต

 

Service

พอร์ตเริ่มต้น

ฟังที่อยู่

รายละเอียด

Nginx

80, 443

ทั้งหมด

พอร์ต HTTP(S) สาธารณะสำหรับการจัดการ Firezone และอำนวยความสะดวกในการตรวจสอบสิทธิ์

Wireguard

51820

ทั้งหมด

พอร์ต WireGuard สาธารณะใช้สำหรับเซสชัน VPN (ปชป.)

postgresql

15432

127.0.0.1

พอร์ตเฉพาะที่ใช้สำหรับเซิร์ฟเวอร์ Postgresql ที่รวมไว้

ต้นอินทผลัม

13000

127.0.0.1

พอร์ตในเครื่องเท่านั้นที่ใช้โดยเซิร์ฟเวอร์แอป upstream Elixir

การปรับใช้การผลิต

เราแนะนำให้คุณนึกถึงการจำกัดการเข้าถึง UI ทางเว็บที่เปิดเผยต่อสาธารณะของ Firezone (โดยค่าเริ่มต้นพอร์ต 443/tcp และ 80/tcp) และใช้อุโมงค์ WireGuard แทนเพื่อจัดการ Firezone สำหรับการผลิตและการปรับใช้ที่เปิดเผยต่อสาธารณะโดยผู้ดูแลระบบคนเดียวจะรับผิดชอบ ของการสร้างและแจกจ่ายการกำหนดค่าอุปกรณ์ให้กับผู้ใช้ปลายทาง

 

ตัวอย่างเช่น หากผู้ดูแลระบบสร้างการกำหนดค่าอุปกรณ์และสร้างอุโมงค์ที่มีที่อยู่ WireGuard ในเครื่อง 10.3.2.2 การกำหนดค่า ufw ต่อไปนี้จะทำให้ผู้ดูแลระบบสามารถเข้าถึง UI เว็บ Firezone บนอินเทอร์เฟซ wg-firezone ของเซิร์ฟเวอร์โดยใช้ค่าเริ่มต้น 10.3.2.1 ที่อยู่อุโมงค์:

 

root@demo:~# รายละเอียดสถานะ ufw

สถานะ: ใช้งานอยู่

การบันทึก: เปิด (ต่ำ)

เริ่มต้น: ปฏิเสธ (ขาเข้า), อนุญาต (ขาออก), อนุญาต (กำหนดเส้นทาง)

โปรไฟล์ใหม่: ข้าม

 

ถึงการดำเนินการจาก

— —— —-

22/tcp อนุญาตในทุกที่

51820/udp อนุญาตในทุกที่

ทุกที่ที่อนุญาตใน 10.3.2.2

22/tcp (v6) อนุญาตในทุกที่ (v6)

51820/udp (v6) อนุญาตในทุกที่ (v6)

คงจะเหลือแต่เพียงนี้ 22/ตัน เปิดให้เข้าถึง SSH เพื่อจัดการเซิร์ฟเวอร์ (ไม่บังคับ) และ 51820/ดป เปิดเผยเพื่อสร้างอุโมงค์ WireGuard

เรียกใช้แบบสอบถาม SQL

Firezone รวมเซิร์ฟเวอร์ Postgresql และการจับคู่ psql ยูทิลิตี้ที่สามารถใช้ได้จากเชลล์ในเครื่องดังนี้:

 

/opt/firezone/embedded/bin/psql \

  -U ไฟร์โซน \

  -d ไฟร์โซน \

  -h โลคัลโฮสต์ \

  -p 15432 \

  -c “SQL_STATEMENT”

 

ซึ่งจะเป็นประโยชน์สำหรับการดีบัก

 

งานทั่วไป:

 

  • รายชื่อผู้ใช้ทั้งหมด
  • รายการอุปกรณ์ทั้งหมด
  • การเปลี่ยนบทบาทของผู้ใช้
  • การสำรองฐานข้อมูล



รายชื่อผู้ใช้ทั้งหมด:

 

/opt/firezone/embedded/bin/psql \

  -U ไฟร์โซน \

  -d ไฟร์โซน \

  -h โลคัลโฮสต์ \

  -p 15432 \

  -c “เลือก * จากผู้ใช้”



รายการอุปกรณ์ทั้งหมด:

 

/opt/firezone/embedded/bin/psql \

  -U ไฟร์โซน \

  -d ไฟร์โซน \

  -h โลคัลโฮสต์ \

  -p 15432 \

  -c “เลือก * จากอุปกรณ์”



เปลี่ยนบทบาทของผู้ใช้:

 

กำหนดบทบาทเป็น 'admin' หรือ 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U ไฟร์โซน \

  -d ไฟร์โซน \

  -h โลคัลโฮสต์ \

  -p 15432 \

  -c “UPDATE users SET role = ‘admin’ WHERE email = ‘[ป้องกันอีเมล]’;”



สำรองฐานข้อมูล:

 

นอกจากนี้ยังมีโปรแกรม pg dump ซึ่งอาจใช้เพื่อสำรองฐานข้อมูลเป็นประจำ ดำเนินการโค้ดต่อไปนี้เพื่อดัมพ์สำเนาของฐานข้อมูลในรูปแบบแบบสอบถาม SQL ทั่วไป (แทนที่ /path/to/backup.sql ด้วยตำแหน่งที่ควรสร้างไฟล์ SQL):

 

/opt/firezone/embedded/bin/pg_dump \

  -U ไฟร์โซน \

  -d ไฟร์โซน \

  -h โลคัลโฮสต์ \

  -p 15432 > /path/to/backup.sql

คู่มือการใช้งาน

  • เพิ่มผู้ใช้
  • เพิ่มอุปกรณ์
  • กฎขาออก
  • คำแนะนำของลูกค้า
  • แยกอุโมงค์ VPN
  • อุโมงค์ย้อนกลับ 
  • NAT เกตเวย์

เพิ่มผู้ใช้

หลังจากปรับใช้ Firezone สำเร็จ คุณต้องเพิ่มผู้ใช้เพื่อให้พวกเขาเข้าถึงเครือข่ายของคุณ Web UI ใช้สำหรับทำสิ่งนี้

 

เว็บ UI


เมื่อเลือกปุ่ม "เพิ่มผู้ใช้" ใต้ /users คุณจะสามารถเพิ่มผู้ใช้ได้ คุณจะต้องให้ที่อยู่อีเมลและรหัสผ่านแก่ผู้ใช้ เพื่อให้ผู้ใช้ในองค์กรของคุณเข้าถึงได้โดยอัตโนมัติ Firezone ยังสามารถเชื่อมต่อและซิงค์กับผู้ให้บริการข้อมูลประจำตัว รายละเอียดเพิ่มเติมดูได้ใน รับรองความถูกต้อง. < เพิ่มลิงก์เพื่อรับรองความถูกต้อง

เพิ่มอุปกรณ์

เราขอแนะนำให้ร้องขอให้ผู้ใช้สร้างการกำหนดค่าอุปกรณ์ของตนเองเพื่อให้มองเห็นเฉพาะคีย์ส่วนตัวเท่านั้น ผู้ใช้สามารถสร้างการกำหนดค่าอุปกรณ์ของตนเองได้โดยทำตามคำแนะนำบน คำแนะนำของลูกค้า หน้าหนังสือ.

 

กำลังสร้างการกำหนดค่าอุปกรณ์ของผู้ดูแลระบบ

ผู้ดูแลระบบ Firezone สามารถสร้างการกำหนดค่าอุปกรณ์ของผู้ใช้ทั้งหมดได้ ในหน้าโปรไฟล์ผู้ใช้ที่ /users ให้เลือกตัวเลือก "เพิ่มอุปกรณ์" เพื่อทำสิ่งนี้ให้สำเร็จ

 

[แทรกภาพหน้าจอ]

 

คุณสามารถส่งอีเมลถึงผู้ใช้ไฟล์การกำหนดค่า WireGuard หลังจากสร้างโปรไฟล์อุปกรณ์

 

มีการเชื่อมโยงผู้ใช้และอุปกรณ์ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีเพิ่มผู้ใช้ โปรดดูที่ เพิ่มผู้ใช้.

กฎขาออก

ผ่านการใช้ระบบ netfilter ของเคอร์เนล Firezone เปิดใช้งานความสามารถในการกรองข้อมูลออกเพื่อระบุแพ็กเก็ต DROP หรือ ACCEPT อนุญาตให้สัญจรได้ตามปกติ

 

IPv4 และ IPv6 CIDR และที่อยู่ IP ได้รับการสนับสนุนผ่านรายการที่อนุญาตและรายการที่ปฏิเสธตามลำดับ คุณสามารถเลือกที่จะกำหนดขอบเขตกฎให้กับผู้ใช้เมื่อทำการเพิ่ม ซึ่งจะใช้กฎกับอุปกรณ์ทั้งหมดของผู้ใช้รายนั้น

คำแนะนำของลูกค้า

ติดตั้งและกำหนดค่า

หากต้องการสร้างการเชื่อมต่อ VPN โดยใช้ไคลเอนต์ WireGuard ดั้งเดิม โปรดดูคู่มือนี้

 

1. ติดตั้งไคลเอนต์ WireGuard ดั้งเดิม

 

ลูกค้า WireGuard อย่างเป็นทางการที่อยู่ที่นี่เข้ากันได้กับ Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ WireGuard ที่ https://www.wireguard.com/install/ สำหรับระบบปฏิบัติการที่ไม่ได้กล่าวถึงข้างต้น

 

2. ดาวน์โหลดไฟล์การกำหนดค่าอุปกรณ์

 

ผู้ดูแลระบบ Firezone ของคุณหรือตัวคุณเองสามารถสร้างไฟล์การกำหนดค่าอุปกรณ์โดยใช้พอร์ทัล Firezone

 

ไปที่ URL ที่ผู้ดูแลระบบ Firezone ของคุณให้ไว้เพื่อสร้างไฟล์การกำหนดค่าอุปกรณ์ด้วยตนเอง บริษัทของคุณจะมี URL เฉพาะสำหรับสิ่งนี้ ในกรณีนี้คือ https://instance-id.yourfirezone.com

 

เข้าสู่ระบบ Firezone Okta SSO

 

[แทรกภาพหน้าจอ]

 

3. เพิ่มการกำหนดค่าของลูกค้า

 

นำเข้าไฟล์ the.conf ไปยังไคลเอนต์ WireGuard โดยการเปิด ด้วยการพลิกสวิตช์เปิดใช้งาน คุณสามารถเริ่มเซสชัน VPN ได้

 

[แทรกภาพหน้าจอ]

การรับรองความถูกต้องซ้ำของเซสชัน

ทำตามคำแนะนำด้านล่างหากผู้ดูแลระบบเครือข่ายของคุณได้รับคำสั่งให้ตรวจสอบสิทธิ์ซ้ำเพื่อให้การเชื่อมต่อ VPN ของคุณใช้งานได้ 



คุณจำเป็นต้องมี:

 

URL ของพอร์ทัล Firezone: สอบถามการเชื่อมต่อจากผู้ดูแลระบบเครือข่ายของคุณ

ผู้ดูแลระบบเครือข่ายของคุณควรสามารถเสนอการเข้าสู่ระบบและรหัสผ่านของคุณได้ ไซต์ Firezone จะแจ้งให้คุณเข้าสู่ระบบโดยใช้บริการลงชื่อเพียงครั้งเดียวที่นายจ้างของคุณใช้ (เช่น Google หรือ Okta)

 

1. ปิดการเชื่อมต่อ VPN

 

[แทรกภาพหน้าจอ]

 

2. ตรวจสอบสิทธิ์อีกครั้ง 

ไปที่ URL ของพอร์ทัล Firezone และเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวที่ผู้ดูแลระบบเครือข่ายของคุณให้ไว้ หากคุณลงชื่อเข้าใช้แล้ว ให้คลิกปุ่มตรวจสอบสิทธิ์อีกครั้งก่อนลงชื่อเข้าใช้อีกครั้ง

 

[แทรกภาพหน้าจอ]

 

ขั้นตอนที่ 3: เปิดเซสชัน VPN

[แทรกภาพหน้าจอ]

ตัวจัดการเครือข่ายสำหรับ Linux

หากต้องการนำเข้าโปรไฟล์การกำหนดค่า WireGuard โดยใช้ Network Manager CLI บนอุปกรณ์ Linux ให้ทำตามคำแนะนำเหล่านี้ (nmcli)

หมายเหตุ

หากโปรไฟล์เปิดใช้งานการสนับสนุน IPv6 การพยายามนำเข้าไฟล์การกำหนดค่าโดยใช้ Network Manager GUI อาจล้มเหลวโดยมีข้อผิดพลาดต่อไปนี้:

ipv6.method: ไม่รองรับเมธอด “อัตโนมัติ” สำหรับ WireGuard

1. ติดตั้งเครื่องมือ WireGuard 

จำเป็นต้องติดตั้งยูทิลิตี้ WireGuard userspace นี่จะเป็นแพ็คเกจที่เรียกว่า wireguard หรือ wireguard-tools สำหรับการแจกจ่าย Linux

สำหรับอูบุนตู/เดเบียน:

sudo apt ติดตั้ง wireguard

วิธีใช้ Fedora:

sudo dnf ติดตั้งเครื่องมือ wireguard

Arch Linux:

sudo pacman -S wireguard-เครื่องมือ

เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ WireGuard ที่ https://www.wireguard.com/install/ สำหรับการแจกจ่ายที่ไม่ได้กล่าวถึงข้างต้น

2. ดาวน์โหลดการกำหนดค่า 

ผู้ดูแลระบบ Firezone ของคุณหรือผู้สร้างเองสามารถสร้างไฟล์การกำหนดค่าอุปกรณ์โดยใช้พอร์ทัล Firezone

ไปที่ URL ที่ผู้ดูแลระบบ Firezone ของคุณให้ไว้เพื่อสร้างไฟล์การกำหนดค่าอุปกรณ์ด้วยตนเอง บริษัทของคุณจะมี URL เฉพาะสำหรับสิ่งนี้ ในกรณีนี้คือ https://instance-id.yourfirezone.com

[แทรกภาพหน้าจอ]

3 นำเข้าการตั้งค่า

นำเข้าไฟล์การกำหนดค่าที่ให้มาโดยใช้ nmcli:

sudo การเชื่อมต่อ nmcli ประเภทการนำเข้าไฟล์ wireguard /path/to/configuration.conf

หมายเหตุ

ชื่อของไฟล์การกำหนดค่าจะสอดคล้องกับการเชื่อมต่อ/อินเทอร์เฟซ WireGuard หลังจากนำเข้าแล้ว สามารถเปลี่ยนชื่อการเชื่อมต่อได้หากจำเป็น:

การเชื่อมต่อ nmcli แก้ไข [ชื่อเก่า] connection.id [ชื่อใหม่]

4. เชื่อมต่อหรือตัดการเชื่อมต่อ

ผ่านบรรทัดคำสั่ง เชื่อมต่อกับ VPN ดังนี้:

การเชื่อมต่อ nmcli ขึ้น [ชื่อ VPN]

ในการยกเลิกการเชื่อมต่อ:

การเชื่อมต่อ nmcli ล่ม [ชื่อ VPN]

นอกจากนี้ยังสามารถใช้แอปเพล็ต Network Manager เพื่อจัดการการเชื่อมต่อหากใช้ GUI

การเชื่อมต่ออัตโนมัติ

เมื่อเลือก “ใช่” สำหรับตัวเลือกการเชื่อมต่ออัตโนมัติ การเชื่อมต่อ VPN สามารถกำหนดค่าให้เชื่อมต่อโดยอัตโนมัติได้:

 

การเชื่อมต่อ nmcli แก้ไขการเชื่อมต่อ [ชื่อ VPN] <<<<<<<<<<<<<<<<<<<<<<

 

เชื่อมต่ออัตโนมัติ ใช่

 

หากต้องการปิดใช้งานการเชื่อมต่ออัตโนมัติให้ตั้งค่ากลับเป็นไม่:

 

การเชื่อมต่อ nmcli แก้ไขการเชื่อมต่อ [ชื่อ VPN]

 

หมายเลขการเชื่อมต่ออัตโนมัติ

ทำให้การรับรองความถูกต้องด้วยหลายปัจจัยพร้อมใช้งาน

หากต้องการเปิดใช้งาน MFA ไปที่หน้า /บัญชีผู้ใช้/ลงทะเบียน mfa ของพอร์ทัล Firezone ใช้แอปยืนยันตัวตนของคุณเพื่อสแกนคิวอาร์โค้ดหลังจากสร้างขึ้น จากนั้นป้อนรหัสหกหลัก

ติดต่อผู้ดูแลระบบของคุณเพื่อรีเซ็ตข้อมูลการเข้าถึงบัญชีของคุณ หากคุณวางแอปยืนยันตัวตนผิดที่

แยกอุโมงค์ VPN

บทช่วยสอนนี้จะแนะนำคุณตลอดขั้นตอนการตั้งค่าคุณลักษณะการแยกช่องสัญญาณของ WireGuard ด้วย Firezone เพื่อให้มีการส่งต่อทราฟฟิกไปยังช่วง IP ที่ระบุผ่านเซิร์ฟเวอร์ VPN เท่านั้น

 

1. กำหนดค่า IP ที่อนุญาต 

ช่วง IP ที่ไคลเอนต์จะกำหนดเส้นทางทราฟฟิกเครือข่ายนั้นกำหนดไว้ในฟิลด์ IP ที่อนุญาต ซึ่งอยู่ในหน้า /settings/default เฉพาะการกำหนดค่าอุโมงค์ WireGuard ที่สร้างขึ้นใหม่ที่สร้างโดย Firezone เท่านั้นที่จะได้รับผลกระทบจากการเปลี่ยนแปลงในฟิลด์นี้

 

[แทรกภาพหน้าจอ]



ค่าเริ่มต้นคือ 0.0.0.0/0, ::/0 ซึ่งกำหนดเส้นทางการรับส่งข้อมูลเครือข่ายทั้งหมดจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์ VPN

 

ตัวอย่างของค่าในฟิลด์นี้ได้แก่:

 

0.0.0.0/0, ::/0 – การรับส่งข้อมูลเครือข่ายทั้งหมดจะถูกส่งไปยังเซิร์ฟเวอร์ VPN

192.0.2.3/32 – ทราฟฟิกไปยังที่อยู่ IP เดียวเท่านั้นที่จะถูกส่งไปยังเซิร์ฟเวอร์ VPN

3.5.140.0/22 ​​– เฉพาะการรับส่งข้อมูลไปยัง IP ในช่วง 3.5.140.1 – 3.5.143.254 เท่านั้นที่จะถูกส่งไปยังเซิร์ฟเวอร์ VPN ในตัวอย่างนี้ ใช้ช่วง CIDR สำหรับภูมิภาค AWS ap-northeast-2



หมายเหตุ

Firezone จะเลือกส่วนต่อประสานขาออกที่เกี่ยวข้องกับเส้นทางที่แม่นยำที่สุดก่อน เมื่อกำหนดตำแหน่งที่จะกำหนดเส้นทางแพ็กเก็ต

 

2. สร้างการกำหนดค่า WireGuard ใหม่

ผู้ใช้ต้องสร้างไฟล์การกำหนดค่าใหม่และเพิ่มไปยังไคลเอนต์ WireGuard ดั้งเดิมเพื่ออัปเดตอุปกรณ์ผู้ใช้ที่มีอยู่ด้วยการกำหนดค่าอุโมงค์แยกใหม่

 

สำหรับคำแนะนำโปรดดู เพิ่มอุปกรณ์. <<<<<<<<<<< เพิ่มลิงค์ครับ

อุโมงค์ย้อนกลับ

คู่มือนี้จะสาธิตวิธีเชื่อมโยงอุปกรณ์สองเครื่องโดยใช้ Firezone เป็นรีเลย์ กรณีการใช้งานทั่วไปอย่างหนึ่งคือการทำให้ผู้ดูแลระบบสามารถเข้าถึงเซิร์ฟเวอร์ คอนเทนเนอร์ หรือเครื่องที่ได้รับการป้องกันโดย NAT หรือไฟร์วอลล์

 

โหนดไปยังโหนด 

ภาพประกอบนี้แสดงสถานการณ์ที่ตรงไปตรงมาซึ่งอุปกรณ์ A และ B สร้างอุโมงค์

 

[แทรกภาพสถาปัตยกรรม firezone]

 

เริ่มต้นด้วยการสร้างอุปกรณ์ A และอุปกรณ์ B โดยไปที่ /users/[user_id]/new_device ในการตั้งค่าสำหรับอุปกรณ์แต่ละเครื่อง ตรวจสอบให้แน่ใจว่าได้ตั้งค่าพารามิเตอร์ต่อไปนี้เป็นค่าที่แสดงด้านล่าง คุณสามารถตั้งค่าอุปกรณ์ได้เมื่อสร้างการกำหนดค่าอุปกรณ์ (ดูเพิ่มอุปกรณ์) หากคุณต้องการอัปเดตการตั้งค่าบนอุปกรณ์ที่มีอยู่ คุณสามารถทำได้โดยสร้างการกำหนดค่าอุปกรณ์ใหม่

 

โปรดทราบว่าอุปกรณ์ทั้งหมดมีหน้า /settings/defaults ซึ่งสามารถกำหนดค่า PersistentKeepalive ได้

 

อุปกรณ์A

 

อนุญาต IPs = 10.3.2.2/32

  นี่คือ IP หรือช่วงของ IP ของอุปกรณ์ B

ถาวร Keepalive = 25

  หากอุปกรณ์อยู่เบื้องหลัง NAT สิ่งนี้จะทำให้มั่นใจได้ว่าอุปกรณ์สามารถรักษาช่องสัญญาณให้คงอยู่และรับแพ็กเก็ตจากอินเทอร์เฟซ WireGuard ต่อไป โดยปกติค่า 25 ก็เพียงพอแล้ว แต่คุณอาจต้องลดค่านี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ



อุปกรณ์ข

 

อนุญาต IPs = 10.3.2.3/32

นี่คือ IP หรือช่วงของ IP ของอุปกรณ์ A

ถาวร Keepalive = 25

กรณีผู้ดูแลระบบ - หนึ่งต่อหลายโหนด

ตัวอย่างนี้แสดงสถานการณ์ที่อุปกรณ์ A สามารถสื่อสารกับอุปกรณ์ B ถึง D ได้ทั้งสองทิศทาง การตั้งค่านี้สามารถแสดงถึงวิศวกรหรือผู้ดูแลระบบที่เข้าถึงทรัพยากรจำนวนมาก (เซิร์ฟเวอร์ คอนเทนเนอร์ หรือเครื่องจักร) ผ่านเครือข่ายต่างๆ

 

[แผนภาพสถาปัตยกรรม]<<<<<<<<<<<<<<<<<<<<<<<

 

ตรวจสอบให้แน่ใจว่าได้ตั้งค่าต่อไปนี้ในการตั้งค่าของอุปกรณ์แต่ละเครื่องเป็นค่าที่สอดคล้องกัน เมื่อสร้างการกำหนดค่าอุปกรณ์ คุณสามารถระบุการตั้งค่าอุปกรณ์ได้ (ดูเพิ่มอุปกรณ์) สามารถสร้างการกำหนดค่าอุปกรณ์ใหม่ได้หากจำเป็นต้องอัปเดตการตั้งค่าในอุปกรณ์ที่มีอยู่

 

อุปกรณ์ A (โหนดผู้ดูแลระบบ)

 

IP ที่อนุญาต = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    นี่คือ IP ของอุปกรณ์ B ถึง D ต้องรวม IP ของอุปกรณ์ B ถึง D ในช่วง IP ที่คุณเลือกตั้งค่า

ถาวร Keepalive = 25 

    สิ่งนี้รับประกันว่าอุปกรณ์สามารถรักษาทันเนลและรับแพ็กเก็ตจากอินเทอร์เฟซ WireGuard ต่อไปแม้ว่าจะได้รับการป้องกันโดย NAT ก็ตาม ในกรณีส่วนใหญ่ ค่า 25 ก็เพียงพอแล้ว อย่างไรก็ตาม คุณอาจต้องลดค่านี้ลง ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ

 

อุปกรณ์ B

 

  • AllowedIPs = 10.3.2.2/32: นี่คือ IP หรือช่วงของ IP ของอุปกรณ์ A
  • ถาวร Keepalive = 25

อุปกรณ์ C

 

  • AllowedIPs = 10.3.2.2/32: นี่คือ IP หรือช่วงของ IP ของอุปกรณ์ A
  • ถาวร Keepalive = 25

อุปกรณ์ ง

 

  • AllowedIPs = 10.3.2.2/32: นี่คือ IP หรือช่วงของ IP ของอุปกรณ์ A
  • ถาวร Keepalive = 25

NAT เกตเวย์

หากต้องการนำเสนอ IP ขาออกแบบคงที่เดียวเพื่อให้การรับส่งข้อมูลทั้งหมดของทีมของคุณไหลออกไป Firezone สามารถใช้เป็นเกตเวย์ NAT ได้ สถานการณ์เหล่านี้เกี่ยวข้องกับการใช้งานบ่อยครั้ง:

 

งานให้คำปรึกษา: ขอให้ลูกค้าของคุณอนุญาตที่อยู่ IP แบบคงที่เดียวแทนที่จะเป็น IP ของอุปกรณ์ที่ไม่ซ้ำกันของพนักงานแต่ละคน

การใช้พร็อกซีหรือปิดบัง IP ต้นทางเพื่อความปลอดภัยหรือความเป็นส่วนตัว

 

ตัวอย่างง่ายๆ ของการจำกัดการเข้าถึงเว็บแอปพลิเคชันที่โฮสต์เองไว้ที่ IP แบบคงที่ที่อนุญาตพิเศษเพียงรายการเดียวที่เรียกใช้ Firezone จะแสดงให้เห็นในโพสต์นี้ ในภาพประกอบนี้ Firezone และทรัพยากรที่ได้รับการป้องกันอยู่ในพื้นที่ VPC ที่แตกต่างกัน

 

โซลูชันนี้มักจะใช้แทนการจัดการรายการ IP ที่อนุญาตพิเศษสำหรับผู้ใช้ปลายทางจำนวนมาก ซึ่งอาจใช้เวลานานเมื่อรายการเข้าถึงขยาย

ตัวอย่าง AWS

วัตถุประสงค์ของเราคือการตั้งค่าเซิร์ฟเวอร์ Firezone บนอินสแตนซ์ EC2 เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล VPN ไปยังทรัพยากรที่ถูกจำกัด ในกรณีนี้ Firezone ทำหน้าที่เป็นพร็อกซีเครือข่ายหรือเกตเวย์ NAT เพื่อให้อุปกรณ์ที่เชื่อมต่อแต่ละเครื่องมี IP ขาออกสาธารณะที่ไม่ซ้ำกัน

 

1. ติดตั้งเซิร์ฟเวอร์ Firezone

ในกรณีนี้ อินสแตนซ์ EC2 ชื่อ tc2.micro มีอินสแตนซ์ Firezone ติดตั้งอยู่ สำหรับข้อมูลเกี่ยวกับการปรับใช้ Firezone ให้ไปที่คู่มือการปรับใช้ เกี่ยวกับ AWS ตรวจสอบให้แน่ใจว่า:

 

กลุ่มความปลอดภัยของอินสแตนซ์ Firezone EC2 อนุญาตให้รับส่งข้อมูลขาออกไปยังที่อยู่ IP ของทรัพยากรที่ได้รับการป้องกัน

อินสแตนซ์ Firezone มาพร้อมกับ IP ที่ยืดหยุ่น การรับส่งข้อมูลที่ส่งต่อผ่านอินสแตนซ์ Firezone ไปยังปลายทางภายนอกจะมีสิ่งนี้เป็นที่อยู่ IP ต้นทาง ที่อยู่ IP ที่เป็นปัญหาคือ 52.202.88.54

 

[แทรกภาพหน้าจอ]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. จำกัดการเข้าถึงทรัพยากรที่ได้รับการป้องกัน

เว็บแอปพลิเคชันที่โฮสต์เองทำหน้าที่เป็นทรัพยากรที่ได้รับการป้องกันในกรณีนี้ แอปพลิเคชันเว็บสามารถเข้าถึงได้โดยคำขอที่มาจากที่อยู่ IP 52.202.88.54 เท่านั้น ขึ้นอยู่กับทรัพยากร อาจจำเป็นต้องอนุญาตทราฟฟิกขาเข้าบนพอร์ตและประเภททราฟฟิกต่างๆ สิ่งนี้ไม่ครอบคลุมในคู่มือนี้

 

[แทรกภาพหน้าจอ]<<<<<<<<<<<<<<<<<<<<<<<<

 

โปรดแจ้งบุคคลที่สามที่รับผิดชอบทรัพยากรที่ได้รับการป้องกันว่าต้องอนุญาตการรับส่งข้อมูลจาก IP แบบคงที่ที่กำหนดไว้ในขั้นตอนที่ 1 (ในกรณีนี้คือ 52.202.88.54)

 

3. ใช้เซิร์ฟเวอร์ VPN เพื่อส่งทราฟฟิกไปยังทรัพยากรที่ได้รับการป้องกัน

 

ตามค่าเริ่มต้น การรับส่งข้อมูลของผู้ใช้ทั้งหมดจะผ่านเซิร์ฟเวอร์ VPN และมาจาก IP แบบคงที่ซึ่งได้รับการกำหนดค่าในขั้นตอนที่ 1 (ในกรณีนี้คือ 52.202.88.54) อย่างไรก็ตาม หากเปิดใช้การแยกช่องสัญญาณ การตั้งค่าอาจจำเป็นเพื่อให้แน่ใจว่า IP ปลายทางของทรัพยากรที่ได้รับการป้องกันแสดงอยู่ในรายการ IP ที่อนุญาต

เพิ่มข้อความหัวเรื่องของคุณที่นี่

ด้านล่างนี้คือรายการตัวเลือกการกำหนดค่าทั้งหมดที่มีอยู่ใน /etc/firezone/firezone.rb.



ตัวเลือก

ลักษณะ

ค่าเริ่มต้น

ค่าเริ่มต้น ['firezone']['external_url']

URL ที่ใช้เข้าถึงเว็บพอร์ทัลของอินสแตนซ์ Firezone นี้

“https://#{โหนด['fqdn'] || โหนด ['ชื่อโฮสต์']}”

ค่าเริ่มต้น ['firezone'] ['config_directory']

ไดเร็กทอรีระดับบนสุดสำหรับการกำหนดค่า Firezone

/etc/firezone'

ค่าเริ่มต้น ['firezone'] ['install_directory']

ไดเร็กทอรีระดับบนสุดสำหรับติดตั้ง Firezone

/opt/ไฟร์โซน'

ค่าเริ่มต้น ['firezone']['app_directory']

ไดเร็กทอรีระดับบนสุดสำหรับติดตั้งเว็บแอปพลิเคชัน Firezone

“#{node['firezone']['install_directory']}/embedded/service/firezone"

ค่าเริ่มต้น ['firezone']['log_directory']

ไดเร็กทอรีระดับบนสุดสำหรับบันทึก Firezone

/var/log/firezone'

ค่าเริ่มต้น ['firezone']['var_directory']

ไดเร็กทอรีระดับบนสุดสำหรับไฟล์รันไทม์ Firezone

/var/opt/firezone'

ค่าเริ่มต้น ['firezone'] ['ผู้ใช้']

ชื่อของผู้ใช้ Linux ที่ไม่มีสิทธิพิเศษ บริการและไฟล์ส่วนใหญ่จะเป็นของ

ไฟร์โซน'

ค่าเริ่มต้น ['firezone'] ['กลุ่ม']

ชื่อของกลุ่ม Linux บริการและไฟล์ส่วนใหญ่จะเป็นของ

ไฟร์โซน'

ค่าเริ่มต้น ['firezone']['admin_email']

ที่อยู่อีเมลสำหรับผู้ใช้ Firezone เริ่มต้น

“firezone@localhost”

ค่าเริ่มต้น ['firezone']['max_devices_per_user']

จำนวนอุปกรณ์สูงสุดที่ผู้ใช้สามารถมีได้

10

ค่าเริ่มต้น ['firezone']['allow_unprivileged_device_management']

อนุญาตให้ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบสร้างและลบอุปกรณ์

TRUE

ค่าเริ่มต้น ['firezone'] ['allow_unprivileged_device_configuration']

อนุญาตให้ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบแก้ไขการกำหนดค่าอุปกรณ์ เมื่อปิดใช้งาน จะป้องกันไม่ให้ผู้ใช้ที่ไม่มีสิทธิ์เปลี่ยนฟิลด์อุปกรณ์ทั้งหมด ยกเว้นชื่อและคำอธิบาย

TRUE

ค่าเริ่มต้น ['firezone']['egress_interface']

ชื่ออินเทอร์เฟซที่ทราฟฟิกอุโมงค์จะออก ถ้าไม่มี ระบบจะใช้อินเทอร์เฟซเส้นทางเริ่มต้น

ศูนย์

ค่าเริ่มต้น ['firezone']['fips_enabled']

เปิดหรือปิดโหมด OpenSSL FIPs

ศูนย์

ค่าเริ่มต้น ['firezone'] ['การบันทึก'] ['เปิดใช้งาน']

เปิดหรือปิดการบันทึกทั่วทั้ง Firezone ตั้งค่าเป็นเท็จเพื่อปิดใช้งานการบันทึกทั้งหมด

TRUE

ค่าเริ่มต้น ['องค์กร'] ['ชื่อ']

ชื่อที่ใช้โดยตำราอาหาร 'องค์กร' ของเชฟ

ไฟร์โซน'

ค่าเริ่มต้น ['firezone'] ['install_path']

ติดตั้งเส้นทางที่ใช้โดยตำราอาหาร 'องค์กร' ของเชฟ ควรตั้งค่าเหมือนกับ install_directory ด้านบน

โหนด ['firezone'] ['install_directory']

ค่าเริ่มต้น ['firezone']['sysvinit_id']

ตัวระบุที่ใช้ใน /etc/inittab. ต้องเป็นลำดับที่ไม่ซ้ำกัน 1-4 อักขระ

จีบ'

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['ท้องถิ่น'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งานการตรวจสอบสิทธิ์อีเมล/รหัสผ่านในเครื่อง

TRUE

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['auto_create_oidc_users']

สร้างผู้ใช้ที่ลงชื่อเข้าใช้จาก OIDC โดยอัตโนมัติเป็นครั้งแรก ปิดใช้งานเพื่ออนุญาตให้เฉพาะผู้ใช้ปัจจุบันลงชื่อเข้าใช้ผ่าน OIDC

TRUE

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['disable_vpn_on_oidc_error']

ปิดใช้งาน VPN ของผู้ใช้หากตรวจพบข้อผิดพลาดขณะพยายามรีเฟรชโทเค็น OIDC

FALSE

ค่าเริ่มต้น ['firezone'] ['การรับรองความถูกต้อง'] ['oidc']

การกำหนดค่า OpenID Connect ในรูปแบบ {“provider” => [config…]} – ดู เอกสาร OpenIDConnect สำหรับตัวอย่างการกำหนดค่า

{}

ค่าเริ่มต้น ['firezone'] ['nginx'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งานเซิร์ฟเวอร์ nginx ที่ให้มา

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['ssl_port']

HTTPS ฟังพอร์ต

443

ค่าเริ่มต้น ['firezone']['nginx']['ไดเรกทอรี']

ไดเร็กทอรีเพื่อจัดเก็บการกำหนดค่าโฮสต์เสมือน nginx ที่เกี่ยวข้องกับ Firezone

“#{node['firezone']['var_directory']}/nginx/etc”

ค่าเริ่มต้น ['firezone']['nginx']['log_directory']

ไดเร็กทอรีสำหรับจัดเก็บไฟล์บันทึก nginx ที่เกี่ยวข้องกับ Firezone

“#{node['firezone']['log_directory']}/nginx”

ค่าเริ่มต้น ['firezone']['nginx']['log_rotation']['file_maxbytes']

ขนาดไฟล์ที่จะหมุนไฟล์บันทึก Nginx

104857600

ค่าเริ่มต้น ['firezone']['nginx']['log_rotation']['num_to_keep']

จำนวนไฟล์บันทึก Firezone nginx ที่จะเก็บไว้ก่อนที่จะละทิ้ง

10

ค่าเริ่มต้น ['firezone']['nginx']['log_x_forwarded_for']

ว่าจะบันทึก Firezone nginx x-forwarded-for header หรือไม่

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['hsts_header']['enabled']

เปิดใช้งานหรือปิดการใช้งาน HSTS.

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['hsts_header']['include_subdomains']

เปิดหรือปิดใช้งาน includeSubDomains สำหรับส่วนหัว HSTS

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['hsts_header']['max_age']

อายุสูงสุดสำหรับส่วนหัว HSTS

31536000

ค่าเริ่มต้น ['firezone']['nginx']['redirect_to_canonical']

จะเปลี่ยนเส้นทาง URL ไปยัง Canonical FQDN ที่ระบุข้างต้นหรือไม่

FALSE

ค่าเริ่มต้น ['firezone'] ['nginx'] ['แคช'] ['เปิดใช้งาน']

เปิดหรือปิดแคช Firezone nginx

FALSE

ค่าเริ่มต้น ['firezone']['nginx']['แคช']['ไดเรกทอรี']

ไดเร็กทอรีสำหรับแคช Firezone nginx

“#{node['firezone']['var_directory']}/nginx/cache”

ค่าเริ่มต้น ['firezone'] ['nginx'] ['ผู้ใช้']

ผู้ใช้ Firezone nginx

โหนด ['firezone'] ['ผู้ใช้']

ค่าเริ่มต้น ['firezone']['nginx']['group']

กลุ่ม Firezone nginx

โหนด ['firezone'] ['กลุ่ม']

ค่าเริ่มต้น ['firezone']['nginx']['dir']

ไดเร็กทอรีการกำหนดค่า nginx ระดับบนสุด

โหนด ['firezone'] ['nginx'] ['ไดเรกทอรี']

ค่าเริ่มต้น ['firezone']['nginx']['log_dir']

ไดเรกทอรีบันทึก nginx ระดับบนสุด

โหนด ['firezone'] ['nginx'] ['log_directory']

ค่าเริ่มต้น ['firezone']['nginx']['pid']

ตำแหน่งสำหรับไฟล์ nginx pid

“#{node['firezone']['nginx']['directory']}/nginx.pid”

ค่าเริ่มต้น ['firezone']['nginx']['daemon_disable']

ปิดใช้งานโหมด nginx daemon เพื่อให้เราตรวจสอบแทนได้

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['gzip']

เปิดหรือปิดการบีบอัด nginx gzip

บน'

ค่าเริ่มต้น ['firezone']['nginx']['gzip_static']

เปิดหรือปิดการบีบอัด nginx gzip สำหรับไฟล์สแตติก

ปิด'

ค่าเริ่มต้น ['firezone']['nginx']['gzip_http_version']

เวอร์ชัน HTTP เพื่อใช้สำหรับให้บริการไฟล์แบบสแตติก

1.0 '

ค่าเริ่มต้น ['firezone']['nginx']['gzip_comp_level']

ระดับการบีบอัด nginx gzip

2 '

ค่าเริ่มต้น ['firezone']['nginx']['gzip_proxied']

เปิดหรือปิดใช้งาน gzipping การตอบกลับสำหรับคำขอพร็อกซี ขึ้นอยู่กับคำขอและการตอบกลับ

ใดๆ'

ค่าเริ่มต้น ['firezone']['nginx']['gzip_vary']

เปิดหรือปิดใช้งานการแทรกส่วนหัวการตอบสนอง "Vary: Accept-Encoding"

ปิด'

ค่าเริ่มต้น ['firezone']['nginx']['gzip_buffers']

ตั้งค่าจำนวนและขนาดของบัฟเฟอร์ที่ใช้ในการบีบอัดการตอบสนอง ถ้าไม่มี จะใช้ค่าเริ่มต้นของ nginx

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['gzip_types']

ประเภท MIME เพื่อเปิดใช้งานการบีบอัด gzip สำหรับ

['ข้อความ/ธรรมดา', 'ข้อความ/css','แอปพลิเคชัน/x-javascript', 'ข้อความ/xml', 'แอปพลิเคชัน/xml', 'แอปพลิเคชัน/rss+xml', 'แอปพลิเคชัน/atom+xml', ' ข้อความ/จาวาสคริปต์', 'แอปพลิเคชัน/จาวาสคริปต์', 'แอปพลิเคชัน/json']

ค่าเริ่มต้น ['firezone']['nginx']['gzip_min_length']

ความยาวไฟล์ขั้นต่ำเพื่อเปิดใช้งานการบีบอัดไฟล์ gzip สำหรับ

1000

ค่าเริ่มต้น ['firezone']['nginx']['gzip_disable']

ตัวจับคู่ตัวแทนผู้ใช้เพื่อปิดใช้งานการบีบอัด gzip สำหรับ

MSIE [1-6]\.'

ค่าเริ่มต้น ['firezone'] ['nginx'] ['keepalive']

เปิดใช้งานแคชสำหรับการเชื่อมต่อกับเซิร์ฟเวอร์อัปสตรีม

บน'

ค่าเริ่มต้น ['firezone']['nginx']['keepalive_timeout']

หมดเวลาเป็นวินาทีสำหรับการเชื่อมต่อแบบ Keepalive กับเซิร์ฟเวอร์อัพสตรีม

65

ค่าเริ่มต้น ['firezone']['nginx']['worker_processes']

จำนวนกระบวนการของผู้ปฏิบัติงาน nginx

โหนด['cpu'] && โหนด['cpu']['total'] ? โหนด['cpu']['total'] : 1

ค่าเริ่มต้น ['firezone']['nginx']['worker_connections']

จำนวนสูงสุดของการเชื่อมต่อพร้อมกันที่สามารถเปิดได้โดยกระบวนการของผู้ปฏิบัติงาน

1024

ค่าเริ่มต้น ['firezone']['nginx']['worker_rlimit_nofile']

เปลี่ยนขีดจำกัดของจำนวนไฟล์ที่เปิดสูงสุดสำหรับกระบวนการของผู้ปฏิบัติงาน ใช้ค่าเริ่มต้น nginx ถ้าไม่มี

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['multi_accept']

ผู้ปฏิบัติงานควรยอมรับการเชื่อมต่อหนึ่งครั้งหรือหลายครั้ง

TRUE

ค่าเริ่มต้น ['firezone'] ['nginx'] ['เหตุการณ์']

ระบุวิธีการประมวลผลการเชื่อมต่อเพื่อใช้ในบริบทเหตุการณ์ nginx

epol'

ค่าเริ่มต้น ['firezone']['nginx']['server_tokens']

เปิดใช้งานหรือปิดใช้งานการปล่อยเวอร์ชัน nginx ในหน้าข้อผิดพลาดและในฟิลด์ส่วนหัวการตอบสนอง "เซิร์ฟเวอร์"

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['server_names_hash_bucket_size']

ตั้งค่าขนาดบัคเก็ตสำหรับตารางแฮชชื่อเซิร์ฟเวอร์

64

ค่าเริ่มต้น ['firezone']['nginx']['sendfile']

เปิดหรือปิดการใช้งาน sendfile() ของ nginx

บน'

ค่าเริ่มต้น ['firezone']['nginx']['access_log_options']

ตั้งค่าตัวเลือกบันทึกการเข้าถึง nginx

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['error_log_options']

ตั้งค่าตัวเลือกบันทึกข้อผิดพลาด nginx

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['disable_access_log']

ปิดใช้งานบันทึกการเข้าถึง nginx

FALSE

ค่าเริ่มต้น ['firezone']['nginx']['types_hash_max_size']

nginx ประเภทแฮชขนาดสูงสุด

2048

ค่าเริ่มต้น ['firezone']['nginx']['types_hash_bucket_size']

ขนาดถังแฮชประเภท nginx

64

ค่าเริ่มต้น ['firezone']['nginx']['proxy_read_timeout']

พร็อกซี nginx อ่านหมดเวลา ตั้งค่าเป็นศูนย์เพื่อใช้ค่าเริ่มต้น nginx

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['client_body_buffer_size']

ขนาดบัฟเฟอร์ของไคลเอนต์ nginx ตั้งค่าเป็นศูนย์เพื่อใช้ค่าเริ่มต้น nginx

ศูนย์

ค่าเริ่มต้น ['firezone']['nginx']['client_max_body_size']

ขนาดสูงสุดของไคลเอนต์ nginx

250m'

ค่าเริ่มต้น ['firezone']['nginx']['default']['โมดูล']

ระบุโมดูล nginx เพิ่มเติม

[]

ค่าเริ่มต้น ['firezone']['nginx']['enable_rate_limiting']

เปิดหรือปิดการจำกัดอัตรา nginx

TRUE

ค่าเริ่มต้น ['firezone']['nginx']['rate_limiting_zone_name']

ชื่อโซนจำกัดอัตรา Nginx

ไฟร์โซน'

ค่าเริ่มต้น ['firezone']['nginx']['rate_limiting_backoff']

อัตรา Nginx จำกัด การย้อนกลับ

10m'

ค่าเริ่มต้น ['firezone']['nginx']['rate_limit']

ขีด จำกัด อัตรา Nginx

10r/s'

ค่าเริ่มต้น ['firezone']['nginx']['ipv6']

อนุญาตให้ nginx รับฟังคำขอ HTTP สำหรับ IPv6 นอกเหนือจาก IPv4

TRUE

ค่าเริ่มต้น ['firezone'] ['postgresql'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งาน Postgresql ที่รวมไว้ ตั้งค่าเป็นเท็จและกรอกตัวเลือกฐานข้อมูลด้านล่างเพื่อใช้อินสแตนซ์ Postgresql ของคุณเอง

TRUE

ค่าเริ่มต้น ['firezone']['postgresql']['ชื่อผู้ใช้']

ชื่อผู้ใช้สำหรับ Postgresql

โหนด ['firezone'] ['ผู้ใช้']

ค่าเริ่มต้น ['firezone']['postgresql']['data_directory']

ไดเรกทอรีข้อมูล Postgresql

“#{node['firezone']['var_directory']}/postgresql/13.3/data”

ค่าเริ่มต้น ['firezone']['postgresql']['log_directory']

ไดเรกทอรีบันทึก Postgresql

“#{node['firezone']['log_directory']}/postgresql”

ค่าเริ่มต้น ['firezone']['postgresql']['log_rotation']['file_maxbytes']

ขนาดไฟล์บันทึก Postgresql สูงสุดก่อนที่จะหมุน

104857600

ค่าเริ่มต้น ['firezone']['postgresql']['log_rotation']['num_to_keep']

จำนวนไฟล์บันทึก Postgresql ที่จะเก็บไว้

10

ค่าเริ่มต้น ['firezone']['postgresql']['checkpoint_completion_target']

เป้าหมายการเสร็จสิ้นด่าน Postgresql

0.5

ค่าเริ่มต้น ['firezone']['postgresql']['checkpoint_segments']

จำนวนส่วนจุดตรวจสอบ Postgresql

3

ค่าเริ่มต้น ['firezone']['postgresql']['checkpoint_timeout']

การหมดเวลาของจุดตรวจสอบ Postgresql

5 นาที

ค่าเริ่มต้น ['firezone']['postgresql']['checkpoint_warning']

เวลาเตือนจุดตรวจสอบ Postgresql เป็นวินาที

ทศวรรษ 30

ค่าเริ่มต้น ['firezone'] ['postgresql'] ['effect_cache_size']

ขนาดแคชที่มีประสิทธิภาพของ Postgresql

128MB'

ค่าเริ่มต้น ['firezone']['postgresql']['listen_address']

ที่อยู่ฟัง Postgresql

127.0.0.1 '

ค่าเริ่มต้น ['firezone']['postgresql']['max_connections']

Postgresql การเชื่อมต่อสูงสุด

350

ค่าเริ่มต้น ['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDR เพื่ออนุญาต md5 auth

['127.0.0.1/32', '::1/128']

ค่าเริ่มต้น ['firezone']['postgresql']['พอร์ต']

Postgresql ฟังพอร์ต

15432

ค่าเริ่มต้น ['firezone']['postgresql']['shared_buffers']

ขนาดบัฟเฟอร์ที่ใช้ร่วมกันของ Postgresql

“#{(node['memory']['total'].to_i / 4) / 1024}MB”

ค่าเริ่มต้น ['firezone'] ['postgresql'] ['shmmax']

Postgresql shmmax หน่วยเป็นไบต์

17179869184

ค่าเริ่มต้น ['firezone'] ['postgresql'] ['shmall']

Postgresql shmall หน่วยเป็นไบต์

4194304

ค่าเริ่มต้น ['firezone']['postgresql']['work_mem']

ขนาดหน่วยความจำทำงาน Postgresql

8MB'

ค่าเริ่มต้น ['firezone'] ['ฐานข้อมูล'] ['ผู้ใช้']

ระบุชื่อผู้ใช้ที่ Firezone จะใช้เชื่อมต่อกับฐานข้อมูล

โหนด ['firezone'] ['postgresql'] ['ชื่อผู้ใช้']

ค่าเริ่มต้น ['firezone'] ['ฐานข้อมูล'] ['รหัสผ่าน']

หากใช้ฐานข้อมูลภายนอก ให้ระบุรหัสผ่านที่ Firezone จะใช้เชื่อมต่อกับฐานข้อมูล

เปลี่ยนฉัน'

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['ชื่อ']

ฐานข้อมูลที่ Firezone จะใช้ จะถูกสร้างขึ้นหากไม่มีอยู่

ไฟร์โซน'

ค่าเริ่มต้น ['firezone'] ['ฐานข้อมูล'] ['โฮสต์']

โฮสต์ฐานข้อมูลที่ Firezone จะเชื่อมต่อด้วย

โหนด ['firezone'] ['postgresql'] ['listen_address']

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['พอร์ต']

พอร์ตฐานข้อมูลที่ Firezone จะเชื่อมต่อ

โหนด ['firezone'] ['postgresql'] ['พอร์ต']

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['พูล']

ขนาดพูลฐานข้อมูลที่ Firezone จะใช้

[10, Etc.nโปรเซสเซอร์].สูงสุด

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['ssl']

ไม่ว่าจะเชื่อมต่อกับฐานข้อมูลผ่าน SSL

FALSE

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['ssl_opts']

แฮชของตัวเลือกเพื่อส่งไปยังตัวเลือก :ssl_opts เมื่อเชื่อมต่อผ่าน SSL ดู เอกสาร Ecto.Adapters.Postgres.

{}

ค่าเริ่มต้น ['firezone'] ['ฐานข้อมูล'] ['พารามิเตอร์']

แฮชของพารามิเตอร์เพื่อส่งไปยังตัวเลือก :parameters เมื่อเชื่อมต่อกับฐานข้อมูล ดู เอกสาร Ecto.Adapters.Postgres.

{}

ค่าเริ่มต้น ['firezone']['ฐานข้อมูล']['ส่วนขยาย']

ส่วนขยายฐานข้อมูลเพื่อเปิดใช้งาน

{ 'plpgsql' => จริง, 'pg_trgm' => จริง }

ค่าเริ่มต้น ['firezone'] ['ฟีนิกซ์'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งานเว็บแอปพลิเคชัน Firezone

TRUE

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['listen_address']

แอปพลิเคชันเว็บ Firezone ฟังที่อยู่ นี่จะเป็นที่อยู่การฟังอัปสตรีมที่ผู้รับมอบฉันทะ nginx

127.0.0.1 '

ค่าเริ่มต้น ['firezone'] ['ฟีนิกซ์'] ['พอร์ต']

พอร์ตฟังแอปพลิเคชันเว็บ Firezone นี่จะเป็นพอร์ตอัพสตรีมที่พร็อกซี nginx

13000

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['log_directory']

ไดเร็กทอรีบันทึกเว็บแอปพลิเคชัน Firezone

“#{node['firezone']['log_directory']}/ฟีนิกซ์”

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['log_rotation']['file_maxbytes']

ขนาดไฟล์บันทึกของเว็บแอปพลิเคชัน Firezone

104857600

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['log_rotation']['num_to_keep']

จำนวนไฟล์บันทึกของแอปพลิเคชันเว็บ Firezone ที่จะเก็บไว้

10

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['crash_detection']['เปิดใช้งาน']

เปิดหรือปิดใช้งานเว็บแอปพลิเคชัน Firezone เมื่อตรวจพบข้อขัดข้อง

TRUE

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['external_trusted_proxys']

รายการพร็อกซีย้อนกลับที่เชื่อถือได้ซึ่งจัดรูปแบบเป็นอาร์เรย์ของ IP และ/หรือ CIDR

[]

ค่าเริ่มต้น ['firezone']['ฟีนิกซ์']['private_clients']

รายชื่อไคลเอนต์ HTTP ของเครือข่ายส่วนตัว จัดรูปแบบอาร์เรย์ของ IP และ/หรือ CIDR

[]

ค่าเริ่มต้น ['firezone'] ['wireguard'] ['เปิดใช้งาน']

เปิดหรือปิดการจัดการ WireGuard แบบรวม

TRUE

ค่าเริ่มต้น ['firezone']['wireguard']['log_directory']

ไดเร็กทอรีบันทึกสำหรับการจัดการ WireGuard แบบรวม

“#{node['firezone']['log_directory']}/wireguard”

ค่าเริ่มต้น ['firezone']['wireguard']['log_rotation']['file_maxbytes']

ขนาดสูงสุดของไฟล์บันทึก WireGuard

104857600

ค่าเริ่มต้น ['firezone']['wireguard']['log_rotation']['num_to_keep']

จำนวนไฟล์บันทึกของ WireGuard ที่จะเก็บไว้

10

ค่าเริ่มต้น ['firezone']['wireguard']['interface_name']

ชื่ออินเตอร์เฟส WireGuard การเปลี่ยนพารามิเตอร์นี้อาจทำให้การเชื่อมต่อ VPN ขาดหายไปชั่วคราว

wg-firezone'

ค่าเริ่มต้น ['firezone']['wireguard']['พอร์ต']

พอร์ตฟัง WireGuard

51820

ค่าเริ่มต้น ['firezone']['wireguard']['mtu']

อินเทอร์เฟซ WireGuard MTU สำหรับเซิร์ฟเวอร์นี้และสำหรับการกำหนดค่าอุปกรณ์

1280

ค่าเริ่มต้น ['firezone']['wireguard']['endpoint']

WireGuard Endpoint เพื่อใช้สำหรับสร้างการกำหนดค่าอุปกรณ์ หากเป็นศูนย์ จะใช้ค่าเริ่มต้นเป็นที่อยู่ IP สาธารณะของเซิร์ฟเวอร์

ศูนย์

ค่าเริ่มต้น ['firezone'] ['wireguard'] ['dns']

WireGuard DNS เพื่อใช้สำหรับการกำหนดค่าอุปกรณ์ที่สร้างขึ้น

1.1.1.1, 1.0.0.1'

ค่าเริ่มต้น ['firezone']['wireguard']['allowed_ips']

WireGuard อนุญาตให้ IPs ใช้สำหรับการกำหนดค่าอุปกรณ์ที่สร้างขึ้น

0.0.0.0/0, ::/0′

ค่าเริ่มต้น ['firezone']['wireguard']['persistent_keepalive']

การตั้งค่า PersistentKeepalive เริ่มต้นสำหรับการกำหนดค่าอุปกรณ์ที่สร้างขึ้น ค่า 0 ปิดใช้งาน

0

ค่าเริ่มต้น ['firezone'] ['wireguard'] ['ipv4'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งาน IPv4 สำหรับเครือข่าย WireGuard

TRUE

ค่าเริ่มต้น ['firezone']['wireguard']['ipv4']['masquerade']

เปิดหรือปิดใช้งานการปลอมตัวสำหรับแพ็กเก็ตที่ออกจากอุโมงค์ IPv4

TRUE

ค่าเริ่มต้น ['firezone']['wireguard']['ipv4']['เครือข่าย']

กลุ่มที่อยู่ IPv4 ของเครือข่าย WireGuard

10.3.2.0/24 ′

ค่าเริ่มต้น ['firezone']['wireguard']['ipv4']['ที่อยู่']

ที่อยู่ IPv4 ของอินเตอร์เฟส WireGuard ต้องอยู่ภายในกลุ่มที่อยู่ WireGuard

10.3.2.1 '

ค่าเริ่มต้น ['firezone'] ['wireguard'] ['ipv6'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งาน IPv6 สำหรับเครือข่าย WireGuard

TRUE

ค่าเริ่มต้น ['firezone']['wireguard']['ipv6']['masquerade']

เปิดหรือปิดใช้งานการปลอมตัวสำหรับแพ็กเก็ตที่ออกจากอุโมงค์ IPv6

TRUE

ค่าเริ่มต้น ['firezone']['wireguard']['ipv6']['เครือข่าย']

กลุ่มที่อยู่ IPv6 ของเครือข่าย WireGuard

fd00::3:2:0/120′

ค่าเริ่มต้น ['firezone']['wireguard']['ipv6']['ที่อยู่']

ที่อยู่ IPv6 ของอินเตอร์เฟส WireGuard ต้องอยู่ภายในกลุ่มที่อยู่ IPv6

fd00::3:2:1'

ค่าเริ่มต้น ['firezone']['runit']['svlogd_bin']

ตำแหน่งถัง runit svlogd

“#{node['firezone']['install_directory']}/embedded/bin/svlogd”

ค่าเริ่มต้น ['firezone']['ssl']['ไดเรกทอรี']

ไดเร็กทอรี SSL สำหรับจัดเก็บใบรับรองที่สร้างขึ้น

/var/opt/firezone/ssl'

ค่าเริ่มต้น ['firezone']['ssl']['email_address']

ที่อยู่อีเมลเพื่อใช้สำหรับใบรับรองที่ลงนามด้วยตนเองและการแจ้งเตือนการต่ออายุโปรโตคอล ACME

[ป้องกันอีเมล]'

ค่าเริ่มต้น ['firezone']['ssl']['acme']['enabled']

เปิดใช้งาน ACME สำหรับการจัดเตรียมใบรับรอง SSL อัตโนมัติ ปิดใช้งานสิ่งนี้เพื่อป้องกันไม่ให้ Nginx ฟังพอร์ต 80 ดู คลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม สำหรับคำแนะนำเพิ่มเติม

FALSE

ค่าเริ่มต้น ['firezone']['ssl']['acme']['เซิร์ฟเวอร์']

เซิร์ฟเวอร์ ACME เพื่อใช้สำหรับการออก/ต่ออายุใบรับรอง สามารถเป็นอะไรก็ได้ เซิร์ฟเวอร์ acme.sh ที่ถูกต้อง

letsencrypt

ค่าเริ่มต้น ['firezone']['ssl']['acme']['keylength']

ระบุประเภทคีย์และความยาวของใบรับรอง SSL ดู คลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม

อีซี-256

ค่าเริ่มต้น ['firezone']['ssl']['ใบรับรอง']

เส้นทางไปยังไฟล์ใบรับรองสำหรับ FQDN ของคุณ ลบล้างการตั้งค่า ACME ด้านบน หากระบุไว้ หากทั้ง ACME และสิ่งนี้ไม่มี ใบรับรองที่ลงนามด้วยตนเองจะถูกสร้างขึ้น

ศูนย์

ค่าเริ่มต้น ['firezone']['ssl']['certificate_key']

เส้นทางไปยังไฟล์ใบรับรอง

ศูนย์

ค่าเริ่มต้น ['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param

ศูนย์

ค่าเริ่มต้น ['firezone']['ssl']['country_name']

ชื่อประเทศสำหรับใบรับรองที่ลงนามด้วยตนเอง

เรา'

ค่าเริ่มต้น ['firezone']['ssl']['state_name']

ชื่อของรัฐสำหรับใบรับรองที่ลงนามด้วยตนเอง

CA '

ค่าเริ่มต้น ['firezone']['ssl']['locality_name']

ชื่อท้องที่สำหรับใบรับรองที่ลงนามด้วยตนเอง

ซานฟรานซิสโก'

ค่าเริ่มต้น ['firezone']['ssl']['company_name']

ใบรับรองที่ลงนามด้วยตนเองชื่อบริษัท

บริษัท ของฉัน'

ค่าเริ่มต้น ['firezone']['ssl']['organizational_unit_name']

ชื่อหน่วยขององค์กรสำหรับใบรับรองที่ลงนามเอง

การดำเนินงาน'

ค่าเริ่มต้น ['firezone']['ssl']['ciphers']

รหัส SSL สำหรับ nginx ที่จะใช้

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA’

ค่าเริ่มต้น ['firezone']['ssl']['fips_ciphers']

รหัส SSL สำหรับโหมด FIP

FIPS@STRENGTH:!aNULL:!eNULL'

ค่าเริ่มต้น ['firezone']['ssl']['โปรโตคอล']

โปรโตคอล TLS ที่จะใช้

TLSv1 TLSv1.1 TLSv1.2′

ค่าเริ่มต้น ['firezone']['ssl']['session_cache']

แคชเซสชัน SSL

แชร์:SSL:4m'

ค่าเริ่มต้น ['firezone']['ssl']['session_timeout']

หมดเวลาเซสชัน SSL

5m'

ค่าเริ่มต้น ['firezone'] ['robots_allow']

หุ่นยนต์ nginx อนุญาต

/'

ค่าเริ่มต้น ['firezone']['robots_disallow']

หุ่นยนต์ nginx ไม่อนุญาต

ศูนย์

ค่าเริ่มต้น ['firezone']['outbound_email']['จาก']

อีเมลขาออกจากที่อยู่

ศูนย์

ค่าเริ่มต้น ['firezone']['outbound_email']['ผู้ให้บริการ']

ผู้ให้บริการอีเมลขาออก

ศูนย์

ค่าเริ่มต้น ['firezone']['outbound_email']['configs']

การกำหนดค่าผู้ให้บริการอีเมลขาออก

ดูรถโดยสาร/ตำราอาหาร/firezone/attributes/default.rb

ค่าเริ่มต้น ['firezone'] ['telemetry'] ['เปิดใช้งาน']

เปิดหรือปิดใช้งาน telemetry ผลิตภัณฑ์ที่ไม่ระบุตัวตน

TRUE

ค่าเริ่มต้น ['firezone']['connectivity_checks']['enabled']

เปิดหรือปิดบริการตรวจสอบการเชื่อมต่อ Firezone

TRUE

ค่าเริ่มต้น ['firezone']['connectivity_checks']['interval']

ช่วงเวลาระหว่างการตรวจสอบการเชื่อมต่อเป็นวินาที

3_600



________________________________________________________________

 

ตำแหน่งไฟล์และไดเร็กทอรี

 

ที่นี่ คุณจะพบรายการไฟล์และไดเร็กทอรีที่เกี่ยวข้องกับการติดตั้ง Firezone ทั่วไป สิ่งเหล่านี้อาจเปลี่ยนแปลงได้ขึ้นอยู่กับการเปลี่ยนแปลงไฟล์กำหนดค่าของคุณ



เส้นทาง

ลักษณะ

/var/opt/firezone

ไดเร็กทอรีระดับบนสุดที่มีข้อมูลและการกำหนดค่าที่สร้างขึ้นสำหรับบริการรวม Firezone

/opt/ไฟร์โซน

ไดเร็กทอรีระดับบนสุดประกอบด้วยไลบรารี ไบนารี และไฟล์รันไทม์ที่จำเป็นสำหรับ Firezone

/usr/bin/firezone-ctl

ยูทิลิตี้ firezone-ctl สำหรับจัดการการติดตั้ง Firezone ของคุณ

/etc/systemd/system/firezone-runsvdir-start.service

ไฟล์ systemd unit สำหรับเริ่มกระบวนการ Firezone runvdir Supervisor

/etc/firezone

ไฟล์การกำหนดค่า Firezone



__________________________________________________________

 

เทมเพลตไฟร์วอลล์

 

หน้านี้ว่างเปล่าในเอกสาร

 

_____________________________________________________________

 

เทมเพลตไฟร์วอลล์ Nftables

 

สามารถใช้เทมเพลตไฟร์วอลล์ nftables ต่อไปนี้เพื่อรักษาความปลอดภัยเซิร์ฟเวอร์ที่เรียกใช้ Firezone เทมเพลตตั้งสมมติฐานบางอย่าง คุณอาจต้องปรับกฎให้เหมาะกับกรณีการใช้งานของคุณ:

  • อินเทอร์เฟซ WireGuard มีชื่อว่า wg-firezone หากไม่ถูกต้อง ให้เปลี่ยนตัวแปร DEV_WIREGUARD เพื่อให้ตรงกับตัวเลือกการกำหนดค่าเริ่มต้น ['firezone']['wireguard']['interface_name']
  • พอร์ต WireGuard กำลังฟังอยู่คือ 51820 หากคุณไม่ได้ใช้พอร์ตเริ่มต้นให้เปลี่ยนตัวแปร WIREGUARD_PORT
  • เฉพาะการรับส่งข้อมูลขาเข้าต่อไปนี้เท่านั้นที่จะได้รับอนุญาตไปยังเซิร์ฟเวอร์:
    • SSH (พอร์ต TCP 22)
    • HTTP (พอร์ต TCP 80)
    • HTTPS (พอร์ต TCP 443)
    • WireGuard (พอร์ต UDP WIREGUARD_PORT)
    • เส้นทางการติดตาม UDP (พอร์ต UDP 33434-33524 อัตราจำกัดที่ 500/วินาที)
    • ICMP และ ICMPv6 (อัตราการตอบสนอง ping/ping จำกัดที่ 2000/วินาที)
  • อนุญาตให้ใช้ทราฟฟิกขาออกต่อไปนี้จากเซิร์ฟเวอร์เท่านั้น:
    • DNS (พอร์ต UDP และ TCP 53)
    • HTTP (พอร์ต TCP 80)
    • NTP (พอร์ต UDP 123)
    • HTTPS (พอร์ต TCP 443)
    • การส่ง SMTP (พอร์ต TCP 587)
    • เส้นทางการติดตาม UDP (พอร์ต UDP 33434-33524 อัตราจำกัดที่ 500/วินาที)
  • การรับส่งข้อมูลที่ไม่ตรงกันจะถูกบันทึก กฎที่ใช้สำหรับการบันทึกจะแยกออกจากกฎเพื่อลดการรับส่งข้อมูลและมีการจำกัดอัตรา การลบกฎการบันทึกที่เกี่ยวข้องจะไม่ส่งผลต่อการรับส่งข้อมูล

กฎที่มีการจัดการ Firezone†<

Firezone กำหนดค่ากฎ nftables ของตนเองเพื่ออนุญาต/ปฏิเสธการรับส่งข้อมูลไปยังปลายทางที่กำหนดค่าในเว็บอินเทอร์เฟซ และจัดการ NAT ขาออกสำหรับการรับส่งข้อมูลไคลเอ็นต์

การใช้เทมเพลตไฟร์วอลล์ด้านล่างกับเซิร์ฟเวอร์ที่กำลังทำงานอยู่ (ไม่ใช่ขณะบู๊ต) จะส่งผลให้กฎ Firezone ถูกล้าง สิ่งนี้อาจมีผลกระทบด้านความปลอดภัย

เมื่อต้องการแก้ไขปัญหานี้ให้เริ่มบริการฟีนิกซ์ใหม่:

firezone-ctl รีสตาร์ทฟีนิกซ์

เทมเพลตไฟร์วอลล์พื้นฐาน†<

#!/usr/sbin/nft -f

 

## ล้าง / ล้างกฎที่มีอยู่ทั้งหมด

ล้างชุดกฎ

 

################################ ตัวแปร ################# ###############

## ชื่ออินเทอร์เฟซอินเทอร์เน็ต/WAN

กำหนด DEV_WAN = eth0

 

## ชื่ออินเตอร์เฟส WireGuard

กำหนด DEV_WIREGUARD = wg-firezone

 

## พอร์ตฟัง WireGuard

กำหนด WIREGUARD_PORT = 51820

############################## สิ้นสุดตัวแปร ################## ############

 

# ตารางการกรองตระกูล inet หลัก

ตัวกรองตาราง inet {

 

 #กฎจราจรส่งต่อ

 # ห่วงโซ่นี้ได้รับการประมวลผลก่อนส่งต่อห่วงโซ่ Firezone

 ห่วงโซ่ไปข้างหน้า {

   ประเภทตัวกรอง hook ตัวกรองลำดับความสำคัญไปข้างหน้า – 5; ยอมรับนโยบาย

 }

 

 # กฎสำหรับการเข้าชมอินพุต

 อินพุตลูกโซ่ {

   ประเภท ตัวกรอง เบ็ด ตัวกรองลำดับความสำคัญอินพุต; นโยบายลดลง

 

   ## อนุญาตการรับส่งข้อมูลขาเข้าไปยังอินเทอร์เฟซย้อนกลับ

   ไอฟ โล \

     ยอมรับ \

     ความเห็น “อนุญาตการรับส่งข้อมูลทั้งหมดจากอินเทอร์เฟซย้อนกลับ”

 

   ## อนุญาตการเชื่อมต่อที่จัดตั้งขึ้นและที่เกี่ยวข้อง

   สถานะ ct ก่อตั้งขึ้นที่เกี่ยวข้อง \

     ยอมรับ \

     ความเห็น “อนุญาตการเชื่อมต่อที่จัดตั้งขึ้น/ที่เกี่ยวข้อง”

 

   ## อนุญาตการรับส่งข้อมูล WireGuard ขาเข้า

   ไอฟ $DEV_WAN UDP พอร์ต $WIREGUARD_PORT \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการรับส่งข้อมูล WireGuard ขาเข้า”

 

   ## บันทึกและวางแพ็กเก็ต TCP non-SYN ใหม่

   ธง tcp != syn ct สถานะใหม่ \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกคำนำหน้า “ใน – ใหม่ !SYN: “ \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับการเชื่อมต่อใหม่ที่ไม่มีการตั้งค่าสถานะ SYN TCP”

   ธง tcp != syn ct สถานะใหม่ \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “วางการเชื่อมต่อใหม่ที่ไม่มีการตั้งค่าสถานะ SYN TCP”

 

   ## บันทึกและปล่อยแพ็กเก็ต TCP ด้วยการตั้งค่าแฟล็ก Fin/syn ที่ไม่ถูกต้อง

   ธง tcp & (fin|syn) == (fin|syn) \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกคำนำหน้า “ใน – TCP FIN | บาป: “ \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับแพ็กเก็ต TCP ที่มีชุดแฟล็ก Fin/Syn ไม่ถูกต้อง”

   ธง tcp & (fin|syn) == (fin|syn) \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “ปล่อยแพ็กเก็ต TCP ที่มีชุดแฟล็ก Fin/Syn ที่ไม่ถูกต้อง”

 

   ## บันทึกและปล่อยแพ็กเก็ต TCP ที่มีการตั้งค่าแฟล็ก Syn/rst ที่ไม่ถูกต้อง

   ธง tcp & (syn|rst) == (syn|rst) \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกคำนำหน้า “ใน – TCP SYN | RST: “ \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับแพ็กเก็ต TCP ที่มีการตั้งค่าแฟล็ก Syn/rst ที่ไม่ถูกต้อง”

   ธง tcp & (syn|rst) == (syn|rst) \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “ปล่อยแพ็กเก็ต TCP ที่มีชุดธง syn/rst ที่ไม่ถูกต้อง”

 

   ## บันทึกและวางแฟล็ก TCP ที่ไม่ถูกต้อง

   ธง tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกคำนำหน้า “อิน – ฟิน:” \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับแฟล็ก TCP ที่ไม่ถูกต้อง (fin|syn|rst|psh|ack|urg) < (fin)"

   ธง tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “วางแพ็กเก็ต TCP ด้วยแฟล็ก (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## บันทึกและวางแฟล็ก TCP ที่ไม่ถูกต้อง

   ธง tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกคำนำหน้า “ใน – FIN | PSH | URL:” \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับแฟล็ก TCP ที่ไม่ถูกต้อง (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

   ธง tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “วางแพ็กเก็ต TCP ด้วยแฟล็ก (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## ลดการรับส่งข้อมูลด้วยสถานะการเชื่อมต่อที่ไม่ถูกต้อง

   ct สถานะไม่ถูกต้อง \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกแฟล็กคำนำหน้าทั้งหมด “ใน – ไม่ถูกต้อง: “ \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับการรับส่งข้อมูลที่มีสถานะการเชื่อมต่อไม่ถูกต้อง”

   ct สถานะไม่ถูกต้อง \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “ยกเลิกการรับส่งข้อมูลด้วยสถานะการเชื่อมต่อที่ไม่ถูกต้อง”

 

   ## อนุญาตการตอบสนอง ping/ping ของ IPv4 แต่จำกัดอัตราไว้ที่ 2000 PPS

   ip โปรโตคอล icmp ประเภท icmp { echo-reply, echo-request } \

     อัตราจำกัด 2000/ที่สอง \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv4 ขาเข้า echo (ping) จำกัดที่ 2000 PPS”

 

   ## อนุญาต IPv4 ICMP ขาเข้าอื่นๆ ทั้งหมด

   ip โปรโตคอล icmp \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv4 ICMP อื่น ๆ ทั้งหมด”

 

   ## อนุญาตการตอบสนอง ping/ping ของ IPv6 แต่จำกัดอัตราไว้ที่ 2000 PPS

   icmpv6 พิมพ์ { echo-reply, echo-request } \

     อัตราจำกัด 2000/ที่สอง \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv6 ขาเข้า echo (ping) จำกัดที่ 2000 PPS”

 

   ## อนุญาต IPv6 ICMP ขาเข้าอื่นๆ ทั้งหมด

   เมตา l4proto { icmpv6 } \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv6 ICMP อื่น ๆ ทั้งหมด”

 

   ## อนุญาตพอร์ต UDP traceroute ขาเข้า แต่จำกัดที่ 500 PPS

   UDP พอร์ต 33434-33524 \

     อัตราจำกัด 500/ที่สอง \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต UDP traceroute ขาเข้าจำกัดที่ 500 PPS”

 

   ## อนุญาต SSH ขาเข้า

   ทีซีพี ดีพอร์ต SSH ct สถานะใหม่ \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการเชื่อมต่อ SSH ขาเข้า”

 

   ## อนุญาต HTTP และ HTTPS ขาเข้า

   tcp dport { http, https } ct สถานะใหม่ \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการเชื่อมต่อ HTTP และ HTTPS ขาเข้า”

 

   ## บันทึกการรับส่งข้อมูลที่ไม่ตรงกัน แต่บันทึกอัตราสูงสุดที่ 60 ข้อความ/นาที

   ## นโยบายเริ่มต้นจะถูกนำไปใช้กับการเข้าชมที่ไม่ตรงกัน

   อัตราจำกัด 60/ระเบิดนาที 100 แพ็กเก็ต \

     บันทึกคำนำหน้า “ใน – วาง: “ \

     ความเห็น “บันทึกการรับส่งข้อมูลที่ไม่ตรงกัน”

 

   ## นับการเข้าชมที่ไม่ตรงกัน

   เคาน์เตอร์ \

     ความเห็น “นับการเข้าชมที่ไม่ตรงกัน”

 }

 

 #กฎจราจรขาออก

 เอาต์พุตลูกโซ่ {

   ประเภทตัวกรองลำดับความสำคัญของเอาต์พุตของตะขอตัวกรอง; นโยบายลดลง

 

   ## อนุญาตทราฟฟิกขาออกไปยังอินเทอร์เฟซย้อนกลับ

   อ๊อฟ โล \

     ยอมรับ \

     ความเห็น “อนุญาตทราฟฟิกทั้งหมดออกไปยังอินเทอร์เฟซย้อนกลับ”

 

   ## อนุญาตการเชื่อมต่อที่จัดตั้งขึ้นและที่เกี่ยวข้อง

   สถานะ ct ก่อตั้งขึ้นที่เกี่ยวข้อง \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการเชื่อมต่อที่จัดตั้งขึ้น/ที่เกี่ยวข้อง”

 

   ## อนุญาตทราฟฟิก WireGuard ขาออกก่อนที่จะทิ้งการเชื่อมต่อที่มีสถานะไม่ดี

   อ๊อฟ $DEV_WAN ยูพีดี สปอร์ต $WIREGUARD_PORT \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการรับส่งข้อมูลขาออกของ WireGuard”

 

   ## ลดการรับส่งข้อมูลด้วยสถานะการเชื่อมต่อที่ไม่ถูกต้อง

   ct สถานะไม่ถูกต้อง \

     อัตราจำกัด 100/ระเบิดนาที 150 แพ็กเก็ต \

     บันทึกแฟล็กคำนำหน้าทั้งหมด “ออก – ไม่ถูกต้อง: “ \

     ความเห็น “การบันทึกขีดจำกัดอัตราสำหรับการรับส่งข้อมูลที่มีสถานะการเชื่อมต่อไม่ถูกต้อง”

   ct สถานะไม่ถูกต้อง \

     เคาน์เตอร์ \

     หยด \

     ความเห็น “ยกเลิกการรับส่งข้อมูลด้วยสถานะการเชื่อมต่อที่ไม่ถูกต้อง”

 

   ## อนุญาต IPv4 ICMP ขาออกอื่นๆ ทั้งหมด

   ip โปรโตคอล icmp \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv4 ICMP ทุกประเภท”

 

   ## อนุญาต IPv6 ICMP ขาออกอื่นๆ ทั้งหมด

   เมตา l4proto { icmpv6 } \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาต IPv6 ICMP ทุกประเภท”

 

   ## อนุญาตพอร์ต UDP ของ traceroute ขาออก แต่จำกัดที่ 500 PPS

   UDP พอร์ต 33434-33524 \

     อัตราจำกัด 500/ที่สอง \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการติดตาม UDP ขาออกจำกัดที่ 500 PPS”

 

   ## อนุญาตการเชื่อมต่อ HTTP และ HTTPS ขาออก

   tcp dport { http, https } ct สถานะใหม่ \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการเชื่อมต่อ HTTP และ HTTPS ขาออก”

 

   ## อนุญาตการส่ง SMTP ขาออก

   tcp dport ส่ง ct สถานะใหม่ \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตการส่ง SMTP ขาออก”

 

   ## อนุญาตคำขอ DNS ขาออก

   UDP พอร์ต 53 \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตคำขอ UDP DNS ขาออก”

   ทีซีพี ดีพอร์ต 53 \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตคำขอ TCP DNS ขาออก”

 

   ## อนุญาตคำขอ NTP ขาออก

   UDP พอร์ต 123 \

     เคาน์เตอร์ \

     ยอมรับ \

     ความเห็น “อนุญาตคำขอ NTP ขาออก”

 

   ## บันทึกการรับส่งข้อมูลที่ไม่ตรงกัน แต่บันทึกอัตราสูงสุดที่ 60 ข้อความ/นาที

   ## นโยบายเริ่มต้นจะถูกนำไปใช้กับการเข้าชมที่ไม่ตรงกัน

   อัตราจำกัด 60/ระเบิดนาที 100 แพ็กเก็ต \

     บันทึกคำนำหน้า “ออก – วาง: “ \

     ความเห็น “บันทึกการรับส่งข้อมูลที่ไม่ตรงกัน”

 

   ## นับการเข้าชมที่ไม่ตรงกัน

   เคาน์เตอร์ \

     ความเห็น “นับการเข้าชมที่ไม่ตรงกัน”

 }

 

}

 

# ตารางการกรอง NAT หลัก

ตาราง inet แนท {

 

 # กฎสำหรับการกำหนดเส้นทางการรับส่งข้อมูลล่วงหน้าของ NAT

 การกำหนดเส้นทางลูกโซ่ {

   พิมพ์ nat hook กำหนดลำดับความสำคัญก่อนกำหนด dstnat; ยอมรับนโยบาย

 }

 

 # กฎสำหรับการกำหนดเส้นทางการรับส่งข้อมูล NAT

 # ตารางนี้ได้รับการประมวลผลก่อนห่วงโซ่เส้นทางหลัง Firezone

 โซ่ postrouting {

   พิมพ์ nat hook postrouting ลำดับความสำคัญ srcnat – 5; ยอมรับนโยบาย

 }

 

}

การใช้†<

ไฟร์วอลล์ควรเก็บไว้ในตำแหน่งที่เกี่ยวข้องสำหรับการแจกจ่าย Linux ที่กำลังทำงานอยู่ สำหรับ Debian/Ubuntu นี่คือ /etc/nftables.conf และสำหรับ RHEL นี่คือ /etc/sysconfig/nftables.conf

nftables.service จะต้องได้รับการกำหนดค่าให้เริ่มต้นเมื่อบูต (หากยังไม่ได้ตั้งค่า):

systemctl เปิดใช้งาน nftables.service

หากทำการเปลี่ยนแปลงใด ๆ กับเทมเพลตไฟร์วอลล์ ไวยากรณ์สามารถตรวจสอบได้โดยการรันคำสั่งตรวจสอบ:

nft -f /path/to/nftables.conf -c

ตรวจสอบให้แน่ใจว่าได้ตรวจสอบไฟร์วอลล์ทำงานตามที่คาดไว้ เนื่องจากคุณสมบัติบางอย่างของ nftables อาจไม่พร้อมใช้งาน ขึ้นอยู่กับรุ่นที่ทำงานบนเซิร์ฟเวอร์



_______________________________________________________________



telemetry

 

เอกสารนี้แสดงภาพรวมของการวัดระยะไกลที่ Firezone รวบรวมจากอินสแตนซ์ที่โฮสต์เองและวิธีปิดใช้งาน

เหตุใด Firezone จึงรวบรวม telemetry†<

โซนไฟ อาศัย ในการวัดและส่งข้อมูลทางไกลเพื่อจัดลำดับความสำคัญของแผนงานของเราและเพิ่มประสิทธิภาพทรัพยากรด้านวิศวกรรมที่เรามีเพื่อทำให้ Firezone ดีขึ้นสำหรับทุกคน

การวัดและส่งข้อมูลทางไกลที่เรารวบรวมมีวัตถุประสงค์เพื่อตอบคำถามต่อไปนี้:

  • มีคนติดตั้ง ใช้ และหยุดใช้ Firezone กี่คน?
  • ฟีเจอร์ใดมีค่ามากที่สุด และฟีเจอร์ใดไม่มีประโยชน์
  • ฟังก์ชันใดที่ต้องการการปรับปรุงมากที่สุด
  • เมื่อมีอะไรพัง ทำไมมันถึงพัง และเราจะป้องกันไม่ให้มันเกิดขึ้นอีกในอนาคตได้อย่างไร?

วิธีที่เรารวบรวม telemetry†<

มีสถานที่หลักสามแห่งที่มีการรวบรวม telemetry ใน Firezone:

  1. แพคเกจ telemetry รวมเหตุการณ์ต่างๆ เช่น การติดตั้ง ถอนการติดตั้ง และอัปเกรด
  2. มาตรวัดระยะไกล CLI จากคำสั่ง firezone-ctl
  3. การวัดและส่งข้อมูลทางไกลของผลิตภัณฑ์ที่เชื่อมโยงกับเว็บพอร์ทัล

ในแต่ละบริบททั้งสามนี้ เรารวบรวมจำนวนข้อมูลขั้นต่ำที่จำเป็นในการตอบคำถามในส่วนด้านบน

ระบบจะรวบรวมอีเมลของผู้ดูแลระบบก็ต่อเมื่อคุณเลือกรับการอัปเดตผลิตภัณฑ์อย่างชัดแจ้งเท่านั้น มิฉะนั้น ข้อมูลส่วนบุคคลคือ ไม่เคย รวบรวม

Firezone จัดเก็บ telemetry ในอินสแตนซ์ที่โฮสต์เองของ PostHog ซึ่งทำงานในคลัสเตอร์ Kubernetes ส่วนตัว ซึ่งเข้าถึงได้โดยทีม Firezone เท่านั้น นี่คือตัวอย่างเหตุการณ์การวัดและส่งข้อมูลทางไกลที่ส่งจากอินสแตนซ์ Firezone ของคุณไปยังเซิร์ฟเวอร์การวัดและส่งข้อมูลทางไกลของเรา:

{

   "Id": “0182272d-0b88-0000-d419-7b9a413713f1”,

   “ประทับเวลา”: “2022-07-22T18:30:39.748000+00:00”,

   "เหตุการณ์": “fz_http_started”,

   “distinct_id”: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,

   "คุณสมบัติ"{

       “$geoip_city_name”: “แอชเบิร์น”,

       “$geoip_continent_code”: “นา”,

       “$geoip_continent_name”: "อเมริกาเหนือ",

       “$geoip_country_code”: "เรา",

       “$geoip_country_name”: "สหรัฐ",

       “$geoip_latitude”: 39.0469,

       “$geoip_ลองจิจูด”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: “เวอร์จิเนีย”,

       “$geoip_subdivision_1_name”: “เวอร์จิเนีย”,

       “$geoip_time_zone”: “อเมริกา/นิวยอร์ก”,

       “$ไอพี”: "52.200.241.107",

       “$plugins_deferred”: []

       “$plugins_failed”: []

       “$plugins_succeeded”: [

           “จีโอไอพี (3)”

       ],

       “distinct_id”: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       “fqdn”: “awsdemo.firezone.dev”,

       “เคอร์เนล_เวอร์ชัน”: “ลินุกซ์ 5.13.0”,

       “เวอร์ชั่น”: "0.4.6"

   },

   “องค์ประกอบ_chain”: ""

}

วิธีปิดการใช้งาน telemetry†<

หมายเหตุ

ทีมพัฒนา Firezone อาศัย ในการวิเคราะห์ผลิตภัณฑ์เพื่อทำให้ Firezone ดีขึ้นสำหรับทุกคน การเปิดใช้งานการวัดและส่งข้อมูลทางไกลเป็นสิ่งเดียวที่มีค่าที่สุดที่คุณสามารถทำได้เพื่อพัฒนา Firezone อย่างไรก็ตาม เราเข้าใจว่าผู้ใช้บางรายมีข้อกำหนดด้านความเป็นส่วนตัวหรือความปลอดภัยที่สูงกว่า และต้องการปิดใช้งานการวัดและส่งข้อมูลทางไกลทั้งหมด หากเป็นคุณ อ่านต่อไป

Telemetry เปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดใช้งานการวัดและส่งข้อมูลทางไกลของผลิตภัณฑ์โดยสมบูรณ์ ให้ตั้งค่าตัวเลือกการกำหนดค่าต่อไปนี้เป็นเท็จใน /etc/firezone/firezone.rb และเรียกใช้ sudo firezone-ctl reconfigure เพื่อรับการเปลี่ยนแปลง

ค่าเริ่มต้น['โซนไฟ']['มาตร']['เปิดใช้งาน'] = เท็จ

ซึ่งจะปิดใช้งานการวัดและส่งข้อมูลทางไกลของผลิตภัณฑ์ทั้งหมดโดยสมบูรณ์