เราเข้ารหัสตาม GOST: คำแนะนำในการตั้งค่าการกำหนดเส้นทางการรับส่งข้อมูลแบบไดนามิก

เราเข้ารหัสตาม GOST: คำแนะนำในการตั้งค่าการกำหนดเส้นทางการรับส่งข้อมูลแบบไดนามิก
หากบริษัทของคุณส่งหรือรับข้อมูลส่วนบุคคลและข้อมูลลับอื่น ๆ ผ่านเครือข่ายที่ได้รับการคุ้มครองตามกฎหมาย ก็จำเป็นต้องใช้การเข้ารหัส GOST วันนี้เราจะบอกคุณว่าเรานำการเข้ารหัสดังกล่าวไปใช้เกตเวย์การเข้ารหัสลับ S-Terra (CS) ของลูกค้ารายหนึ่งได้อย่างไร เรื่องราวนี้จะน่าสนใจสำหรับผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูล เช่นเดียวกับวิศวกร นักออกแบบ และสถาปนิก เราจะไม่เจาะลึกถึงความแตกต่างของการกำหนดค่าทางเทคนิคในโพสต์นี้ เราจะเน้นไปที่ประเด็นสำคัญของการตั้งค่าพื้นฐาน เอกสารจำนวนมากเกี่ยวกับการตั้งค่า Linux OS daemons ซึ่งใช้ S-Terra CS มีให้ใช้งานฟรีบนอินเทอร์เน็ต เอกสารสำหรับการตั้งค่าซอฟต์แวร์ S-Terra ที่เป็นกรรมสิทธิ์ยังมีเผยแพร่ต่อสาธารณะใน พอร์ทัล ผู้ผลิต

คำไม่กี่คำเกี่ยวกับโครงการ

โทโพโลยีเครือข่ายของลูกค้าเป็นแบบมาตรฐาน - แบบตาข่ายเต็มรูปแบบระหว่างศูนย์กลางและสาขา จำเป็นต้องแนะนำการเข้ารหัสช่องทางการแลกเปลี่ยนข้อมูลระหว่างทุกไซต์ซึ่งมี 8 ช่อง

โดยปกติแล้วในโครงการดังกล่าวทุกอย่างจะเป็นแบบคงที่: เส้นทางแบบคงที่ไปยังเครือข่ายท้องถิ่นของไซต์นั้นถูกตั้งค่าบนเกตเวย์เข้ารหัส (CG) รายการที่อยู่ IP (ACL) สำหรับการเข้ารหัสจะถูกลงทะเบียน อย่างไรก็ตาม ในกรณีนี้ ไซต์ไม่มีการควบคุมแบบรวมศูนย์ และอะไรก็ตามสามารถเกิดขึ้นได้ภายในเครือข่ายท้องถิ่นของตน: เครือข่ายสามารถเพิ่ม ลบ และแก้ไขได้ทุกวิถีทางที่เป็นไปได้ เพื่อหลีกเลี่ยงการกำหนดค่าการกำหนดเส้นทางใหม่และ ACL บน KS เมื่อเปลี่ยนที่อยู่ของเครือข่ายท้องถิ่นที่ไซต์จึงตัดสินใจใช้ GRE tunneling และการกำหนดเส้นทางแบบไดนามิก OSPF ซึ่งรวมถึง KS ทั้งหมดและเราเตอร์ส่วนใหญ่ที่ระดับแกนเครือข่ายที่ไซต์ ( ในบางไซต์ ผู้ดูแลระบบโครงสร้างพื้นฐานต้องการใช้ SNAT กับ KS บนเคอร์เนลเราเตอร์)

การขุดอุโมงค์ GRE ช่วยให้เราสามารถแก้ไขปัญหาได้สองประการ:
1. ใช้ที่อยู่ IP ของอินเทอร์เฟซภายนอกของ CS สำหรับการเข้ารหัสใน ACL ซึ่งสรุปการรับส่งข้อมูลทั้งหมดที่ส่งไปยังไซต์อื่น
2. จัดระเบียบอุโมงค์ ptp ระหว่าง CS ซึ่งช่วยให้คุณสามารถกำหนดค่าการกำหนดเส้นทางแบบไดนามิก (ในกรณีของเรา MPLS L3VPN ของผู้ให้บริการถูกจัดระเบียบระหว่างไซต์)

ลูกค้าสั่งให้มีการใช้การเข้ารหัสเป็นบริการ มิฉะนั้น เขาจะต้องไม่เพียงแต่บำรุงรักษาเกตเวย์ crypto หรือจ้างบุคคลภายนอกให้กับองค์กรบางแห่งเท่านั้น แต่ยังต้องตรวจสอบวงจรชีวิตของใบรับรองการเข้ารหัสอย่างอิสระ ต่ออายุตรงเวลา และติดตั้งใบรับรองใหม่
เราเข้ารหัสตาม GOST: คำแนะนำในการตั้งค่าการกำหนดเส้นทางการรับส่งข้อมูลแบบไดนามิก
และตอนนี้บันทึกจริง - อย่างไรและสิ่งที่เรากำหนดค่า

หมายเหตุสำหรับหัวข้อ CII: การตั้งค่าเกตเวย์ crypto

การตั้งค่าเครือข่ายขั้นพื้นฐาน

ก่อนอื่น เราเปิดตัว CS ใหม่และเข้าสู่คอนโซลการดูแลระบบ คุณควรเริ่มต้นด้วยการเปลี่ยนรหัสผ่านผู้ดูแลระบบในตัว - คำสั่ง เปลี่ยนผู้ดูแลระบบรหัสผ่านผู้ใช้. จากนั้นคุณต้องดำเนินการตามขั้นตอนการเริ่มต้น (คำสั่ง ในการเริ่มต้น) ในระหว่างที่ป้อนข้อมูลใบอนุญาตและเตรียมใช้งานเซ็นเซอร์ตัวเลขสุ่ม (RNS)

ให้ความสนใจ! เมื่อเริ่มต้น S-Terra CC นโยบายความปลอดภัยจะถูกสร้างขึ้นโดยที่อินเทอร์เฟซเกตเวย์ความปลอดภัยไม่อนุญาตให้แพ็กเก็ตผ่าน คุณต้องสร้างนโยบายของคุณเองหรือใช้คำสั่ง เรียกใช้ csconf_mgr เปิดใช้งาน เปิดใช้งานนโยบายการอนุญาตที่กำหนดไว้ล่วงหน้า
ถัดไป คุณต้องกำหนดค่าการกำหนดที่อยู่ของอินเทอร์เฟซภายนอกและภายในตลอดจนเส้นทางเริ่มต้น ควรทำงานร่วมกับการกำหนดค่าเครือข่าย CS และกำหนดค่าการเข้ารหัสผ่านคอนโซลที่คล้ายกับ Cisco คอนโซลนี้ออกแบบมาเพื่อป้อนคำสั่งที่คล้ายกับคำสั่ง Cisco IOS ในทางกลับกัน การกำหนดค่าที่สร้างขึ้นโดยใช้คอนโซลที่คล้ายกับ Cisco จะถูกแปลงเป็นไฟล์การกำหนดค่าที่เกี่ยวข้องซึ่ง OS daemons ทำงาน คุณสามารถไปที่คอนโซลที่คล้ายกับ Cisco ได้จากคอนโซลผู้ดูแลระบบด้วยคำสั่ง กำหนดค่า.

เปลี่ยนรหัสผ่านสำหรับผู้ใช้ cscons ในตัวและเปิดใช้งาน:

>เปิดใช้งาน
รหัสผ่าน: csp (ติดตั้งไว้ล่วงหน้า)
#กำหนดค่าเทอร์มินัล
#ชื่อผู้ใช้ cscons สิทธิพิเศษ 15 ความลับ 0 #เปิดใช้งานความลับ 0 การตั้งค่าการกำหนดค่าเครือข่ายพื้นฐาน:

#อินเทอร์เฟซ GigabitEthernet0/0
#ที่อยู่ IP 10.111.21.3 255.255.255.0
#ไม่มีการปิด
#อินเทอร์เฟซ GigabitEthernet0/1
#ที่อยู่ IP 192.168.2.5 255.255.255.252
#ไม่มีการปิด
#เส้นทาง ip 0.0.0.0 0.0.0.0 10.111.21.254

GRE

ออกจากคอนโซลที่คล้ายกับ Cisco และไปที่เชลล์เดเบียนด้วยคำสั่ง ระบบ. ตั้งรหัสผ่านของคุณเองสำหรับผู้ใช้ ราก ทีม passwd.
ในแต่ละห้องควบคุม จะมีการกำหนดค่าอุโมงค์แยกสำหรับแต่ละไซต์ อินเทอร์เฟซทันเนลได้รับการกำหนดค่าในไฟล์ / etc / เครือข่าย / อินเตอร์เฟซ. ยูทิลิตี้ช่องสัญญาณ IP ซึ่งรวมอยู่ในชุด iproute2 ที่ติดตั้งไว้ล่วงหน้า มีหน้าที่ในการสร้างอินเทอร์เฟซเอง คำสั่งการสร้างอินเทอร์เฟซถูกเขียนลงในตัวเลือกล่วงหน้า

ตัวอย่างการกำหนดค่าอินเทอร์เฟซทันเนลทั่วไป:
เว็บไซต์อัตโนมัติ1
iface site1 inet คงที่
ที่อยู่ 192.168.1.4
255.255.255.254 netmask
อุโมงค์ IP ล่วงหน้าเพิ่มโหมด site1 gre ท้องถิ่น 10.111.21.3 ระยะไกล 10.111.22.3 คีย์ hfLYEg ^ vCh6p

ให้ความสนใจ! ควรสังเกตว่าการตั้งค่าสำหรับอินเทอร์เฟซช่องสัญญาณจะต้องอยู่นอกส่วน

###netifcfg-เริ่มต้น###
*****
###netifcfg-end###

มิฉะนั้น การตั้งค่าเหล่านี้จะถูกเขียนทับเมื่อเปลี่ยนการตั้งค่าเครือข่ายของอินเทอร์เฟซทางกายภาพผ่านคอนโซลที่คล้ายกับ Cisco

การกำหนดเส้นทางแบบไดนามิก

ใน S-Terra การกำหนดเส้นทางแบบไดนามิกจะถูกนำมาใช้โดยใช้ชุดซอฟต์แวร์ Quagga ในการกำหนดค่า OSPF เราจำเป็นต้องเปิดใช้งานและกำหนดค่า daemons ม้าลาย и ospfd. zebra daemon มีหน้าที่รับผิดชอบในการสื่อสารระหว่าง routing daemons และระบบปฏิบัติการ ospfd daemon ตามชื่อที่แนะนำ มีหน้าที่รับผิดชอบในการใช้โปรโตคอล OSPF
OSPF ถูกกำหนดค่าผ่านคอนโซล daemon หรือผ่านไฟล์คอนฟิกูเรชันโดยตรง /etc/quagga/ospfd.conf. อินเทอร์เฟซทางกายภาพและช่องสัญญาณทั้งหมดที่เข้าร่วมในการกำหนดเส้นทางแบบไดนามิกจะถูกเพิ่มลงในไฟล์ และเครือข่ายที่จะโฆษณาและรับประกาศก็จะถูกประกาศด้วย

ตัวอย่างการกำหนดค่าที่ต้องเพิ่ม ospfd.conf:
อินเทอร์เฟซ eth0
!
อินเทอร์เฟซ eth1
!
อินเทอร์เฟซไซต์1
!
อินเทอร์เฟซไซต์2
เราเตอร์ ospf
รหัสเราเตอร์ ospf 192.168.2.21
เครือข่าย 192.168.1.4/31 พื้นที่ 0.0.0.0
เครือข่าย 192.168.1.16/31 พื้นที่ 0.0.0.0
เครือข่าย 192.168.2.4/30 พื้นที่ 0.0.0.0

ในกรณีนี้ ที่อยู่ 192.168.1.x/31 ได้รับการสงวนไว้สำหรับเครือข่ายทันเนล ptp ระหว่างไซต์ ส่วนที่อยู่ 192.168.2.x/30 ได้รับการจัดสรรสำหรับเครือข่ายการรับส่งระหว่าง CS และเราเตอร์เคอร์เนล

ให้ความสนใจ! เพื่อลดตารางเส้นทางในการติดตั้งขนาดใหญ่ คุณสามารถกรองโฆษณาของเครือข่ายการขนส่งสาธารณะได้โดยใช้โครงสร้าง ไม่มีการเชื่อมต่อการแจกจ่ายซ้ำ หรือ แจกจ่ายแผนที่เส้นทางที่เชื่อมต่อกัน.

หลังจากกำหนดค่า daemons แล้ว คุณจะต้องเปลี่ยนสถานะการเริ่มต้นของ daemons /etc/quagga/daemons. ในตัวเลือก ม้าลาย и ospfd ไม่มีการเปลี่ยนแปลงเป็นใช่ เริ่มต้น quagga daemon และตั้งค่าให้ทำงานอัตโนมัติเมื่อคุณเริ่มคำสั่ง KS เปิดใช้งาน update-rc.d quagga.

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

เราเข้ารหัสการรับส่งข้อมูลที่ส่ง

ตามที่เขียนไว้แล้ว โดยปกติเมื่อมีการเข้ารหัสระหว่างไซต์ เราจะระบุช่วงที่อยู่ IP (ACL) ระหว่างการรับส่งข้อมูลที่ถูกเข้ารหัส: หากที่อยู่ต้นทางและปลายทางอยู่ภายในช่วงเหล่านี้ การรับส่งข้อมูลระหว่างที่อยู่เหล่านั้นจะถูกเข้ารหัส อย่างไรก็ตาม ในโครงการนี้ โครงสร้างจะเป็นแบบไดนามิกและที่อยู่อาจมีการเปลี่ยนแปลง เนื่องจากเราได้กำหนดค่า GRE tunneling แล้ว เราจึงสามารถระบุที่อยู่ KS ภายนอกเป็นที่อยู่ต้นทางและปลายทางสำหรับการเข้ารหัสการรับส่งข้อมูลได้ ท้ายที่สุดแล้ว การรับส่งข้อมูลที่ถูกห่อหุ้มด้วยโปรโตคอล GRE แล้วจะมาถึงเพื่อทำการเข้ารหัส กล่าวอีกนัยหนึ่ง ทุกสิ่งที่เข้าสู่ CS จากเครือข่ายท้องถิ่นของไซต์หนึ่งไปยังเครือข่ายที่ประกาศโดยไซต์อื่น ๆ จะถูกเข้ารหัส และภายในแต่ละไซต์ สามารถเปลี่ยนเส้นทางได้ ดังนั้นหากมีการเปลี่ยนแปลงในเครือข่ายท้องถิ่น ผู้ดูแลระบบเพียงแต่ต้องแก้ไขประกาศที่มาจากเครือข่ายของเขาไปยังเครือข่าย และจะพร้อมใช้งานสำหรับไซต์อื่น ๆ

การเข้ารหัสใน S-Terra CS ดำเนินการโดยใช้โปรโตคอล IPSec เราใช้อัลกอริทึม "ตั๊กแตน" ตาม GOST R 34.12-2015 และเพื่อให้เข้ากันได้กับเวอร์ชันเก่าคุณสามารถใช้ GOST 28147-89 ในทางเทคนิคการรับรองความถูกต้องสามารถทำได้ทั้งบนคีย์ที่กำหนดไว้ล่วงหน้า (PSK) และใบรับรอง อย่างไรก็ตามในการดำเนินอุตสาหกรรมจำเป็นต้องใช้ใบรับรองที่ออกตาม GOST R 34.10-2012

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

หลังจากติดตั้งใบรับรองสำเร็จแล้ว ให้ไปที่คอนโซลที่คล้ายกับ Cisco เพื่อกำหนดค่า IPSec
เราสร้างนโยบาย IKE ที่ระบุอัลกอริธึมและพารามิเตอร์ที่ต้องการของช่องทางที่ปลอดภัยที่กำลังสร้าง ซึ่งจะนำเสนอต่อพันธมิตรเพื่อขออนุมัติ

#นโยบายการเข้ารหัสลับ isakmp 1000
#encr gost341215k
#แฮช gost341112-512-tc26
#ป้ายรับรอง
#กรุ๊ปvko2
#ตลอดชีพ3600

นโยบายนี้ใช้เมื่อสร้างเฟสแรกของ IPSec ผลสำเร็จในระยะแรกคือการจัดตั้ง SA (Security Association)
ต่อไป เราต้องกำหนดรายการที่อยู่ IP ต้นทางและปลายทาง (ACL) สำหรับการเข้ารหัส สร้างชุดการแปลง สร้างแผนที่การเข้ารหัส (แผนที่การเข้ารหัส) และผูกเข้ากับอินเทอร์เฟซภายนอกของ CS

ตั้งค่า ACL:
#ip ไซต์ขยายรายการเข้าถึง1
#permit gre โฮสต์ 10.111.21.3 โฮสต์ 10.111.22.3

ชุดของการแปลง (เช่นเดียวกับระยะแรก เราใช้อัลกอริธึมการเข้ารหัส "Grasshopper" โดยใช้โหมดการสร้างการแทรกการจำลอง):

#crypto ipsec ตั้งค่าการแปลง GOST esp-gost341215k-mac

เราสร้างแผนที่เข้ารหัส ระบุ ACL ชุดการแปลง และที่อยู่เพียร์:

#แผนที่ crypto หลัก 100 ipsec-isakmp
#จับคู่ที่อยู่ไซต์1
#ชุดแปลงร่าง-ชุดGOST
#ตั้งค่าเพียร์ 10.111.22.3

เราผูกบัตร crypto เข้ากับอินเทอร์เฟซภายนอกของเครื่องบันทึกเงินสด:

#อินเทอร์เฟซ GigabitEthernet0/0
#ที่อยู่ IP 10.111.21.3 255.255.255.0
#แผนที่ crypto หลัก

ในการเข้ารหัสช่องกับไซต์อื่น คุณต้องทำซ้ำขั้นตอนในการสร้าง ACL และการ์ดเข้ารหัสลับ โดยเปลี่ยนชื่อ ACL ที่อยู่ IP และหมายเลขการ์ดเข้ารหัส

ให้ความสนใจ! หากไม่ได้ใช้การตรวจสอบใบรับรองโดย CRL จะต้องระบุสิ่งนี้อย่างชัดเจน:

#จุดเชื่อถือ crypto pki s-terra_technological_trustpoint
#การเพิกถอน-ตรวจสอบไม่มี

ณ จุดนี้ ถือว่าการตั้งค่าเสร็จสมบูรณ์แล้ว ในเอาต์พุตคำสั่งคอนโซลเหมือน Cisco แสดง crypto isakmp sa и แสดง crypto ipsec sa ระยะที่หนึ่งและสองที่สร้างขึ้นของ IPSec ควรสะท้อนให้เห็น ข้อมูลเดียวกันสามารถรับได้โดยใช้คำสั่ง การแสดง sa_mgrดำเนินการจากเดเบียนเชลล์ ในเอาต์พุตคำสั่ง แสดง cert_mgr ใบรับรองไซต์ระยะไกลควรปรากฏขึ้น สถานะของใบรับรองดังกล่าวจะเป็น รีโมท. หากไม่ได้สร้างอุโมงค์ คุณต้องดูบันทึกบริการ VPN ซึ่งจัดเก็บไว้ในไฟล์ /var/log/cspvpngate.log. รายการไฟล์บันทึกทั้งหมดพร้อมคำอธิบายเนื้อหามีอยู่ในเอกสารประกอบ

การตรวจสอบ "สุขภาพ" ของระบบ

S-Terra CC ใช้ snmpd daemon มาตรฐานสำหรับการตรวจสอบ นอกเหนือจากพารามิเตอร์ Linux ทั่วไปแล้ว S-Terra ยังรองรับการออกข้อมูลเกี่ยวกับอุโมงค์ IPSec ตาม CISCO-IPSEC-FLOW-MONITOR-MIB ซึ่งเป็นสิ่งที่เราใช้ในการตรวจสอบสถานะของอุโมงค์ IPSec นอกจากนี้ยังรองรับฟังก์ชันการทำงานของ OID แบบกำหนดเองที่ส่งออกผลลัพธ์ของการเรียกใช้สคริปต์ตามค่าต่างๆ คุณลักษณะนี้ช่วยให้เราสามารถติดตามวันหมดอายุของใบรับรองได้ สคริปต์ที่เขียนจะแยกวิเคราะห์เอาต์พุตคำสั่ง แสดง cert_mgr และเป็นผลให้ระบุจำนวนวันจนกว่าใบรับรองในเครื่องและใบรับรองหลักจะหมดอายุ เทคนิคนี้เป็นสิ่งที่ขาดไม่ได้เมื่อต้องดูแล CABG จำนวนมาก
เราเข้ารหัสตาม GOST: คำแนะนำในการตั้งค่าการกำหนดเส้นทางการรับส่งข้อมูลแบบไดนามิก

ประโยชน์ของการเข้ารหัสดังกล่าวคืออะไร?

ฟังก์ชั่นทั้งหมดที่อธิบายไว้ข้างต้นได้รับการสนับสนุนตั้งแต่แกะกล่องโดย S-Terra KSh นั่นคือไม่จำเป็นต้องติดตั้งโมดูลเพิ่มเติมใดๆ ที่อาจส่งผลต่อการรับรองเกตเวย์ crypto และการรับรองระบบข้อมูลทั้งหมด สามารถมีช่องทางใดก็ได้ระหว่างไซต์ต่างๆ แม้กระทั่งผ่านทางอินเทอร์เน็ต

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

แน่นอนว่าการเข้ารหัสเนื่องจากต้นทุนค่าโสหุ้ย (โอเวอร์เฮด) ส่งผลต่อความเร็วการถ่ายโอนข้อมูล แต่เพียงเล็กน้อยเท่านั้น - ปริมาณงานของช่องสัญญาณสามารถลดลงได้สูงสุด 5-10% ขณะเดียวกันเทคโนโลยีได้รับการทดสอบและแสดงผลลัพธ์ที่ดีแม้ในช่องสัญญาณดาวเทียมซึ่งค่อนข้างไม่เสถียรและมีแบนด์วิธต่ำ

Igor Vinokhodov วิศวกรของสายที่ 2 ของการบริหาร Rostelecom-Solar

ที่มา: will.com

เพิ่มความคิดเห็น