ნაბიჯ-ნაბიჯ ინსტრუქციები Hailbytes VPN-ის განლაგებისთვის Firezone GUI-ით მოცემულია აქ.
ადმინისტრირება: სერვერის ინსტანციის დაყენება პირდაპირ კავშირშია ამ ნაწილთან.
მომხმარებლის სახელმძღვანელო: სასარგებლო დოკუმენტები, რომლებიც გასწავლით Firezone-ის გამოყენებას და ტიპიური პრობლემების გადაჭრას. სერვერის წარმატებით განლაგების შემდეგ, იხილეთ ეს განყოფილება.
Split Tunneling: გამოიყენეთ VPN მხოლოდ კონკრეტული IP დიაპაზონების ტრაფიკის გასაგზავნად.
Whitelisting: დააყენეთ VPN სერვერის სტატიკური IP მისამართი, რათა გამოიყენოთ თეთრი სია.
საპირისპირო გვირაბები: შექმენით გვირაბები რამდენიმე თანატოლს შორის საპირისპირო გვირაბების გამოყენებით.
მოხარული ვართ დაგეხმაროთ, თუ გჭირდებათ დახმარება Hailbytes VPN-ის ინსტალაციის, მორგების ან გამოყენებისთვის.
სანამ მომხმარებლები შეძლებენ მოწყობილობის კონფიგურაციის ფაილების შექმნას ან ჩამოტვირთვას, Firezone შეიძლება კონფიგურირებული იყოს ისე, რომ მოითხოვოს ავთენტიფიკაცია. მომხმარებლებს ასევე შეიძლება დასჭირდეთ პერიოდულად ხელახალი ავტორიზაცია, რათა შეინარჩუნონ VPN კავშირი აქტიური.
მიუხედავად იმისა, რომ Firezone-ის ნაგულისხმევი შესვლის მეთოდია ადგილობრივი ელფოსტა და პაროლი, ის ასევე შეიძლება იყოს ინტეგრირებული ნებისმიერ სტანდარტიზებულ OpenID Connect (OIDC) პირადობის პროვაიდერთან. მომხმარებლებს ახლა შეუძლიათ შევიდნენ Firezone-ში მათი Okta, Google, Azure AD ან პირადი პირადობის პროვაიდერის სერთიფიკატების გამოყენებით.
ზოგადი OIDC პროვაიდერის ინტეგრირება
კონფიგურაციის პარამეტრები, რომლებიც საჭიროა Firezone-ს, რათა დაუშვას SSO OIDC პროვაიდერის გამოყენებით, ნაჩვენებია ქვემოთ მოცემულ მაგალითში. საიტზე /etc/firezone/firezone.rb შეგიძლიათ იპოვოთ კონფიგურაციის ფაილი. გაუშვით firezone-ctl reconfigure და firezone-ctl გადატვირთეთ აპლიკაციის განახლებისთვის და ცვლილებების ამოქმედებისთვის.
# ეს არის მაგალითი Google-ისა და Okta-ს, როგორც SSO პირადობის პროვაიდერის გამოყენებით.
# მრავალი OIDC კონფიგურაცია შეიძლება დაემატოს იმავე Firezone ინსტანციას.
# Firezone-ს შეუძლია გამორთოს მომხმარებლის VPN, თუ მცდელობისას გამოვლინდა რაიმე შეცდომა
# მათი წვდომის_ტოკენის გასაახლებლად. ეს დადასტურებულია Google-ისთვის, Okta-სთვის და
# Azure SSO და გამოიყენება მომხმარებლის VPN-ის ავტომატურად გათიშვისთვის, თუ ისინი წაიშლება
# OIDC პროვაიდერისგან. დატოვეთ ეს გამორთული, თუ თქვენი OIDC პროვაიდერი
# აქვს წვდომის ჟეტონების განახლებასთან დაკავშირებული პრობლემები, რადგან ამან შეიძლება მოულოდნელად შეწყვიტოს a
# მომხმარებლის VPN სესია.
ნაგულისხმევი['firezone']['authentication']['disable_vpn_on_oidc_error'] = false
ნაგულისხმევი['firezone']['authentication']['oidc'] = {
გუგლი: {
discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,
client_id: ”,
client_secret: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",
answer_type: „კოდი“,
ფარგლები: „ღია ელფოსტის პროფილი“,
ეტიკეტი: „გუგლი“
},
okta: {
Discovery_document_uri: “https:// /. კარგად ცნობილი/openid-configuration”,
client_id: ”,
client_secret: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
answer_type: „კოდი“,
ფარგლები: „ელფოსტის ღია პროფილი offline_access“,
ეტიკეტი: "ოქტა"
}
}
ინტეგრაციისთვის საჭიროა შემდეგი კონფიგურაციის პარამეტრები:
თითოეული OIDC პროვაიდერისთვის იქმნება შესაბამისი ლამაზი URL კონფიგურირებული პროვაიდერის შესვლის URL-ზე გადამისამართებისთვის. ზემოთ მოყვანილი OIDC კონფიგურაციის მაგალითისთვის, URL-ებია:
პროვაიდერები გვაქვს დოკუმენტაცია:
თუ თქვენს საიდენტიფიკაციო პროვაიდერს აქვს ზოგადი OIDC კონექტორი და არ არის ჩამოთვლილი ზემოთ, გთხოვთ, გადახვიდეთ მათ დოკუმენტაციაში ინფორმაციის მისაღებად, თუ როგორ უნდა მოიძიოთ საჭირო კონფიგურაციის პარამეტრები.
პარამეტრების/უსაფრთხოების ქვეშ არსებული პარამეტრი შეიძლება შეიცვალოს პერიოდული ხელახალი ავტორიზაციის საჭიროებისთვის. ეს შეიძლება გამოყენებულ იქნას იმ მოთხოვნის აღსასრულებლად, რომ მომხმარებლები რეგულარულად შევიდნენ Firezone-ში VPN სესიის გასაგრძელებლად.
სესიის ხანგრძლივობა შეიძლება იყოს კონფიგურირებული ერთი საათიდან ოთხმოცდაათ დღემდე. ამის არასოდეს დაყენებით, შეგიძლიათ ნებისმიერ დროს ჩართოთ VPN სესიები. ეს არის სტანდარტი.
მომხმარებელმა უნდა შეწყვიტოს VPN სესია და შევიდეს Firezone პორტალში, რათა ხელახლა დაამტკიცოს ვადაგასული VPN სესია (URL მითითებულია განლაგებისას).
თქვენ შეგიძლიათ ხელახლა დაადასტუროთ თქვენი სესია აქ ნაპოვნი კლიენტის ზუსტი ინსტრუქციების შემდეგ.
VPN კავშირის სტატუსი
მომხმარებლების გვერდის VPN კავშირის ცხრილის სვეტი აჩვენებს მომხმარებლის კავშირის სტატუსს. ეს არის კავშირის სტატუსები:
ჩართულია - კავშირი ჩართულია.
გამორთულია - კავშირი გამორთულია ადმინისტრატორის ან OIDC-ის განახლების უკმარისობის გამო.
ვადაგასული - კავშირი გამორთულია ავტორიზაციის ვადის გასვლის გამო ან მომხმარებელი პირველად არ შესულა.
ზოგადი OIDC კონექტორის მეშვეობით, Firezone რთავს ერთჯერად შესვლას (SSO) Google Workspace-ით და Cloud Identity-ით. ეს სახელმძღვანელო გაჩვენებთ, თუ როგორ უნდა მიიღოთ ქვემოთ ჩამოთვლილი კონფიგურაციის პარამეტრები, რომლებიც აუცილებელია ინტეგრაციისთვის:
1. OAuth კონფიგურაციის ეკრანი
თუ პირველად ქმნით ახალ OAuth კლიენტის ID-ს, მოგეთხოვებათ თანხმობის ეკრანის კონფიგურაცია.
*აირჩიეთ შიდა მომხმარებლის ტიპისთვის. ეს უზრუნველყოფს, რომ მხოლოდ თქვენს Google Workspace ორგანიზაციაში მომხმარებლების კუთვნილ ანგარიშებს შეუძლიათ მოწყობილობის კონფიგურაციის შექმნა. არ აირჩიოთ გარე, თუ არ გსურთ, ჩართოთ ვინმეს, ვისაც აქვს სწორი Google ანგარიში, შექმნას მოწყობილობის კონფიგურაციები.
აპლიკაციის ინფორმაციის ეკრანზე:
2. შექმენით OAuth კლიენტის ID
ეს განყოფილება ეფუძნება Google-ის საკუთარ დოკუმენტაციას OAuth 2.0-ის დაყენება.
ეწვიეთ Google Cloud Console-ს სერთიფიკატების გვერდი გვერდზე, დააწკაპუნეთ + Create Credentials და აირჩიეთ OAuth კლიენტის ID.
OAuth კლიენტის ID შექმნის ეკრანზე:
OAuth კლიენტის ID-ის შექმნის შემდეგ თქვენ მოგეცემათ Client ID და Client Secret. ისინი გამოყენებული იქნება გადამისამართების URI-სთან ერთად შემდეგ ეტაპზე.
რედაქტირება /etc/firezone/firezone.rb ქვემოთ მოყვანილი ვარიანტების ჩასართავად:
# Google-ის გამოყენება, როგორც SSO პირადობის პროვაიდერი
ნაგულისხმევი['firezone']['authentication']['oidc'] = {
გუგლი: {
discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,
client_id: ”,
client_secret: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",
answer_type: „კოდი“,
ფარგლები: „ღია ელფოსტის პროფილი“,
ეტიკეტი: „გუგლი“
}
}
გაუშვით firezone-ctl reconfigure და firezone-ctl გადატვირთეთ აპლიკაციის განახლებისთვის. ახლა თქვენ უნდა იხილოთ Google-ით შესვლა ღილაკი root Firezone URL-ზე.
Firezone იყენებს ზოგად OIDC კონექტორს Okta-სთან ერთჯერადი შესვლის (SSO) გასაადვილებლად. ეს გაკვეთილი გაჩვენებთ, თუ როგორ უნდა მიიღოთ ქვემოთ ჩამოთვლილი კონფიგურაციის პარამეტრები, რომლებიც აუცილებელია ინტეგრაციისთვის:
სახელმძღვანელოს ეს ნაწილი ეფუძნება ოქტას დოკუმენტაცია.
ადმინისტრატორის კონსოლში გადადით აპლიკაციები > აპლიკაციები და დააჭირეთ აპის ინტეგრაციის შექმნას. დააყენეთ შესვლის მეთოდი OICD-ზე – OpenID Connect და აპლიკაციის ტიპი ვებ აპლიკაციაში.
დააკონფიგურირეთ ეს პარამეტრები:
პარამეტრების შენახვის შემდეგ, თქვენ მოგეცემათ Client ID, Client Secret და Okta Domain. ეს 3 მნიშვნელობა გამოყენებული იქნება მე-2 ნაბიჯში Firezone-ის კონფიგურაციისთვის.
რედაქტირება /etc/firezone/firezone.rb ქვემოთ მოყვანილი ვარიანტების ჩასართავად. შენი აღმოჩენა_დოკუმენტის_url იქნება /. ცნობილი/openid-configuration დაერთო ბოლოს შენი okta_domain.
# Okta-ს გამოყენება, როგორც SSO პირადობის პროვაიდერი
ნაგულისხმევი['firezone']['authentication']['oidc'] = {
okta: {
Discovery_document_uri: “https:// /. კარგად ცნობილი/openid-configuration”,
client_id: ”,
client_secret: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
answer_type: „კოდი“,
ფარგლები: „ელფოსტის ღია პროფილი offline_access“,
ეტიკეტი: "ოქტა"
}
}
გაუშვით firezone-ctl reconfigure და firezone-ctl გადატვირთეთ აპლიკაციის განახლებისთვის. ახლა თქვენ უნდა იხილოთ შესვლა Okta ღილაკი root Firezone URL-ზე.
მომხმარებლები, რომლებსაც შეუძლიათ Firezone აპზე წვდომა, შეიძლება შეიზღუდონ Okta-მ. ამის შესასრულებლად გადადით თქვენი Okta Admin Console-ის Firezone App Integration-ის დავალებების გვერდზე.
ზოგადი OIDC კონექტორის მეშვეობით, Firezone რთავს ერთჯერად შესვლას (SSO) Azure Active Directory-ით. ეს სახელმძღვანელო გაჩვენებთ, თუ როგორ უნდა მიიღოთ ქვემოთ ჩამოთვლილი კონფიგურაციის პარამეტრები, რომლებიც აუცილებელია ინტეგრაციისთვის:
ეს სახელმძღვანელო შედგენილია Azure Active Directory Docs.
გადადით Azure პორტალის Azure Active Directory გვერდზე. აირჩიეთ მენიუს მართვა, აირჩიეთ ახალი რეგისტრაცია, შემდეგ დარეგისტრირდით ქვემოთ მოცემული ინფორმაციის მიწოდებით:
რეგისტრაციის შემდეგ გახსენით აპლიკაციის დეტალების ხედი და დააკოპირეთ განაცხადის (კლიენტის) ID. ეს იქნება client_id მნიშვნელობა. შემდეგი, გახსენით ბოლო წერტილების მენიუ, რომ მიიღოთ OpenID Connect მეტამონაცემების დოკუმენტი. ეს იქნება discovery_document_uri მნიშვნელობა.
შექმენით ახალი კლიენტის საიდუმლო, დაწკაპუნებით სერთიფიკატები და საიდუმლოებები ოფციაზე Manage მენიუში. დააკოპირეთ კლიენტის საიდუმლოება; კლიენტის საიდუმლო მნიშვნელობა იქნება ეს.
და ბოლოს, აირჩიეთ API ნებართვების ბმული Manage მენიუში, დააწკაპუნეთ დაამატეთ ნებართვადა აირჩიეთ Microsoft გრაფიკი, სანიშნეს ელფოსტაზე, ღია, offline_access მდე პროფაილი საჭირო ნებართვებისთვის.
რედაქტირება /etc/firezone/firezone.rb ქვემოთ მოყვანილი ვარიანტების ჩასართავად:
# Azure Active Directory-ის გამოყენება, როგორც SSO პირადობის პროვაიდერი
ნაგულისხმევი['firezone']['authentication']['oidc'] = {
ცისფერი: {
Discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/. კარგად ცნობილი/openid-configuration”,
client_id: ”,
client_secret: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/azure/callback/",
answer_type: „კოდი“,
ფარგლები: „ელფოსტის ღია პროფილი offline_access“,
ეტიკეტი: "Azure"
}
}
გაუშვით firezone-ctl reconfigure და firezone-ctl გადატვირთეთ აპლიკაციის განახლებისთვის. ახლა თქვენ უნდა ნახოთ Azure-ით შესვლა ღილაკი root Firezone URL-ზე.
Azure AD საშუალებას აძლევს ადმინისტრატორებს შეზღუდონ აპის წვდომა მომხმარებელთა კონკრეტულ ჯგუფზე თქვენი კომპანიის შიგნით. დამატებითი ინფორმაცია იმის შესახებ, თუ როგორ უნდა გავაკეთოთ ეს, შეგიძლიათ იხილოთ Microsoft-ის დოკუმენტაციაში.
შეფ ომნიბუსს Firezone იყენებს ამოცანების სამართავად, მათ შორის გამოშვების შეფუთვა, პროცესის ზედამხედველობა, ჟურნალის მენეჯმენტი და სხვა.
Ruby კოდი ქმნის პირველადი კონფიგურაციის ფაილს, რომელიც მდებარეობს მისამართზე /etc/firezone/firezone.rb. ამ ფაილში ცვლილებების შეტანის შემდეგ sudo firezone-ctl კონფიგურაციის ხელახალი დაწყება იწვევს შეფ-მზარეულს ცვლილებების ამოცნობას და მათ მიმდინარე ოპერაციულ სისტემაში გამოყენებას.
იხილეთ კონფიგურაციის ფაილის მითითება კონფიგურაციის ცვლადების სრული სიისა და მათი აღწერისთვის.
თქვენი Firezone ინსტანციის მართვა შესაძლებელია მეშვეობით firezone-ctl ბრძანება, როგორც ნაჩვენებია ქვემოთ. ქვებრძანებების უმეტესობას სჭირდება პრეფიქსი ერთად sudo.
root@demo:~# firezone-ctl
omnibus-ctl: ბრძანება (ქვებრძანება)
გენერალური ბრძანებები:
გაწმენდის
წაშალეთ *ყველა* firezone მონაცემები და დაიწყეთ ნულიდან.
შექმნა-ან-გადატვირთვა-ადმინისტრატორი
აღადგენს ადმინისტრატორის პაროლს ნაგულისხმევად მითითებული ელფოსტით['firezone']['admin_email'] ან ქმნის ახალ ადმინისტრატორს, თუ ეს ელფოსტა არ არსებობს.
დაეხმაროს
დაბეჭდეთ ეს დახმარების შეტყობინება.
ხელახლა კონფიგურაცია
განაახლეთ აპლიკაციის კონფიგურაცია.
გადატვირთვის ქსელი
აბრუნებს nftable-ებს, WireGuard ინტერფეისს და მარშრუტიზაციის ცხრილს Firezone-ის ნაგულისხმევად.
შოუ-კონფიგურაცია
აჩვენეთ კონფიგურაცია, რომელიც წარმოიქმნება ხელახალი კონფიგურაციის შედეგად.
დანგრევა-ქსელი
შლის WireGuard ინტერფეისს და firezone nftables ცხრილს.
ძალა-მოწმობა-განახლება
აიძულეთ სერთიფიკატის განახლება ახლა, მაშინაც კი, თუ მას ვადა არ გაუვიდა.
გაჩერება-დამოწმება-განახლება
შლის cronjob-ს, რომელიც ანახლებს სერთიფიკატებს.
წაშლა
მოკალი ყველა პროცესი და წაშალე პროცესის ზედამხედველი (მონაცემები შენარჩუნდება).
ვერსია
აჩვენეთ Firezone-ის მიმდინარე ვერსია
სერვისის მართვის ბრძანებები:
მოხდენილი-მოკვლა
სცადეთ მოხდენილი გაჩერება, შემდეგ SIGKILL მთელი პროცესის ჯგუფი.
hup
სერვისების გაგზავნა HUP.
int
სერვისების გაგზავნა INT.
მოკვლა
სერვისების გაგზავნა KILL.
ერთხელ
დაიწყეთ სერვისები, თუ ისინი გათიშულია. არ გადატვირთოთ ისინი, თუ ისინი შეჩერდებიან.
გადატვირთვა
შეაჩერეთ სერვისები, თუ ისინი გაშვებულია, შემდეგ დაიწყეთ ისინი ხელახლა.
სერვისის სია
ჩამოთვალეთ ყველა სერვისი (ჩართული სერვისები გამოჩნდება *.)
დაწყება
დაიწყეთ სერვისები, თუ ისინი გათიშულია და გადატვირთეთ ისინი, თუ შეწყვეტენ.
სტატუსი
ყველა სერვისის სტატუსის ჩვენება.
შეჩერება
შეაჩერეთ სერვისები და არ გადატვირთოთ ისინი.
კუდი
უყურეთ ყველა ჩართული სერვისის სერვისის ჟურნალს.
ვადა
სერვისების გაგზავნა ტერმინით.
usr1
გაგზავნეთ სერვისები USR1.
usr2
გაგზავნეთ სერვისები USR2.
ყველა VPN სესია უნდა შეწყდეს Firezone-ის განახლებამდე, რაც ასევე მოითხოვს ვებ UI-ის გამორთვას. იმ შემთხვევაში, თუ განახლების დროს რაიმე არასწორედ მოხდება, ჩვენ გირჩევთ, გამოყოთ ერთი საათი ტექნიკური მომსახურებისთვის.
Firezone-ის გასაძლიერებლად, მიიღეთ შემდეგი ქმედებები:
თუ რაიმე პრობლემა წარმოიქმნება, გთხოვთ შეგვატყობინოთ მხარდაჭერის ბილეთის წარდგენა.
0.5.0-ში არის რამდენიმე მნიშვნელოვანი ცვლილება და კონფიგურაციის მოდიფიკაცია, რომლებიც უნდა განიხილებოდეს. შეიტყვეთ მეტი ქვემოთ.
Nginx აღარ უჭერს მხარს იძულებითი SSL და არა SSL პორტის პარამეტრებს 0.5.0 ვერსიის მიხედვით. იმის გამო, რომ Firezone-ს სჭირდება SSL მუშაობისთვის, ჩვენ გირჩევთ, ამოიღოთ ნაკრები Nginx სერვისი ნაგულისხმევად ['firezone']['nginx']['enabled'] = false დაყენებით და სანაცვლოდ, თქვენი საპირისპირო პროქსი 13000 პორტის Phoenix აპზე გადაიყვანოთ (ნაგულისხმევად ).
0.5.0 შემოაქვს ACME პროტოკოლის მხარდაჭერა SSL სერთიფიკატების ავტომატურად განახლებისთვის შეფუთული Nginx სერვისით. ჩასართავად,
წესების დამატების შესაძლებლობა დუბლიკატი მიმართულებებით გაქრა Firezone 0.5.0-ში. ჩვენი მიგრაციის სკრიპტი ავტომატურად ამოიცნობს ამ სიტუაციებს 0.5.0-ზე განახლების დროს და შეინარჩუნებს მხოლოდ წესებს, რომელთა დანიშნულებაც მოიცავს სხვა წესს. არაფერია საჭირო, თუ ეს კარგად არის.
წინააღმდეგ შემთხვევაში, განახლებამდე, ჩვენ გირჩევთ შეცვალოთ თქვენი წესები ამ სიტუაციებისგან თავის დასაღწევად.
Firezone 0.5.0 ხსნის მხარდაჭერას ძველი სტილის Okta და Google SSO კონფიგურაციისთვის ახალი, უფრო მოქნილი OIDC-ზე დაფუძნებული კონფიგურაციის სასარგებლოდ.
თუ თქვენ გაქვთ რაიმე კონფიგურაცია ნაგულისხმევი['firezone']['authentication']['okta'] ან ნაგულისხმევი ['firezone']['authentication']['google'] გასაღებების ქვეშ, თქვენ უნდა გადაიტანოთ ისინი ჩვენს OIDC-ში. -დაფუძნებული კონფიგურაცია ქვემოთ მოცემული სახელმძღვანელოს გამოყენებით.
არსებული Google OAuth კონფიგურაცია
წაშალეთ ეს ხაზები, რომლებიც შეიცავს ძველ Google OAuth კონფიგურაციას თქვენი კონფიგურაციის ფაილიდან, რომელიც მდებარეობს მისამართზე /etc/firezone/firezone.rb
ნაგულისხმევი['firezone']['authentication']['google']['ჩართულია']
ნაგულისხმევი['firezone']['authentication']['google']['client_id']
ნაგულისხმევი['firezone']['authentication']['google']['client_secret']
ნაგულისხმევი['firezone']['authentication']['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 პროვაიდერი აქ პროცედურების დაცვით.
თქვენი მიმდინარე კონფიგურაციისა და ვერსიიდან გამომდინარე, მიჰყევით ქვემოთ მოცემულ ინსტრუქციებს:
თუ უკვე გაქვთ OIDC ინტეგრაცია:
ზოგიერთი OIDC პროვაიდერისთვის >= 0.3.16-მდე განახლება მოითხოვს განახლების ჟეტონის მიღებას ოფლაინ წვდომის საზღვრისთვის. ამით, დარწმუნდით, რომ Firezone განახლდება პირადობის პროვაიდერთან და რომ VPN კავშირი გათიშულია მომხმარებლის წაშლის შემდეგ. Firezone-ის ადრინდელ გამეორებებს ეს ფუნქცია აკლდა. ზოგიერთ შემთხვევაში, მომხმარებლები, რომლებიც წაიშლება თქვენი პირადობის პროვაიდერიდან, შეიძლება კვლავ იყოს დაკავშირებული VPN-თან.
აუცილებელია ხაზგარეშე წვდომის ჩართვა თქვენი OIDC კონფიგურაციის ფარგლების პარამეტრში OIDC პროვაიდერებისთვის, რომლებიც მხარს უჭერენ ოფლაინ წვდომის ფარგლებს. Firezone-ctl ხელახალი კონფიგურაცია უნდა შესრულდეს, რათა ცვლილებები განხორციელდეს Firezone-ის კონფიგურაციის ფაილში, რომელიც მდებარეობს მისამართზე /etc/firezone/firezone.rb.
მომხმარებლებისთვის, რომლებიც დამოწმებულნი არიან თქვენი OIDC პროვაიდერის მიერ, დაინახავთ OIDC Connections სათაურს ვებ UI-ის მომხმარებლის დეტალების გვერდზე, თუ Firezone შეძლებს წარმატებით აღადგინოს განახლების ჟეტონი.
თუ ეს არ მუშაობს, თქვენ უნდა წაშალოთ არსებული OAuth აპი და გაიმეოროთ OIDC დაყენების ნაბიჯები შექმენით ახალი აპლიკაციის ინტეგრაცია .
მე მაქვს არსებული OAuth ინტეგრაცია
0.3.11-მდე Firezone იყენებდა წინასწარ კონფიგურირებულ OAuth2 პროვაიდერებს.
მიჰყევით ინსტრუქციას აქ დაწკაპუნებით მიგრაცია OIDC-ში.
მე არ მაქვს ინტეგრირებული პირადობის პროვაიდერი
არანაირი მოქმედება არ არის საჭირო.
შეგიძლიათ მიჰყვეთ მითითებებს აქ დაწკაპუნებით ჩართოთ SSO OIDC პროვაიდერის მეშვეობით.
თავის ადგილას ნაგულისხმევმა['firezone']['გარე url']-მა ჩაანაცვლა კონფიგურაციის პარამეტრი ნაგულისხმევი['firezone']['fqdn'].
დააყენეთ ეს თქვენი Firezone ონლაინ პორტალის URL-ზე, რომელიც ხელმისაწვდომია ფართო საზოგადოებისთვის. ნაგულისხმევად იქნება https:// პლუს თქვენი სერვერის FQDN, თუ განუსაზღვრელი დარჩა.
კონფიგურაციის ფაილი მდებარეობს მისამართზე /etc/firezone/firezone.rb. იხილეთ კონფიგურაციის ფაილის მითითება კონფიგურაციის ცვლადების სრული სიისა და მათი აღწერისთვის.
Firezone აღარ ინახავს მოწყობილობის პირად გასაღებებს Firezone სერვერზე 0.3.0 ვერსიიდან.
Firezone Web UI არ მოგცემთ საშუალებას ხელახლა ჩამოტვირთოთ ან ნახოთ ეს კონფიგურაციები, მაგრამ ნებისმიერმა არსებულმა მოწყობილობამ უნდა გააგრძელოს მუშაობა ისე, როგორც არის.
თუ თქვენ განაახლებთ Firezone 0.1.x-დან, არის რამდენიმე კონფიგურაციის ფაილი ცვლილება, რომელიც უნდა განიხილებოდეს ხელით.
თქვენს /etc/firezone/firezone.rb ფაილში საჭირო ცვლილებების შესატანად, გაუშვით ქვემოთ მოცემული ბრძანებები root-ის სახით.
cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak
sed -i "s/\['ჩართვა'\]/\['ჩართული'\]/" /etc/firezone/firezone.rb
echo „ნაგულისხმევი['firezone']['connectivity_checks']['ჩართულია'] = 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 უფვ ტიპიური 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)
ჩვენ გირჩევთ შეზღუდოთ წვდომა ვებ ინტერფეისზე უკიდურესად მგრძნობიარე და კრიტიკული წარმოების განლაგებისთვის, როგორც ეს ქვემოთ არის ახსნილი.
სამსახურის | ნაგულისხმევი პორტი | მისმინე მისამართი | აღწერა |
ნინიქსი | 80, 443 | ყველა | საჯარო HTTP(S) პორტი Firezone-ის ადმინისტრირებისთვის და ავთენტიფიკაციის გასაადვილებლად. |
დამტენი | 51820 | ყველა | Public WireGuard პორტი გამოიყენება VPN სესიებისთვის. (UDP) |
postgresql | 15432 | 127.0.0.1 | მხოლოდ ლოკალური პორტი გამოიყენება შეფუთული Postgresql სერვერისთვის. |
Phoenix | 13000 | 127.0.0.1 | მხოლოდ ლოკალური პორტი, რომელსაც იყენებს upstream elixir აპლიკაციის სერვერი. |
ჩვენ გირჩევთ, იფიქროთ Firezone-ის საჯაროდ გამოჩენილ ვებ UI-ზე წვდომის შეზღუდვაზე (ნაგულისხმევი პორტები 443/tcp და 80/tcp) და ამის ნაცვლად გამოიყენოთ WireGuard გვირაბი Firezone-ის სამართავად წარმოებისა და საჯარო განლაგებისთვის, სადაც პასუხისმგებელი იქნება ერთი ადმინისტრატორი. მოწყობილობის კონფიგურაციების შექმნა და გავრცელება საბოლოო მომხმარებლებისთვის.
მაგალითად, თუ ადმინისტრატორმა შექმნა მოწყობილობის კონფიგურაცია და შექმნა გვირაბი ლოკალური WireGuard მისამართით 10.3.2.2, შემდეგი ufw კონფიგურაცია საშუალებას მისცემს ადმინისტრატორს შევიდეს 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 გვირაბების დასაყენებლად.
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 "SELECT * FROM მოწყობილობებიდან;"
მომხმარებლის როლის შეცვლა:
დააყენეთ როლი „ადმინისტრატორად“ ან „არაპრივილეგირებულად“:
/opt/firezone/embedded/bin/psql \
-U ცეცხლის ზონა \
-d ცეცხლის ზონა \
-h ლოკალური მასპინძელი \
-p 15432 \
-c „განახლეთ მომხმარებლების როლის დაყენება = „ადმინისტრატორი“ WHERE ელფოსტა = „user@example.com“;“
მონაცემთა ბაზის სარეზერვო ასლის შექმნა:
გარდა ამისა, მოყვება pg dump პროგრამა, რომელიც შეიძლება გამოყენებულ იქნას მონაცემთა ბაზის რეგულარული სარეზერვო ასლების მისაღებად. შეასრულეთ შემდეგი კოდი მონაცემთა ბაზის ასლის საერთო SQL შეკითხვის ფორმატში გადასატანად (შეცვალეთ /path/to/backup.sql იმ მდებარეობით, სადაც უნდა შეიქმნას SQL ფაილი):
/opt/firezone/embedded/bin/pg_dump \
-U ცეცხლის ზონა \
-d ცეცხლის ზონა \
-h ლოკალური მასპინძელი \
-p 15432 > /path/to/backup.sql
მას შემდეგ, რაც Firezone წარმატებით განლაგდება, თქვენ უნდა დაამატოთ მომხმარებლები, რათა უზრუნველყოთ მათ წვდომა თქვენს ქსელში. ამისათვის გამოიყენება ვებ UI.
/მომხმარებლების ქვეშ ღილაკის „დამატება მომხმარებლის“ არჩევით, შეგიძლიათ დაამატოთ მომხმარებელი. თქვენ უნდა მიაწოდოთ მომხმარებელს ელექტრონული ფოსტის მისამართი და პაროლი. იმისათვის, რომ თქვენს ორგანიზაციაში მომხმარებლებთან წვდომა ავტომატურად დაუშვას, Firezone-ს ასევე შეუძლია ინტერფეისი და სინქრონიზაცია იდენტიფიკაციის პროვაიდერთან. დამატებითი დეტალები ხელმისაწვდომია საიდენტიფიკაციო. < დაამატეთ ბმული ავტორიზაციისთვის
ჩვენ გირჩევთ, მომხმარებლებმა შექმნან საკუთარი მოწყობილობის კონფიგურაციები ისე, რომ პირადი გასაღები მხოლოდ მათთვის იყოს ხილული. მომხმარებლებს შეუძლიათ შექმნან საკუთარი მოწყობილობის კონფიგურაციები ინსტრუქციების დაცვით კლიენტის ინსტრუქციები გვერდი.
ყველა მომხმარებლის მოწყობილობის კონფიგურაცია შეიძლება შეიქმნას Firezone ადმინისტრატორების მიერ. მომხმარებლის პროფილის გვერდზე, რომელიც მდებარეობს /users-ზე, აირჩიეთ „მოწყობილობის დამატება“ ამის შესასრულებლად.
[სკრინშოტის ჩასმა]
თქვენ შეგიძლიათ მომხმარებელს გაუგზავნოთ WireGuard კონფიგურაციის ფაილი მოწყობილობის პროფილის შექმნის შემდეგ.
მომხმარებლები და მოწყობილობები დაკავშირებულია. დამატებითი ინფორმაციისთვის, თუ როგორ უნდა დაამატოთ მომხმარებელი, იხილეთ მომხმარებლების დამატება.
ბირთვის ქსელის ფილტრის სისტემის გამოყენებით, Firezone საშუალებას აძლევს გამომავალი ფილტრაციის შესაძლებლობებს მიუთითოს DROP ან ACCEPT პაკეტები. ყველა მოძრაობა ჩვეულებრივ ნებადართულია.
IPv4 და IPv6 CIDR და IP მისამართები მხარდაჭერილია Allowlist-ის და Denylist-ის მეშვეობით, შესაბამისად. თქვენ შეგიძლიათ აირჩიოთ წესები მომხმარებლისთვის მისი დამატებისას, რომელიც ვრცელდება ამ მომხმარებლის ყველა მოწყობილობაზე.
ინსტალაცია და კონფიგურაცია
VPN კავშირის დასამყარებლად მშობლიური WireGuard კლიენტის გამოყენებით, იხილეთ ეს სახელმძღვანელო.
აქ განთავსებული ოფიციალური WireGuard კლიენტები თავსებადია Firezone:
ეწვიეთ ოფიციალურ WireGuard ვებსაიტს https://www.wireguard.com/install/ OS სისტემებისთვის, რომლებიც ზემოთ არ არის ნახსენები.
ან თქვენს Firezone ადმინისტრატორს ან თქვენ შეგიძლიათ შექმნათ მოწყობილობის კონფიგურაციის ფაილი Firezone პორტალის გამოყენებით.
ეწვიეთ თქვენს Firezone-ის ადმინისტრატორს მოწოდებული URL-ს, რათა თავად შექმნათ მოწყობილობის კონფიგურაციის ფაილი. თქვენს ფირმას ექნება უნიკალური URL ამისათვის; ამ შემთხვევაში, ეს არის https://instance-id.yourfirezone.com.
შედით Firezone Okta SSO-ში
[სკრინშოტის ჩასმა]
იმპორტი.conf ფაილი WireGuard კლიენტში მისი გახსნით. გააქტიურების გადამრთველის გადახვევით, შეგიძლიათ დაიწყოთ VPN სესია.
[სკრინშოტის ჩასმა]
მიჰყევით ქვემოთ მოცემულ ინსტრუქციებს, თუ თქვენი ქსელის ადმინისტრატორმა დაავალა განმეორებადი ავტორიზაცია თქვენი VPN კავშირის აქტიური შესანარჩუნებლად.
Შენ გჭირდება:
Firezone პორტალის URL: სთხოვეთ თქვენი ქსელის ადმინისტრატორს კავშირისთვის.
თქვენი ქსელის ადმინისტრატორს უნდა შეეძლოს შესთავაზოთ თქვენი შესვლა და პაროლი. Firezone საიტი მოგთხოვთ შეხვიდეთ სისტემაში შესვლის ერთჯერადი სერვისის გამოყენებით, რომელსაც თქვენი დამსაქმებელი იყენებს (როგორიცაა Google ან Okta).
[სკრინშოტის ჩასმა]
გადადით Firezone პორტალის URL-ზე და შედით სისტემაში თქვენი ქსელის ადმინისტრატორის მიერ მოწოდებული რწმუნებათა სიგელების გამოყენებით. თუ უკვე შესული ხართ, დააწკაპუნეთ ხელახალი ავტორიზაციის ღილაკზე ხელახლა შესვლამდე.
[სკრინშოტის ჩასმა]
[სკრინშოტის ჩასმა]
WireGuard კონფიგურაციის პროფილის იმპორტისთვის, Network Manager CLI-ის გამოყენებით Linux მოწყობილობებზე, მიჰყევით ამ ინსტრუქციას (nmcli).
თუ პროფილს ჩართული აქვს IPv6 მხარდაჭერა, ქსელის მენეჯერის GUI-ის გამოყენებით კონფიგურაციის ფაილის იმპორტის მცდელობა შეიძლება წარუმატებელი იყოს შემდეგი შეცდომით:
ipv6.method: მეთოდი "auto" არ არის მხარდაჭერილი WireGuard-ისთვის
აუცილებელია WireGuard userspace უტილიტების დაყენება. ეს იქნება პაკეტი სახელწოდებით wireguard ან wireguard-tools Linux დისტრიბუციებისთვის.
Ubuntu/Debian-ისთვის:
sudo apt დააინსტალირე მავთულის დაცვა
Fedora-ს გამოსაყენებლად:
sudo dnf დააინსტალირეთ Wireguard-Tools
Arch Linux:
sudo pacman -S wireguard-tools
ეწვიეთ ოფიციალურ WireGuard ვებსაიტს https://www.wireguard.com/install/ დისტრიბუციებისთვის, რომლებიც ზემოთ არ არის ნახსენები.
ან თქვენს Firezone ადმინისტრატორს ან თვითწარმოქმნას შეუძლია მოწყობილობის კონფიგურაციის ფაილის გენერირება Firezone პორტალის გამოყენებით.
ეწვიეთ თქვენს Firezone-ის ადმინისტრატორს მოწოდებული URL-ს, რათა თავად შექმნათ მოწყობილობის კონფიგურაციის ფაილი. თქვენს ფირმას ექნება უნიკალური URL ამისათვის; ამ შემთხვევაში, ეს არის https://instance-id.yourfirezone.com.
[სკრინშოტის ჩასმა]
მოწოდებული კონფიგურაციის ფაილის იმპორტი nmcli-ის გამოყენებით:
sudo nmcli კავშირის იმპორტის ტიპის wireguard ფაილი /path/to/configuration.conf
კონფიგურაციის ფაილის სახელი შეესაბამება WireGuard კავშირს/ინტერფეისს. იმპორტის შემდეგ, საჭიროების შემთხვევაში, კავშირს შეიძლება დაერქვას სახელი:
nmcli კავშირის შეცვლა [old name] connection.id [ახალი სახელი]
ბრძანების ხაზის საშუალებით, დაუკავშირდით VPN-ს შემდეგნაირად:
nmcli კავშირი [vpn სახელი]
გათიშვა:
nmcli კავშირი გაქრა [vpn სახელი]
ქსელის მენეჯერის შესაბამისი აპლეტი ასევე შეიძლება გამოყენებულ იქნას კავშირის სამართავად, თუ იყენებთ GUI-ს.
ავტომატური დაკავშირების ოფციისთვის „დიახ“ არჩევით, VPN კავშირის კონფიგურაცია შესაძლებელია ავტომატურად დასაკავშირებლად:
nmcli კავშირი შეცვალეთ [vpn სახელი] კავშირი. <<<<<<<<<<<<<<<<<<<<<<<<
ავტომატური დაკავშირება დიახ
ავტომატური კავშირის გამორთვისთვის დააბრუნეთ ის No:
nmcli კავშირი შეცვალეთ [vpn სახელი] კავშირი.
ავტომატური დაკავშირება No
MFA-ს გასააქტიურებლად გადადით Firezone პორტალის /user account/register mfa გვერდზე. გამოიყენეთ თქვენი ავთენტიფიკატორი აპი QR კოდის სკანირებისთვის მისი გენერირების შემდეგ, შემდეგ შეიყვანეთ ექვსნიშნა კოდი.
დაუკავშირდით თქვენს ადმინისტრატორს, რათა აღადგინოთ თქვენი ანგარიშის წვდომის ინფორმაცია, თუ არასწორად განათავსებთ ავტორიზაციის აპს.
ეს გაკვეთილი გაგაცნობთ WireGuard-ის გაყოფილი გვირაბის ფუნქციის დაყენების პროცესს Firezone-ით ისე, რომ მხოლოდ კონკრეტული IP დიაპაზონის ტრაფიკი გადაიგზავნება VPN სერვერის მეშვეობით.
IP დიაპაზონი, რომლისთვისაც კლიენტი მარშრუტებს ქსელის ტრაფიკს, მითითებულია ნებადართული IP-ების ველში, რომელიც მდებარეობს /პარამეტრები/ნაგულისხმევ გვერდზე. მხოლოდ ახლად შექმნილ 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 – მხოლოდ 3.5.140.1 – 3.5.143.254 დიაპაზონის IP-ების ტრაფიკი გადაიგზავნება VPN სერვერზე. ამ მაგალითში გამოყენებული იყო CIDR დიაპაზონი ap-northeast-2 AWS რეგიონისთვის.
Firezone ირჩევს გასვლის ინტერფეისს, რომელიც ასოცირდება ყველაზე ზუსტ მარშრუტთან, როდესაც განსაზღვრავს, თუ სად უნდა გაატაროს პაკეტი.
მომხმარებლებმა უნდა განაახლონ კონფიგურაციის ფაილები და დაამატონ ისინი მშობლიურ WireGuard კლიენტში, რათა განაახლონ არსებული მომხმარებლის მოწყობილობები ახალი გაყოფილი გვირაბის კონფიგურაციით.
ინსტრუქციისთვის იხ მოწყობილობის დამატება. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>
ეს სახელმძღვანელო აჩვენებს, თუ როგორ უნდა დააკავშიროთ ორი მოწყობილობა Firezone-ის რელეს გამოყენებით. გამოყენების ერთ-ერთი ტიპიური შემთხვევაა ადმინისტრატორს წვდომა სერვერზე, კონტეინერზე ან მანქანაზე, რომელიც დაცულია NAT-ით ან firewall-ით.
ეს ილუსტრაცია აჩვენებს მარტივ სცენარს, რომელშიც მოწყობილობები A და B აშენებენ გვირაბს.
[ჩადეთ ცეცხლის ზონის არქიტექტურული სურათი]
დაიწყეთ მოწყობილობის A და მოწყობილობის B შექმნით ნავიგაციით /users/[user_id]/new_device. თითოეული მოწყობილობის პარამეტრებში დარწმუნდით, რომ შემდეგი პარამეტრები დაყენებულია ქვემოთ ჩამოთვლილ მნიშვნელობებზე. თქვენ შეგიძლიათ დააყენოთ მოწყობილობის პარამეტრები მოწყობილობის კონფიგურაციის შექმნისას (იხ. მოწყობილობების დამატება). თუ საჭიროა არსებული მოწყობილობის პარამეტრების განახლება, ამის გაკეთება შეგიძლიათ მოწყობილობის ახალი კონფიგურაციის გენერირებით.
გაითვალისწინეთ, რომ ყველა მოწყობილობას აქვს /settings/defaults გვერდი, სადაც შესაძლებელია PersistentKeepalive-ის კონფიგურაცია.
დასაშვებია IP = 10.3.2.2/32
ეს არის B მოწყობილობის IP ან IP-ების დიაპაზონი
PersistentKeepalive = 25
თუ მოწყობილობა დგას NAT-ის უკან, ეს უზრუნველყოფს, რომ მოწყობილობას შეუძლია შეინარჩუნოს გვირაბი ცოცხალი და გააგრძელოს პაკეტების მიღება WireGuard ინტერფეისიდან. ჩვეულებრივ, 25-ის მნიშვნელობა საკმარისია, მაგრამ შეიძლება დაგჭირდეთ ამ მნიშვნელობის შემცირება თქვენი გარემოდან გამომდინარე.
დასაშვებია IP = 10.3.2.3/32
ეს არის მოწყობილობა A-ს IP ან IP-ების დიაპაზონი
PersistentKeepalive = 25
ეს მაგალითი გვიჩვენებს სიტუაციას, როდესაც მოწყობილობა A-ს შეუძლია დაუკავშირდეს მოწყობილობებს B-დან D-მდე ორივე მიმართულებით. ეს კონფიგურაცია შეიძლება წარმოადგენდეს ინჟინერს ან ადმინისტრატორს, რომელსაც აქვს წვდომა მრავალ რესურსზე (სერვერებზე, კონტეინერებზე ან მანქანებზე) სხვადასხვა ქსელში.
[არქიტექტურული დიაგრამა]<<<<<<<<<<<<<<<<<<<<<<<<<
დარწმუნდით, რომ შემდეგი პარამეტრები შესრულებულია თითოეული მოწყობილობის პარამეტრებში შესაბამის მნიშვნელობებზე. მოწყობილობის კონფიგურაციის შექმნისას შეგიძლიათ მიუთითოთ მოწყობილობის პარამეტრები (იხ. მოწყობილობების დამატება). შესაძლებელია მოწყობილობის ახალი კონფიგურაციის შექმნა, თუ არსებული მოწყობილობის პარამეტრების განახლებაა საჭირო.
ნებადართული IPs = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32
ეს არის B-დან D-მდე მოწყობილობების IP. B-დან D-მდე მოწყობილობების IP-ები უნდა იყოს ჩართული ნებისმიერ IP დიაპაზონში, რომლის დაყენებასაც აირჩევთ.
PersistentKeepalive = 25
ეს გარანტიას იძლევა, რომ მოწყობილობას შეუძლია შეინარჩუნოს გვირაბი და გააგრძელოს პაკეტების მიღება WireGuard ინტერფეისიდან მაშინაც კი, თუ ის დაცულია NAT-ით. უმეტეს შემთხვევაში, 25-ის მნიშვნელობა ადეკვატურია, თუმცა თქვენი გარემოდან გამომდინარე, შეიძლება დაგჭირდეთ ამ მაჩვენებლის შემცირება.
იმისათვის, რომ შესთავაზოთ ერთიანი, სტატიკური გასვლის IP IP თქვენი გუნდის მთელი ტრაფიკის გადინებისთვის, Firezone შეიძლება გამოყენებულ იქნას როგორც NAT კარიბჭე. ეს სიტუაციები მოიცავს მის ხშირ გამოყენებას:
საკონსულტაციო ჩართულობა: მოითხოვეთ, რომ თქვენს კლიენტს თეთრ სიაში შესულიყო ერთი სტატიკური IP მისამართი, ვიდრე თითოეული თანამშრომლის უნიკალური მოწყობილობის IP.
პროქსის გამოყენება ან თქვენი წყაროს IP-ის შენიღბვა უსაფრთხოების ან კონფიდენციალურობის მიზნით.
ამ პოსტში იქნება ნაჩვენები Firezone-ზე გაშვებული ერთ თეთრ სიაში შეყვანილ ვებ-აპლიკაციაზე წვდომის შეზღუდვის მარტივი მაგალითი. ამ ილუსტრაციაში Firezone და დაცული რესურსი სხვადასხვა VPC ზონაშია.
ეს გამოსავალი ხშირად გამოიყენება IP თეთრი სიის მართვის ნაცვლად მრავალი საბოლოო მომხმარებლისთვის, რაც შეიძლება შრომატევადი იყოს წვდომის სიის გაფართოებასთან ერთად.
ჩვენი მიზანია დავაყენოთ Firezone სერვერი EC2 მაგალითზე, რათა გადამისამართდეს VPN ტრაფიკი შეზღუდულ რესურსზე. ამ შემთხვევაში, Firezone ემსახურება როგორც ქსელის პროქსი ან NAT კარიბჭე, რათა თითოეულ დაკავშირებულ მოწყობილობას მისცეს უნიკალური საჯარო გასვლის IP.
ამ შემთხვევაში, EC2 ინსტანციას სახელად tc2.micro აქვს მასზე დაინსტალირებული Firezone ინსტანცია. Firezone-ის დანერგვის შესახებ ინფორმაციისთვის გადადით განლაგების სახელმძღვანელოში. AWS-თან დაკავშირებით, დარწმუნდით:
Firezone EC2 ინსტანციის უსაფრთხოების ჯგუფი იძლევა გამავალ ტრაფიკს დაცული რესურსის IP მისამართისკენ.
Firezone ინსტანციას გააჩნია ელასტიური IP. ტრაფიკს, რომელიც გადამისამართებულია Firezone ინსტანციის მეშვეობით გარე მიმართულებებში, ეს იქნება მისი წყარო IP მისამართი. განსახილველი IP მისამართია 52.202.88.54.
[სკრინშოტის ჩასმა]<<<<<<<<<<<<<<<<<<<<<<<<<<
ამ შემთხვევაში დაცულ რესურსს ემსახურება თვითმმართველი ვებ-აპლიკაცია. ვებ აპზე წვდომა შესაძლებელია მხოლოდ IP მისამართიდან 52.202.88.54 მოთხოვნით. რესურსიდან გამომდინარე, შეიძლება საჭირო გახდეს შემომავალი ტრაფიკის დაშვება სხვადასხვა პორტებსა და ტრაფიკის ტიპებზე. ეს არ არის გათვალისწინებული ამ სახელმძღვანელოში.
[სკრინშოტის ჩასმა]<<<<<<<<<<<<<<<<<<<<<<<<<<
გთხოვთ, აცნობოთ მესამე მხარეს, რომელიც პასუხისმგებელია დაცულ რესურსზე, რომ ტრაფიკი სტატიკური IP-დან, რომელიც განსაზღვრულია საფეხურ 1-ში, უნდა იყოს დაშვებული (ამ შემთხვევაში 52.202.88.54).
ნაგულისხმევად, მომხმარებლის მთელი ტრაფიკი გაივლის VPN სერვერს და მოდის სტატიკური IP-დან, რომელიც კონფიგურირებული იყო პირველ ეტაპზე (ამ შემთხვევაში 1). თუმცა, თუ გაყოფილი გვირაბები ჩართულია, შეიძლება საჭირო გახდეს პარამეტრები, რათა დარწმუნდეთ, რომ დაცული რესურსის დანიშნულების IP მითითებულია დაშვებულ IP-ებში.
ქვემოთ ნაჩვენებია კონფიგურაციის ვარიანტების სრული ჩამონათვალი, რომლებიც ხელმისაწვდომია /etc/firezone/firezone.rb.
ვარიანტი | აღწერა | ნაგულისხმევი მნიშვნელობა |
ნაგულისხმევი['firezone']['external_url'] | URL გამოიყენება ამ Firezone ინსტანციის ვებ პორტალზე წვდომისთვის. | „https://#{node['fqdn'] || node['hostname']}” |
ნაგულისხმევი['firezone']['config_directory'] | უმაღლესი დონის დირექტორია Firezone კონფიგურაციისთვის. | /etc/firezone' |
ნაგულისხმევი['firezone']['install_directory'] | უმაღლესი დონის დირექტორია, სადაც უნდა დააინსტალიროთ Firezone. | /opt/firezone' |
ნაგულისხმევი['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'] | ინტერფეისის სახელი, სადაც გვირაბიანი ტრაფიკი გამოვა. ნულის შემთხვევაში, გამოყენებული იქნება მარშრუტის ნაგულისხმევი ინტერფეისი. | nil |
ნაგულისხმევი['firezone']['fips_enabled'] | ჩართეთ ან გამორთეთ OpenSSL FIPs რეჟიმი. | nil |
ნაგულისხმევი['firezone']['logging']['ჩართულია'] | ჩართეთ ან გამორთეთ შესვლა Firezone-ში. დააყენეთ false-ზე, რათა მთლიანად გამორთოთ ჟურნალი. | TRUE |
ნაგულისხმევი['საწარმო']['სახელი'] | სახელი, რომელსაც იყენებს შეფ-მზარეული „საწარმო“ კულინარიული წიგნი. | ცეცხლის ზონა' |
ნაგულისხმევი['firezone']['install_path'] | დააინსტალირეთ გზა, რომელსაც იყენებს შეფ "საწარმო" კულინარიული წიგნი. დაყენებული უნდა იყოს იმავეზე, როგორც install_directory ზემოთ. | node['firezone']['install_directory'] |
ნაგულისხმევი['firezone']['sysvinit_id'] | /etc/inittab-ში გამოყენებული იდენტიფიკატორი. უნდა იყოს 1-4 სიმბოლოსგან შემდგარი უნიკალური თანმიმდევრობა. | SUP' |
ნაგულისხმევი['Firezone']['Authentication']['Local']['ჩართულია'] | ჩართეთ ან გამორთეთ ადგილობრივი ელფოსტის/პაროლის ავტორიზაცია. | TRUE |
ნაგულისხმევი['firezone']['ავთენტიფიკაცია']['auto_create_oidc_users'] | ავტომატურად შექმენით მომხმარებლები, რომლებიც შედიან OIDC-დან პირველად. გამორთეთ, რათა მხოლოდ არსებულ მომხმარებლებს შესულიყვნენ OIDC-ით. | TRUE |
ნაგულისხმევი['firezone']['ავთენტიფიკაცია']['disable_vpn_on_oidc_error'] | გამორთეთ მომხმარებლის VPN, თუ გამოვლინდა შეცდომა მათი OIDC ტოკენის განახლების მცდელობისას. | FALSE |
ნაგულისხმევი['firezone']['ავთენტიფიკაცია']['oidc'] | OpenID Connect კონფიგურაცია, ფორმატში {“პროვაიდერი” => [config…]} – იხ OpenIDConnect დოკუმენტაცია კონფიგურაციის მაგალითებისთვის. | {} |
ნაგულისხმევი['firezone']['nginx']['ჩართულია'] | ჩართეთ ან გამორთეთ შეფუთული nginx სერვერი. | TRUE |
ნაგულისხმევი['firezone']['nginx']['ssl_port'] | HTTPS მოსმენის პორტი. | 443 |
ნაგულისხმევი['firezone']['nginx']['ცნობარი'] | დირექტორია Firezone-თან დაკავშირებული nginx ვირტუალური ჰოსტის კონფიგურაციის შესანახად. | „#{node['firezone']['var_directory']}/nginx/etc“ |
ნაგულისხმევი['firezone']['nginx']['log_directory'] | დირექტორია Firezone-თან დაკავშირებული nginx ჟურნალის ფაილების შესანახად. | „#{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']['ჩართულია'] | TRUE | |
ნაგულისხმევი['firezone']['nginx']['hsts_header']['include_subdomains'] | ჩართეთ ან გამორთეთ includeSubDomains HSTS სათაურისთვის. | TRUE |
ნაგულისხმევი['firezone']['nginx']['hsts_header']['max_age'] | მაქსიმალური ასაკი HSTS სათაურისთვის. | 31536000 |
ნაგულისხმევი['firezone']['nginx']['redirect_to_canonical'] | გადამისამართება თუ არა URL-ების ზემოთ მითითებულ კანონიკურ FQDN-ზე | FALSE |
ნაგულისხმევი['firezone']['nginx']['ქეში']['ჩართულია'] | ჩართეთ ან გამორთეთ Firezone nginx ქეში. | FALSE |
ნაგულისხმევი['firezone']['nginx']['cache']['directory'] | დირექტორია Firezone nginx ქეშისთვის. | "#{node['firezone']['var_directory']}/nginx/cache" |
ნაგულისხმევი['firezone']['nginx']['მომხმარებელი'] | Firezone nginx მომხმარებელი. | კვანძი['firezone']['მომხმარებელი'] |
ნაგულისხმევი['firezone']['nginx']['ჯგუფი'] | 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 ნაგულისხმევი. | nil |
ნაგულისხმევი['firezone']['nginx']['gzip_types'] | MIME ტიპები gzip შეკუმშვის გასააქტიურებლად. | ['text/plain', 'text/css', 'application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/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'] | წამებში ამოიწურება შენარჩუნებული კავშირის ზედა ნაკადის სერვერებთან. | 65 |
ნაგულისხმევი['firezone']['nginx']['worker_processes'] | nginx მუშა პროცესების რაოდენობა. | node['cpu'] && node['cpu']['total'] ? node['cpu']['total']: 1 |
ნაგულისხმევი['firezone']['nginx']['worker_connections'] | ერთდროული კავშირების მაქსიმალური რაოდენობა, რომელიც შეიძლება გაიხსნას მუშა პროცესით. | 1024 |
ნაგულისხმევი['firezone']['nginx']['worker_rlimit_nofile'] | ცვლის მუშა პროცესებისთვის ღია ფაილების მაქსიმალური რაოდენობის ლიმიტს. იყენებს nginx ნაგულისხმევს, თუ არ არის. | nil |
ნაგულისხმევი['firezone']['nginx']['multi_accept'] | უნდა დაეთანხმონ მუშებმა ერთდროულად ერთი კავშირი თუ მრავალჯერ. | TRUE |
ნაგულისხმევი['firezone']['nginx']['event'] | განსაზღვრავს კავშირის დამუშავების მეთოდს nginx მოვლენების კონტექსტში გამოსაყენებლად. | ეპოლ |
ნაგულისხმევი['firezone']['nginx']['server_tokens'] | რთავს ან გამორთავს nginx-ის ვერსიის გამოშვებას შეცდომის გვერდებზე და პასუხის სათაურის ველში „სერვერი“. | nil |
ნაგულისხმევი['firezone']['nginx']['server_names_hash_bucket_size'] | ადგენს თაიგულის ზომას სერვერის სახელების ჰეშის ცხრილებისთვის. | 64 |
ნაგულისხმევი['firezone']['nginx']['sendfile'] | რთავს ან გამორთავს nginx-ის sendfile() გამოყენებას. | ჩართულია ' |
ნაგულისხმევი['firezone']['nginx']['access_log_options'] | აყენებს nginx წვდომის ჟურნალის ვარიანტებს. | nil |
ნაგულისხმევი['firezone']['nginx']['error_log_options'] | აყენებს nginx შეცდომების ჟურნალის ვარიანტებს. | nil |
ნაგულისხმევი['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 ნაგულისხმევი გამოსაყენებლად. | nil |
ნაგულისხმევი['firezone']['nginx']['client_body_buffer_size'] | nginx კლიენტის სხეულის ბუფერის ზომა. დააყენეთ ნულზე nginx ნაგულისხმევი გამოსაყენებლად. | nil |
ნაგულისხმევი['firezone']['nginx']['client_max_body_size'] | nginx კლიენტის სხეულის მაქსიმალური ზომა. | 250 მ' |
ნაგულისხმევი['firezone']['nginx']['default']['modules'] | მიუთითეთ დამატებითი nginx მოდულები. | [] |
ნაგულისხმევი['firezone']['nginx']['enable_rate_limiting'] | ჩართეთ ან გამორთეთ nginx სიჩქარის შეზღუდვა. | TRUE |
ნაგულისხმევი['firezone']['nginx']['rate_limiting_zone_name'] | Nginx სიჩქარის შემზღუდველი ზონის სახელი. | ცეცხლის ზონა' |
ნაგულისხმევი['firezone']['nginx']['rate_limiting_backoff'] | Nginx სიჩქარის შეზღუდვის უკან დახევა. | 10 მ' |
ნაგულისხმევი['firezone']['nginx']['rate_limit'] | Nginx განაკვეთის ლიმიტი. | 10 r/s' |
ნაგულისხმევი['firezone']['nginx']['ipv6'] | მიეცით საშუალება nginx-ს, IPv6-ის გარდა, მოუსმინოს HTTP მოთხოვნებს IPv4-ისთვის. | TRUE |
ნაგულისხმევი['firezone']['postgresql']['ჩართულია'] | ჩართეთ ან გამორთეთ შეფუთული Postgresql. დააყენეთ false-ზე და შეავსეთ მონაცემთა ბაზის პარამეტრები ქვემოთ, რომ გამოიყენოთ თქვენი საკუთარი 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']['effective_cache_size'] | Postgresql ეფექტური ქეშის ზომა. | 128 MB' |
ნაგულისხმევი['firezone']['postgresql']['listen_address'] | Postgresql მოსმენის მისამართი. | 127.0.0.1 " |
ნაგულისხმევი['firezone']['postgresql']['max_connections'] | Postgresql max კავშირები. | 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 გაზიარებული ბუფერის ზომა. | „#{(კვანძი['memory']['total'].to_i / 4) / 1024}MB" |
ნაგულისხმევი['firezone']['postgresql']['shmmax'] | Postgresql shmmax ბაიტებში. | 17179869184 |
ნაგულისხმევი['firezone']['postgresql']['shmall'] | Postgresql shmall ბაიტებში. | 4194304 |
ნაგულისხმევი['firezone']['postgresql']['work_mem'] | Postgresql სამუშაო მეხსიერების ზომა. | 8 MB' |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['მომხმარებელი'] | განსაზღვრავს მომხმარებლის სახელს, რომელსაც Firezone გამოიყენებს DB-თან დასაკავშირებლად. | node['firezone']['postgresql']['username'] |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['პაროლი'] | თუ იყენებთ გარე DB-ს, მიუთითებს პაროლს, რომელსაც Firezone გამოიყენებს DB-თან დასაკავშირებლად. | შემცვალე' |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['სახელი'] | მონაცემთა ბაზა, რომელსაც Firezone გამოიყენებს. შეიქმნება თუ არ არსებობს. | ცეცხლის ზონა' |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['მასპინძელი'] | მონაცემთა ბაზის ჰოსტი, რომელსაც Firezone დაუკავშირდება. | node['firezone']['postgresql']['listen_address'] |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['პორტი'] | მონაცემთა ბაზის პორტი, რომელსაც Firezone დაუკავშირდება. | node['firezone']['postgresql']['port'] |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['pool'] | მონაცემთა ბაზის აუზის ზომა Firezone გამოიყენებს. | [10, Etc.nპროცესორები].მაქს |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['ssl'] | დაკავშირება თუ არა მონაცემთა ბაზასთან SSL-ის საშუალებით. | FALSE |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['ssl_opts'] | {} | |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['პარამეტრები'] | {} | |
ნაგულისხმევი['firezone']['მონაცემთა ბაზა']['გაფართოებები'] | მონაცემთა ბაზის გაფართოებები ჩასართავად. | { 'plpgsql' => true, 'pg_trgm' => true} |
ნაგულისხმევი['firezone']['phoenix']['ჩართულია'] | ჩართეთ ან გამორთეთ Firezone ვებ აპლიკაცია. | TRUE |
ნაგულისხმევი['firezone']['phoenix']['listen_address'] | Firezone ვებ აპლიკაციის მოსმენის მისამართი. ეს იქნება ზედა ნაკადის მოსმენის მისამართი, რომელსაც nginx მარიონეტები ახორციელებს. | 127.0.0.1 " |
ნაგულისხმევი['firezone']['phoenix']['პორტი'] | Firezone ვებ აპლიკაციის მოსმენის პორტი. ეს იქნება ზედა ნაკადის პორტი, რომელსაც nginx აწარმოებს პროქსი. | 13000 |
ნაგულისხმევი['firezone']['phoenix']['log_directory'] | Firezone ვებ აპლიკაციის ჟურნალის დირექტორია. | „#{node['firezone']['log_directory']}/phoenix“ |
ნაგულისხმევი['firezone']['phoenix']['log_rotation']['file_maxbytes'] | Firezone ვებ აპლიკაციის ჟურნალის ფაილის ზომა. | 104857600 |
ნაგულისხმევი['firezone']['phoenix']['log_rotation']['num_to_keep'] | Firezone ვებ აპლიკაციის ჟურნალის ფაილების რაოდენობა შესანახად. | 10 |
ნაგულისხმევი['firezone']['phoenix']['crash_detection']['ჩართულია'] | ჩართეთ ან გამორთეთ Firezone ვებ აპლიკაციის ჩამოგდება, როდესაც ავარია გამოვლინდება. | TRUE |
ნაგულისხმევი['firezone']['phoenix']['external_trusted_proxies'] | სანდო საპირისპირო მარიონეტების სია, რომლებიც ფორმატირებულია IP-ების და/ან CIDR-ების მასივის სახით. | [] |
ნაგულისხმევი['firezone']['phoenix']['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']['ბოლო წერტილი'] | WireGuard Endpoint გამოსაყენებლად მოწყობილობის კონფიგურაციის გენერირებისთვის. თუ ნული, ნაგულისხმევი იქნება სერვერის საჯარო IP მისამართი. | nil |
ნაგულისხმევი['firezone']['wireguard']['dns'] | WireGuard DNS გამოსაყენებლად გენერირებული მოწყობილობის კონფიგურაციისთვის. | 1.1.1.1, 1.0.0.1′ |
ნაგულისხმევი['firezone']['wireguard']['allowed_ips'] | WireGuard AllowedIP-ების გამოყენება გენერირებული მოწყობილობის კონფიგურაციისთვის. | 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']['ქსელი'] | WireGuard ქსელის IPv4 მისამართების აუზი. | 10.3.2.0 / 24 |
ნაგულისხმევი['firezone']['wireguard']['ipv4']['მისამართი'] | WireGuard ინტერფეისის IPv4 მისამართი. უნდა იყოს WireGuard მისამართების აუზში. | 10.3.2.1 " |
ნაგულისხმევი['firezone']['wireguard']['ipv6']['ჩართულია'] | ჩართეთ ან გამორთეთ IPv6 WireGuard ქსელისთვის. | TRUE |
ნაგულისხმევი['firezone']['wireguard']['ipv6']['masquerade'] | ჩართეთ ან გამორთეთ მასკარადი IPv6 გვირაბიდან გამოსული პაკეტებისთვის. | TRUE |
ნაგულისხმევი['firezone']['wireguard']['ipv6']['ქსელი'] | WireGuard ქსელის IPv6 მისამართების აუზი. | fd00::3:2:0/120′ |
ნაგულისხმევი['firezone']['wireguard']['ipv6']['მისამართი'] | WireGuard ინტერფეისის IPv6 მისამართი. უნდა იყოს IPv6 მისამართის აუზში. | fd00::3:2:1′ |
ნაგულისხმევი['firezone']['runit']['svlogd_bin'] | გაუშვით svlogd bin მდებარეობა. | „#{node['firezone']['install_directory']}/embedded/bin/svlogd“ |
ნაგულისხმევი['firezone']['ssl']['directory'] | SSL დირექტორია გენერირებული სერთიფიკატების შესანახად. | /var/opt/firezone/ssl' |
ნაგულისხმევი['firezone']['ssl']['email_address'] | ელფოსტის მისამართი, რომელიც უნდა გამოიყენოთ ხელმოწერილი სერთიფიკატებისთვის და ACME პროტოკოლის განახლების შეტყობინებებისთვის. | you@example.com' |
ნაგულისხმევი['firezone']['ssl']['acme']['ჩართულია'] | ჩართეთ ACME SSL სერთიფიკატის ავტომატური უზრუნველყოფისთვის. გამორთეთ ეს, რათა Nginx-ს არ მოუსმინოს პორტ 80-ზე. იხ აქ დაწკაპუნებით მეტი ინსტრუქციისთვის. | FALSE |
ნაგულისხმევი['firezone']['ssl']['acme']['სერვერი'] | დაშიფვრა | |
ნაგულისხმევი['firezone']['ssl']['acme']['keylength'] | მიუთითეთ გასაღების ტიპი და სიგრძე SSL სერთიფიკატებისთვის. იხ აქ დაწკაპუნებით | ec-256 |
ნაგულისხმევი['firezone']['ssl']['სერთიფიკატი'] | გზა სერტიფიკატის ფაილისკენ თქვენი FQDN-ისთვის. უგულებელყოფს ACME პარამეტრს ზემოთ, თუ მითითებულია. თუ ორივე ACME და ეს ნულის ტოლია, თვით ხელმოწერილი სერთიფიკატი გენერირებული იქნება. | nil |
ნაგულისხმევი['firezone']['ssl']['certificate_key'] | გზა სერტიფიკატის ფაილამდე. | nil |
ნაგულისხმევი['firezone']['ssl']['ssl_dhparam'] | nginx ssl dh_param. | nil |
ნაგულისხმევი['firezone']['ssl']['country_name'] | ქვეყნის სახელი ხელმოწერილი სერთიფიკატისთვის. | ᲩᲕᲔᲜ' |
ნაგულისხმევი['firezone']['ssl']['state_name'] | სახელმწიფო სახელწოდება თვით ხელმოწერილი სერთიფიკატისთვის. | CA ' |
ნაგულისხმევი['firezone']['ssl']['locality_name'] | უბნის სახელი ხელმოწერილი სერტიფიკატისთვის. | Სან ფრანცისკო' |
ნაგულისხმევი['firezone']['ssl']['company_name'] | კომპანიის სახელი ხელმოწერილი სერთიფიკატი. | Ჩემი კომპანია' |
ნაგულისხმევი['firezone']['ssl']['organizational_unit_name'] | ორგანიზაციული ერთეულის სახელი ხელმოწერილი სერტიფიკატისთვის. | Ოპერაციები' |
ნაგულისხმევი['firezone']['ssl']['შიფრები'] | 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:4მ' |
ნაგულისხმევი['firezone']['ssl']['session_timeout'] | SSL სესიის დრო ამოიწურა. | 5 მ' |
ნაგულისხმევი['firezone']['robots_allow'] | nginx რობოტები საშუალებას იძლევა. | /' |
ნაგულისხმევი['firezone']['robots_disallow'] | nginx რობოტები აკრძალულია. | nil |
ნაგულისხმევი['firezone']['outbound_email']['from'] | გამავალი ელფოსტა მისამართიდან. | nil |
ნაგულისხმევი['firezone']['outbound_email']['პროვაიდერი'] | გამავალი ელ.ფოსტის სერვისის პროვაიდერი. | nil |
ნაგულისხმევი['firezone']['outbound_email']['configs'] | გამავალი ელ.ფოსტის პროვაიდერის კონფიგურაციები. | იხილეთ omnibus/cookbooks/firezone/attributes/default.rb |
ნაგულისხმევი['firezone']['telemetry']['ჩართულია'] | ჩართეთ ან გამორთეთ ანონიმური პროდუქტის ტელემეტრია. | TRUE |
ნაგულისხმევი['firezone']['connectivity_checks']['ჩართულია'] | ჩართეთ ან გამორთეთ Firezone კავშირის შემოწმების სერვისი. | TRUE |
ნაგულისხმევი['firezone']['connectivity_checks']['interval'] | კავშირის შემოწმებებს შორის ინტერვალი წამებში. | 3_600 |
________________________________________________________________
აქ ნახავთ ფაილების და დირექტორიების ჩამონათვალს, რომლებიც დაკავშირებულია Firezone-ის ტიპურ ინსტალაციასთან. ეს შეიძლება შეიცვალოს თქვენი კონფიგურაციის ფაილში ცვლილებების მიხედვით.
გზა | აღწერა |
/var/opt/firezone | უმაღლესი დონის დირექტორია, რომელიც შეიცავს მონაცემებს და გენერირებულ კონფიგურაციას Firezone შეფუთული სერვისებისთვის. |
/opt/firezone | უმაღლესი დონის დირექტორია, რომელიც შეიცავს ჩაშენებულ ბიბლიოთეკებს, ბინარებს და სამუშაო დროის ფაილებს, რომლებიც საჭიროა Firezone-ისთვის. |
/usr/bin/firezone-ctl | firezone-ctl პროგრამა თქვენი Firezone ინსტალაციის სამართავად. |
/etc/systemd/system/firezone-runsvdir-start.service | systemd ერთეულის ფაილი Firezone runsvdir ზედამხედველის პროცესის დასაწყებად. |
/ და ა.შ. / firezone | Firezone კონფიგურაციის ფაილები. |
__________________________________________________________
ეს გვერდი ცარიელი იყო დოკუმენტებში
_____________________________________________________________
შემდეგი nftables firewall შაბლონი შეიძლება გამოყენებულ იქნას სერვერის დასაცავად, რომელიც მუშაობს Firezone. შაბლონი აკეთებს გარკვეულ ვარაუდებს; შეიძლება დაგჭირდეთ წესების კორექტირება თქვენი გამოყენების შემთხვევაში:
Firezone აკონფიგურირებს საკუთარ nftables წესებს, რათა დაუშვას/უარყოს ტრაფიკი ვებ-ინტერფეისში კონფიგურირებულ მიმართულებამდე და აწარმოოს გამავალი NAT კლიენტის ტრაფიკისთვის.
ქვემოთ მოცემული firewall-ის შაბლონის გამოყენება უკვე გაშვებულ სერვერზე (არა ჩატვირთვის დროს) გამოიწვევს Firezone წესების გასუფთავებას. ამას შეიძლება ჰქონდეს უსაფრთხოების გავლენა.
ამის გადასაჭრელად გადატვირთეთ ფენიქსის სერვისი:
firezone-ctl გადატვირთეთ phoenix
#!/usr/sbin/nft -f
## გაასუფთავეთ/გაწმინდეთ ყველა არსებული წესი
flush წესების ნაკრები
############################### ცვლადები ################# ###############
## ინტერნეტ/WAN ინტერფეისის სახელი
განსაზღვრეთ DEV_WAN = eth0
## WireGuard ინტერფეისის სახელი
განსაზღვრეთ DEV_WIREGUARD = wg-firezone
## WireGuard მოსმენის პორტი
განსაზღვრეთ WIREGUARD_PORT = 51820
############################# ცვლადები დასასრული ################### ############
# მთავარი ინეტის ოჯახის ფილტრაციის ცხრილი
ცხრილის inet ფილტრი {
გადაგზავნილი ტრაფიკის # წესები
# ეს ჯაჭვი მუშავდება Firezone-ის წინა ჯაჭვის წინ
ჯაჭვი წინ {
აკრიფეთ ფილტრის სამაგრი პრიორიტეტული ფილტრი – 5; პოლიტიკის მიღება
}
# წესები შეყვანის ტრაფიკისთვის
ჯაჭვის შეყვანა {
ტიპის filter hook შეყვანის პრიორიტეტული ფილტრი; პოლიტიკის ვარდნა
## დაუშვით შემომავალი ტრაფიკი loopback ინტერფეისზე
თუ აქ \
მიღება \
კომენტარის "დაუშვას მთელი ტრაფიკი loopback ინტერფეისიდან"
## დამყარებული და დაკავშირებული კავშირების ნებართვა
ct სახელმწიფო შეიქმნა, დაკავშირებული \
მიღება \
კომენტარის „დამყარების/დაკავშირებული კავშირების ნებართვა“
## დაუშვით შემომავალი WireGuard ტრაფიკი
თუ $DEV_WAN udp dport $WIREGUARD_PORT \
მრიცხველი \
მიღება \
კომენტარის "დაუშვით შემომავალი WireGuard ტრაფიკი"
## შედით და ჩამოაგდეთ ახალი TCP არა-SYN პაკეტები
tcp დროშები != სინქრონიზაციის მდგომარეობა ახალი \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალის პრეფიქსი „IN – ახალი !SYN:“ \
კომენტარის „შეფასების ლიმიტის აღრიცხვა ახალი კავშირებისთვის, რომლებსაც არ აქვთ დაყენებული SYN TCP დროშა“
tcp დროშები != სინქრონიზაციის მდგომარეობა ახალი \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „გააგდეთ ახალი კავშირები, რომლებსაც არ აქვთ SYN TCP დროშა დაყენებული“
## ჩაწერეთ და ჩამოაგდეთ TCP პაკეტები არასწორი fin/syn დროშის ნაკრებით
tcp flags & (fin|syn) == (fin|syn) \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალის პრეფიქსი „IN – TCP FIN|SIN:“ \
კომენტარის „TCP პაკეტების შეფასების ლიმიტის აღრიცხვა არასწორი fin/syn დროშის დაყენებით“
tcp flags & (fin|syn) == (fin|syn) \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „ჩააგდეთ TCP პაკეტები არასწორი fin/syn დროშის ნაკრებით“
## შედით და ჩამოაგდეთ TCP პაკეტები არასწორი სინ/პირველი დროშის ნაკრებით
tcp დროშები & (სინ|პირველი) == (სინ|პირველი) \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალის პრეფიქსი „IN – TCP SYN|RST:“ \
კომენტარის „შეფასების ლიმიტის აღრიცხვა TCP პაკეტებისთვის არასწორი სინ/პირველი დროშის ნაკრებით“
tcp დროშები & (სინ|პირველი) == (სინ|პირველი) \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „ჩააგდეთ TCP პაკეტები არასწორი სინ/პირველი დროშის ნაკრებით“
## ჩაწერეთ და ჩამოაგდეთ არასწორი TCP დროშები
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალის პრეფიქსი "IN - FIN:" \
კომენტარის „შეფასების ლიმიტის აღრიცხვა არასწორი TCP დროშებისთვის (fin|syn|rst|psh|ack|urg) < (fin)“
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „ჩააგდეთ TCP პაკეტები დროშებით (fin|syn|rst|psh|ack|urg) < (fin)“
## ჩაწერეთ და ჩამოაგდეთ არასწორი TCP დროშები
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალის პრეფიქსი „IN – FIN|PSH|URG:“ \
კომენტარის „შეფასების ლიმიტის აღრიცხვა არასწორი TCP დროშებისთვის (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „ჩააგდეთ TCP პაკეტები დროშებით (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“
## გააუქმეთ ტრაფიკი არასწორი კავშირის მდგომარეობით
ct არასწორი მდგომარეობა \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალი მონიშნავს ყველა პრეფიქსის "IN - არასწორია:" \
კომენტარის „შეფასების ლიმიტის აღრიცხვა ტრაფიკისთვის არასწორი კავშირის მდგომარეობით“
ct არასწორი მდგომარეობა \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „გაათავისუფლეთ ტრაფიკი კავშირის არასწორი მდგომარეობით“
## დაუშვით IPv4 ping/ping პასუხები, მაგრამ განაკვეთის ლიმიტი 2000 PPS-მდე
ip პროტოკოლი icmp icmp type { echo-reply, echo-მოთხოვნა } \
ლიმიტის მაჩვენებელი 2000/მეორე \
მრიცხველი \
მიღება \
კომენტარის „შემავალი IPv4 ექოს (პინგის) ნებართვა შეზღუდულია 2000 PPS-მდე“
## დაუშვით ყველა სხვა შემომავალი IPv4 ICMP
ip პროტოკოლი icmp \
მრიცხველი \
მიღება \
კომენტარის „დაუშვით ყველა სხვა IPv4 ICMP“
## დაუშვით IPv6 ping/ping პასუხები, მაგრამ განაკვეთის ლიმიტი 2000 PPS-მდე
icmpv6 type { echo-reply, echo-მოთხოვნა } \
ლიმიტის მაჩვენებელი 2000/მეორე \
მრიცხველი \
მიღება \
კომენტარის „შემავალი IPv6 ექოს (პინგის) ნებართვა შეზღუდულია 2000 PPS-მდე“
## დაუშვით ყველა სხვა შემომავალი IPv6 ICMP
meta l4proto { icmpv6 } \
მრიცხველი \
მიღება \
კომენტარის „დაუშვით ყველა სხვა IPv6 ICMP“
## დაუშვით შემომავალი Traceroute UDP პორტები, მაგრამ შეზღუდეთ 500 PPS
udp dport 33434-33524 \
ლიმიტის მაჩვენებელი 500/მეორე \
მრიცხველი \
მიღება \
კომენტარის "დაშვება შემომავალი UDP traceroute შეზღუდულია 500 PPS"
## ნებართვა შემომავალი SSH
tcp dport სშ ct მდგომარეობა ახალი \
მრიცხველი \
მიღება \
კომენტარის "შემავალი SSH კავშირების დაშვება"
## დაუშვით შემომავალი HTTP და HTTPS
tcp dport { http, https } ct ახალი მდგომარეობა \
მრიცხველი \
მიღება \
კომენტარის „შემავალი HTTP და HTTPS კავშირების ნებართვა“
## დაარეგისტრირეთ ნებისმიერი შეუსაბამო ტრაფიკი, მაგრამ შეაფასეთ შესვლა მაქსიმუმ 60 შეტყობინება/წუთამდე
## ნაგულისხმევი პოლიტიკა გამოყენებული იქნება შეუსაბამო ტრაფიკზე
ლიმიტის მაჩვენებელი 60/წუთი აფეთქება 100 პაკეტები \
ჟურნალის პრეფიქსი "IN - ჩამოაგდეს:" \
კომენტარის "დაარეგისტრირეთ ნებისმიერი შეუსაბამო ტრაფიკი"
## დაითვალეთ შეუსაბამო ტრაფიკი
მრიცხველი \
კომენტარის "დაითვალეთ ნებისმიერი შეუსაბამო ტრაფიკი"
}
# წესები გამომავალი ტრაფიკისთვის
ჯაჭვის გამომავალი {
ტიპის filter hook გამომავალი პრიორიტეტული ფილტრი; პოლიტიკის ვარდნა
## დაუშვით გამავალი ტრაფიკი loopback ინტერფეისზე
აჰა
მიღება \
კომენტარის „დაუშვით მთელი ტრაფიკი loopback ინტერფეისზე“
## დამყარებული და დაკავშირებული კავშირების ნებართვა
ct სახელმწიფო შეიქმნა, დაკავშირებული \
მრიცხველი \
მიღება \
კომენტარის „დამყარების/დაკავშირებული კავშირების ნებართვა“
## დაუშვით გამავალი WireGuard ტრაფიკი ცუდი მდგომარეობის მქონე კავშირების გაუქმებამდე
ოიფ $DEV_WAN udp სპორტი $WIREGUARD_PORT \
მრიცხველი \
მიღება \
კომენტარის „WireGuard-ის გამავალი ტრაფიკის ნებართვა“
## გააუქმეთ ტრაფიკი არასწორი კავშირის მდგომარეობით
ct არასწორი მდგომარეობა \
ლიმიტის მაჩვენებელი 100/წუთი აფეთქება 150 პაკეტები \
ჟურნალი მონიშნავს ყველა პრეფიქსის "OUT - არასწორია:" \
კომენტარის „შეფასების ლიმიტის აღრიცხვა ტრაფიკისთვის არასწორი კავშირის მდგომარეობით“
ct არასწორი მდგომარეობა \
მრიცხველი \
ჩამოაგდეს \
კომენტარის „გაათავისუფლეთ ტრაფიკი კავშირის არასწორი მდგომარეობით“
## დაუშვით ყველა სხვა გამავალი IPv4 ICMP
ip პროტოკოლი icmp \
მრიცხველი \
მიღება \
კომენტარის "ყველა IPv4 ICMP ტიპის ნებართვა"
## დაუშვით ყველა სხვა გამავალი IPv6 ICMP
meta l4proto { icmpv6 } \
მრიცხველი \
მიღება \
კომენტარის "ყველა IPv6 ICMP ტიპის ნებართვა"
## დაუშვით გამავალი traceroute UDP პორტები, მაგრამ შეზღუდეთ 500 PPS
udp dport 33434-33524 \
ლიმიტის მაჩვენებელი 500/მეორე \
მრიცხველი \
მიღება \
კომენტარის „გამავალი UDP ტრასერის ნებართვა შეზღუდულია 500 PPS-მდე“
## დაუშვით გამავალი HTTP და HTTPS კავშირები
tcp dport { http, https } ct ახალი მდგომარეობა \
მრიცხველი \
მიღება \
კომენტარის „გამავალი HTTP და HTTPS კავშირების დაშვება“
## გამავალი SMTP წარდგენის ნებართვა
tcp dport წარდგენის ct მდგომარეობა ახალი \
მრიცხველი \
მიღება \
კომენტარის "გამავალი SMTP გაგზავნის ნებართვა"
## გამავალი DNS მოთხოვნების დაშვება
udp dport 53 \
მრიცხველი \
მიღება \
კომენტარის "გამავალი UDP DNS მოთხოვნების დაშვება"
tcp dport 53 \
მრიცხველი \
მიღება \
კომენტარის „გამავალი TCP DNS მოთხოვნების დაშვება“
## გამავალი NTP მოთხოვნების დაშვება
udp dport 123 \
მრიცხველი \
მიღება \
კომენტარის "გამავალი NTP მოთხოვნების დაშვება"
## დაარეგისტრირეთ ნებისმიერი შეუსაბამო ტრაფიკი, მაგრამ შეაფასეთ შესვლა მაქსიმუმ 60 შეტყობინება/წუთამდე
## ნაგულისხმევი პოლიტიკა გამოყენებული იქნება შეუსაბამო ტრაფიკზე
ლიმიტის მაჩვენებელი 60/წუთი აფეთქება 100 პაკეტები \
ჟურნალის პრეფიქსი "OUT - Drop:" \
კომენტარის "დაარეგისტრირეთ ნებისმიერი შეუსაბამო ტრაფიკი"
## დაითვალეთ შეუსაბამო ტრაფიკი
მრიცხველი \
კომენტარის "დაითვალეთ ნებისმიერი შეუსაბამო ტრაფიკი"
}
}
# NAT ფილტრაციის მთავარი ცხრილი
ცხრილი inet nat {
# წესები NAT ტრაფიკის წინასწარი მარშრუტიზაციისთვის
ჯაჭვის წინსვლა {
type nat hook prerouting priority dstnat; პოლიტიკის მიღება
}
# წესები NAT ტრაფიკის მარშრუტიზაციის შემდგომ
# ეს ცხრილი დამუშავებულია Firezone მარშრუტის შემდგომი ჯაჭვის წინ
ჯაჭვის შემდგომი მარშრუტი {
აკრიფეთ nat hook postrouting პრიორიტეტული srcnat – 5; პოლიტიკის მიღება
}
}
Firewall უნდა ინახებოდეს შესაბამის ადგილას Linux დისტრიბუციისთვის, რომელიც მუშაობს. Debian/Ubuntu-სთვის ეს არის /etc/nftables.conf და RHEL-ისთვის ეს არის /etc/sysconfig/nftables.conf.
nftables.service-ს კონფიგურაცია დასჭირდება ჩატვირთვის (თუ უკვე არა) კომპლექტის დასაწყებად:
systemctl ჩართეთ nftables.service
Firewall-ის შაბლონში რაიმე ცვლილების შეტანისას, სინტაქსი შეიძლება დადასტურდეს შემოწმების ბრძანების გაშვებით:
nft -f /path/to/nftables.conf -c
დარწმუნდით, რომ დაადასტურეთ, რომ firewall მუშაობს ისე, როგორც მოსალოდნელია, რადგან nftables-ის გარკვეული ფუნქციები შეიძლება არ იყოს ხელმისაწვდომი სერვერზე გაშვებული გამოშვების მიხედვით.
_______________________________________________________________
ეს დოკუმენტი წარმოგიდგენთ ტელემეტრიის მიმოხილვას, რომელსაც Firezone აგროვებს თქვენი თვითმმართველობის ინსტანციიდან და როგორ გამორთოთ იგი.
ხანძრის ზონა ეყრდნობა ტელემეტრიაზე, რათა მივცეთ პრიორიტეტები ჩვენი საგზაო რუქის და საინჟინრო რესურსების ოპტიმიზაციისთვის, რაც გვაქვს, რათა Firezone უკეთესი გავხადოთ ყველასთვის.
ჩვენ მიერ შეგროვებული ტელემეტრია მიზნად ისახავს უპასუხოს შემდეგ კითხვებს:
არსებობს სამი ძირითადი ადგილი, სადაც ტელემეტრია გროვდება Firezone-ში:
ამ სამი კონტექსტიდან თითოეულში, ჩვენ ვიღებთ მონაცემთა მინიმალურ რაოდენობას, რომელიც აუცილებელია ზემოთ განყოფილებაში მოცემულ კითხვებზე პასუხის გასაცემად.
ადმინისტრატორის ელფოსტა გროვდება მხოლოდ იმ შემთხვევაში, თუ თქვენ პირდაპირ ეთანხმებით პროდუქტის განახლებებს. წინააღმდეგ შემთხვევაში, პერსონალური იდენტიფიცირებადი ინფორმაციაა არასოდეს შეგროვებული.
Firezone ინახავს ტელემეტრიას PostHog-ის თვითმმართველობის მაგალითზე, რომელიც მუშაობს კერძო Kubernetes კლასტერში, ხელმისაწვდომი მხოლოდ Firezone გუნდისთვის. აქ არის ტელემეტრიული მოვლენის მაგალითი, რომელიც გაიგზავნება თქვენი Firezone-ის ინსტანციიდან ჩვენს ტელემეტრიის სერვერზე:
{
წადი: “0182272d-0b88-0000-d419-7b9a413713f1”,
"დროის ნიშანი": “2022-07-22T18:30:39.748000+00:00”,
"მოვლენა": "fz_http_started",
"განსხვავებული_id": “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"თვისებები":{
„$geoip_city_name“: "ეშბერნი",
„$geoip_continent_code“: "NA",
„$geoip_continent_name“: "Ჩრდილოეთ ამერიკა",
„$geoip_country_code“: "ᲩᲕᲔᲜ",
„$geoip_country_name“: "Შეერთებული შტატები",
„$geoip_latitude“: 39.0469,
„$geoip_longitude“: -77.4903,
„$geoip_postal_code“: "20149",
„$geoip_subdivision_1_code“: "VA",
„$geoip_subdivision_1_name“: "ვირჯინია",
„$geoip_time_zone“: "ამერიკა/ნიუ_იორკი",
"$ip": "52.200.241.107",
„$plugins_deferred“: [],
„$plugins_failed“: [],
„$plugins_succeeded“: [
"GeoIP (3)"
],
"განსხვავებული_id": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"fqdn": "awsdemo.firezone.dev",
"kernel_version": "linux 5.13.0",
"ვერსია": "0.4.6"
},
"ელემენტების_ჯაჭვი": ""
}
შენიშვნა
Firezone განვითარების გუნდი ეყრდნობა პროდუქტის ანალიტიკაზე, რათა Firezone უკეთესი გახდეს ყველასთვის. ტელემეტრიის ჩართვის დატოვება არის ყველაზე ღირებული წვლილი, რომელიც შეგიძლიათ გააკეთოთ Firezone-ის განვითარებაში. ამის თქმით, ჩვენ გვესმის, რომ ზოგიერთ მომხმარებელს აქვს უფრო მაღალი კონფიდენციალურობის ან უსაფრთხოების მოთხოვნები და ურჩევნია საერთოდ გამორთოს ტელემეტრია. თუ ეს შენ ხარ, განაგრძე კითხვა.
ტელემეტრია ჩართულია ნაგულისხმევად. პროდუქტის ტელემეტრიის სრულად გამორთვისთვის, დააყენეთ შემდეგი კონფიგურაციის ოფცია false-ზე /etc/firezone/firezone.rb და გაუშვით sudo firezone-ctl reconfigure ცვლილებების შესამოწმებლად.
ნაგულისხმევი["ცეცხლის ზონა"]["ტელემეტრია"]["ჩართულია"] = ყალბი
ეს მთლიანად გამორთავს ყველა პროდუქტის ტელემეტრიას.
Hailbytes
9511 Queens Guard Ct.
დაფნა, MD 20723
ტელ: (732) 771-9995
ფოსტა: info@hailbytes.com