การปรับใช้เซิร์ฟเวอร์ VPN ที่ทำงานร่วมกันได้ AnyConnect ด้วยการตรวจสอบใบรับรองบน ​​CentOS 7

AnyConnect เป็นโซลูชันการเข้าถึงระยะไกลที่พัฒนาโดย Cisco AnyConnect เป็นที่รู้จักกันดีในด้านความสะดวกในการพกพาและความเสถียรโดยเฉพาะอย่างยิ่งความสามารถ DTLS ของ AnyConnect เรากำลังจะใช้เวอร์ชั่นโอเพ่นซอร์สocservซึ่งเข้ากันได้กับโปรโตคอล

เราจะทำการปรับใช้การตรวจสอบใบรับรองด้วย เซิร์ฟเวอร์จะระบุลูกค้าโดยตรวจสอบว่าหากใบรับรองของลูกค้าออกโดย CA ที่กำหนดค่า สิ่งนี้ช่วยให้การกำหนดค่าไคลเอนต์ง่ายขึ้นอย่างมากเนื่องจากเราจะต้องนำเข้าใบรับรองบนไคลเอนต์ (ส่วนใหญ่ไฟล์ pkcs12 ( .pfxหรือ.p12)) และไม่จำเป็นต้องใช้รหัสผ่าน นอกจากนี้ยังมีความปลอดภัยมากขึ้นเนื่องจากไม่มีรหัสผ่านเดินทางผ่านอินเทอร์เน็ต

เริ่มกันเลย.

ข้อกำหนดเบื้องต้น

  • เซิร์ฟเวอร์ CentOS 7 ที่เพิ่งสร้างใหม่ที่เปิดใช้งาน IPv6
  • คอมพิวเตอร์ที่ใช้งานได้ (สามารถเป็นเซิร์ฟเวอร์เองได้เลิกใช้แล้ว (ดูด้านล่าง)) ดูหมายเหตุ 1
  • ลูกค้าบางรายที่ติดตั้งซอฟต์แวร์ไคลเอ็นต์ AnyConnect (หรือ OpenConnect) ติดตั้งดูหมายเหตุ 2

หมายเหตุ:

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

  2. เนื่องจากปัญหาสิทธิ์การใช้งานฉันจะไม่ให้ลิงก์เพื่อดาวน์โหลดซอฟต์แวร์ไคลเอ็นต์ การค้นหาสิ่งเหล่านี้ให้กับลูกค้าของคุณนั้นค่อนข้างง่าย AnyConnect เป็นแอพใน App Stores บนแพลตฟอร์มมือถือหลัก (iOS, Android, BlackBerry OS (v10 ขึ้นไป), UWP) ตามลำดับและการค้นหาง่าย ๆ จะนำมาให้คุณ สำหรับแพลตฟอร์มพีซี Googling จะนำเสนอซอฟต์แวร์ที่เหมาะสมให้คุณ

การติดตั้งซอฟต์แวร์ฝั่งเซิร์ฟเวอร์

เครื่อง CentOS 7 ของ Vultr ได้รับการกำหนดค่าด้วยที่เก็บ EPEL เราเพิ่งติดตั้งocservด้วยyum:

yum update
yum install ocserv

เราจะต้องมีใบรับรองเซิร์ฟเวอร์เพื่อให้สิ่งต่างๆใช้งานได้ หากคุณมีชื่อโดเมน Let's Encrypt จะเป็นตัวเลือกที่ง่ายที่สุด

yum install certbot
certbot certonly

เลือก "หมุนเว็บเซิร์ฟเวอร์ชั่วคราว" เพื่อตรวจสอบสิทธิ์ด้วย ACME CA หากคุณไม่มีโดเมนใบรับรองที่ลงนามเองจะถูกออกให้ในภายหลัง

การสร้างและกำหนดค่าใบรับรอง

PKI ดั้งเดิมค่อนข้างไม่สะดวกในการใช้ดังนั้นเราจะใช้easyrsaยูทิลิตีจากโครงการ OpenVPN ติดตั้ง git บนเครื่องที่ทำงานของคุณและโคลนที่เก็บ:

git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3

เราจะสร้าง CA และออกใบรับรอง ทำสิ่งต่อไปนี้และเขียนข้อความรหัสผ่าน PEM ที่คุณตั้งไว้ที่ไหนสักแห่ง:

./easyrsa init-pki
./easyrsa build-ca

รักษาpki/private/ca.keyความปลอดภัย การรั่วไหลที่จะทำให้โครงสร้างพื้นฐานทั้งหมดของคุณไร้ประโยชน์

หากคุณเลือกที่จะใช้ใบรับรองเซิร์ฟเวอร์ที่ลงนามเองให้ทำดังต่อไปนี้:

./easyrsa gen-req server

และป้อนที่อยู่ IP ของเซิร์ฟเวอร์ของคุณเป็นชื่อสามัญ

./easyrsa sign-req server server

สิ่งนี้จะลงนามใบรับรองสำหรับเซิร์ฟเวอร์ การถ่ายโอนpki/issued/server.crtและpki/ca.crtการ/etc/ssl/certsและpki/private/server.keyการ/etc/ssl/privateบนเซิร์ฟเวอร์ของคุณ

ต่อไปเราจะสร้างใบรับรองลูกค้า ทำดังต่อไปนี้:

./easyrsa gen-req client_01
./easyrsa sign-req client client_01

เลือกชื่อลูกค้าและกรอกลงในช่องชื่อทั่วไป จำข้อความรหัสผ่าน!

ต่อไปเราจะส่งออกใบรับรองในรูปแบบ pkcs12 สำหรับการใช้งานบนแพลตฟอร์มมือถือ ทำ:

./easyrsa export-p12 client_01

เลือกรหัสผ่านการส่งออกซึ่งคุณจะได้รับแจ้งให้ป้อนเมื่อนำเข้าใบรับรองทางโทรศัพท์ ถ่ายโอนpki/private/client_01.p12ไปยังโทรศัพท์ของคุณและนำเข้า

การกำหนดค่าเซิร์ฟเวอร์

เราจะกรอกข้อมูลใบรับรอง

vim /etc/ocserv/ocserv.conf

ค้นหาserver-certส่วนและกรอกข้อมูลต่อไปนี้:

# If you use Let's Encrypt
server-cert = /etc/letsencrypt/live/example.com/fullchain.pem
server-key = /etc/letsencrypt/live/example.com/privkey.pem

# If you use self-signed server certificate 
server-cert = /etc/ssl/certs/server.crt
server-key = /etc/ssl/private/server.key

ca-cert = /etc/ssl/certs/ca.crt

โปรดทราบว่าหากคุณใช้ใบรับรองที่ลงชื่อด้วยตนเองอย่าลืมลบวลีรหัสผ่านก่อนopenssl rsa -in server.key -out server-new.keyเพื่อให้ocservสามารถใช้คีย์ส่วนตัว

ค้นหาauthส่วน เปิดใช้งานบรรทัดนี้:

auth = "certificate"

และคอมเม้นท์authสายอื่น ๆ ทั้งหมด

ยกเลิกการใส่เครื่องหมายบรรทัดนี้:

cert-user-oid = 2.5.4.3

ค้นหาipv6-networkและเติมในบล็อก ipv6 ของเซิร์ฟเวอร์ของคุณ นี่คือบล็อกที่เซิร์ฟเวอร์จะให้เช่า

ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124 

ตั้งค่าเซิร์ฟเวอร์ DNS

dns = 8.8.8.8
dns = 8.8.4.4

เปิดใช้งานความเข้ากันได้กับไคลเอนต์ Cisco

cisco-client-compat = true

เปิดพอร์ตที่คุณตั้งไว้ในtcp-portและudp-portและเปิดใช้งานสวมหน้ากากสำหรับทั้ง IPv4 และ IPv6 ใน firewalld

เริ่มต้นเซิร์ฟเวอร์

systemctl enable ocserv
systemctl start ocserv

ทดสอบเวลา!

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

journalctl -fu ocserv

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

ทุกชุด! เพลิดเพลินกับเซิร์ฟเวอร์ VPN AnyConnect ที่ใช้งานร่วมกันได้ใหม่ของคุณ!

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true