application program for securing backup configuration data ...miss... · 3.6.1.5 ไฟล์...
TRANSCRIPT
โปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขาย ดวยวธการทมนคงปลอดภย
Application Program for Securing Backup Configuration Data of Network Devices
สรพงษ เกตเพง
สารนพนธนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาความมนคงทางระบบสารสนเทศ
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2560
I
หวขอ โปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวย
วธการทมนคงปลอดภย
ชอนกศกษา สรพงษ เกตเพง รหสนกศกษา 5717810004 หลกสตร วทยาศาสตรมหาบณฑต สาขาวชาความมนคงทาง
ระบบสารสนเทศ
ปการศกษา 2560 อาจารยทปรกษา ผศ.ดร.วรพล ลลาเกยรตสกล และดร.โสฬส พานชปรชา
บทคดยอ
โปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวยวธการทมนคงปลอดภย พฒนาขนเพอใชเปนเครองมอชวยในการน าขอมล Configuration ของอปกรณเครอขายจากระยะไกลมาจดเกบรกษาใหมความมนคงปลอดภย โดยพฒนาใหรองรบอปกรณประเภท Router และ Switch ของ Cisco สาเหตในการพฒนาเนองจากผพฒนาเหนวาขอมล Configuration นนมเนอหาหลายๆ สวนทส าคญมากทควรจะตองเกบเปนความลบซงในระบบเดมจดเกบขอมลเหลานในรปแบบทเปดอานไดงาย (Clear Text) และกอนน าไปใชกไมสามารถตรวจสอบไดวาขอมลนนถกเปลยนแปลงแกไขมากอนหรอไม ดงนนจงไดพฒนาโปรแกรมนเพอใชแกปญหาของระบบเดม โดยการน าเอาวทยาการรหสลบและการลงลายมอชอดจทลมาประยกตใชในดานการลงลายมอชอรบรองขอมล (Sign) การเขารหสลบขอมล (Encryption) Configuration กอนทจะน าไปเกบส ารองไว (Backup) ใหเปนหมวดหมและลงบนทกรายงานการส ารองขอมลไวในระบบฐานขอมล หากตองเรยกใชขอมลทเกบส ารองไว โปรแกรมจะท าการถอดรหสลบของขอมล (Decryption) และตรวจสอบ (Verify) ความถกตองแทจรงของขอมล Configuration จากลายมอชอดจทลกอนน าใชงานตอ ผใชสามารถเลอกไดวาจะน า Configuration ทถอดรหสลบไดนไปท าการตงคาใหกบอปกรณทตองการแบบอตโนมตเลยทนทกได โดยโปรแกรมนจะสงค าสงตาง ๆ ไปทอปกรณทผใชระบใหผานโพรโทคอล SSH ซงเปนโพรโทคอลทมความมนคงปลอดภย จะเหนไดวาโปรแกรมไดพฒนาออกมาใหท างานในดานการน าขอมล Configuration กลบมาการจดเกบส ารองไว และการจดสงไปใชงาน ลวนแลวแตเปนวธการทมนคงปลอดภยทงสน จากการทดลองใชงานพบวาโปรแกรมสามารถท างานไดอยางดตามขอบเขตและวตถประสงคทก าหนดไว
II
กตตกรรมประกาศ
สารนพนธนไดพฒนาจนส าเรจดวยด เพราะความกรณา ความชวยเหลอ และก าลงใจจากหลายคน ขาพเจาขอขอบพระคณมา ณ ทน
ขอขอบพระคณ ดร.โสฬส พานชปรชา อาจารยทปรกษาโครงงานในชวงแรกเรมทกรณาเสยสละเวลาใหค าแนะน าและคอยตรวจสอบโครงงานอยสม าเสมอ อกทงยงใหก าลงใจ และแนะน าตวอยางการท างานทด ๆ มาใหมากมาย
ขอขอบพระคณ ผศ.ดร.วรพล ลลาเกยรตสกล อาจารยทปรกษาโครงงานในชวงตอมาทกรณาเสยสละเวลาใหค าแนะน าและคอยตรวจสอบโครงงานอยสม าเสมอ พรอมกนนยงใหก าลงใจ และใหแนวคดในการใชชวตทงตอตนเอง ครอบครว และสงคม
ขอขอบพระคณอาจารยทก ๆ ทานทชวยประสทธประสาทวชาความรแกขาพเจาตงแตขาพเจาเขามาศกษาในทแหงน ขอบคณก าลงใจจากอาจารยทกทานทท าใหขาพเจาพฒนาโครงงานนใหส าเรจไปไดดวยด
ขอขอบคณพ ๆ เพอน ๆ ตลอดจนผทมไดกลาวถงทกคนทชวยสงสอน ใหค าแนะน าในยามทโปรแกรมมปญหาและเปนก าลงใจในยามยอทอ
และสดทายนขอบบดา มารดา และคณครอบครวส าหรบทกสงทกอยางในชวต
สรพงษ เกตเพง พฤษภาคม 2561
III
สารบญ หนา
บทคดยอ ............................................................................................................................................. I กตตกรรมประกาศ.............................................................................................................................. II สารบญ .............................................................................................................................................. III สารบญรป ......................................................................................................................................... V
สารบญตาราง ................................................................................................................................... IX
บทท 1 บทน า ................................................................................................................................... 1
1.1 ปญหาและแรงจงใจ .................................................................................................... 1
1.2 วตถประสงคของโครงงาน ........................................................................................... 2
1.3 ขอบเขตของโครงงาน ................................................................................................. 2
1.4 โครงสรางการท างานของระบบโดยรวม ...................................................................... 3
1.5 ประโยชนทคาดวาจะไดรบ.......................................................................................... 3
1.6 โครงสรางของสารนพนธ ............................................................................................. 4
บทท 2 พนฐานและทฤษฎทเกยวของ ............................................................................................... 5
2.1 วทยาการเขารหสลบ (Cryptography) ....................................................................... 5
2.2 เทคโนโลยโครงสรางพนฐานกญแจสาธารณะ (Public Key Infrastructure หรอ PKI) ....................................................................................................................................... 15
2.3 โพรโทคอลซเคยวเชลล (Secure Shell หรอ SSH) .................................................. 20
2.4 โปรแกรม rConfig .................................................................................................... 21
บทท 3 การด าเนนงาน .................................................................................................................... 23
3.1 รายละเอยดและโครงสรางของโปรแกรม .................................................................. 23
3.2 ขนตอนการพฒนาโปรแกรม ..................................................................................... 33
3.3 โพรโทคอลและวทยาการเขารหสลบทใช .................................................................. 34
3.4 การบรหารจดการกญแจ (Key Management) และคา Initialization Vector (IV) 35
3.5 แผนผงการท างานของโปรแกรม ............................................................................... 36
3.6 การจดการไฟลขอมล ................................................................................................ 50
IV
สารบญ (ตอ) หนา
3.7 โครงสรางของพนทจดเกบขอมล ............................................................................... 51
3.8 การเกบรายงาน ........................................................................................................ 52
3.9 การน าคา Configuration ไปใชงาน ......................................................................... 53
3.10 สรป ........................................................................................................................ 54
บทท 4 ผลการด าเนนงาน ............................................................................................................... 55
4.1 ผลการพฒนาโปรแกรม ............................................................................................. 55
4.2 วธการทดลอง ........................................................................................................... 55
4.3 สภาพแวดลอมของการทดลอง ................................................................................. 55
4.4 ผลการทดลอง ........................................................................................................... 60
4.5 สรป .......................................................................................................................... 86
บทท 5 สรปผลการด าเนนงาน ........................................................................................................ 87
5.1 ผลการด าเนนงาน ..................................................................................................... 87
5.2 ปญหาและอปสรรค .................................................................................................. 88
5.3 แนวทางการพฒนา ................................................................................................... 88
เอกสารอางอง ................................................................................................................................. 89
ภาคผนวก........................................................................................................................................ 90
ภาคผนวก ก .................................................................................................................... 91
ภาคผนวก ข .................................................................................................................... 96
V
สารบญรป หนา
รปท 2-1 การเขารหสลบและถอดรหสลบดวยระบบรหสลบแบบสมมาตร ......................................... 6
รปท 2-2 แสดงการเขารหสลบโหมด Electronic Codebook .......................................................... 8
รปท 2-3 การท างานของโหมด Cipher Block Chaining ............................................................... 9
รปท 2-4 การท างานของโหมด Cipher Feedback ........................................................................ 10
รปท 2-5 การท างานของโหมด Output Feedback ....................................................................... 11
รปท 2-6 การท างานของโหมด Counter ........................................................................................ 12
รปท 2-7 การเขาและถอดรหสลบดวยระบบรหสแบบอสมมาตร ..................................................... 12
รปท 2-8 การออกใบรบรองดจทล ................................................................................................... 17
รปท 2-9 การตรวจสอบใบรบรองดจทล .......................................................................................... 17
รปท 2-10 ตวอยางใบรบรองดจทล และชดขอมลภายในใบรบรองตามมาตรฐาน X.509 ................ 18
รปท 2-11 กระบวนการลงลายมอชอดจทล (Sign) .......................................................................... 19
รปท 2-12 กระบวนการตรวจสอบความถกตองของขอมลจากลายมอชอดจทล (Verify) ................. 19
รปท 3-1 ภาพรวมการท างานของโปรแกรม .................................................................................... 23
รปท 3-2 การท างานสวนของการเกบคา Configuration จากอปกรณมาเขารหสลบและจดเกบ .... 25
รปท 3-3 การท างานสวนของการเรยกใชคา Configuration ทเกบไวมาถอดรหสลบ ...................... 27
รปท 3-4 การลงลายมอชอดจทลใหคา Configuration ................................................................... 29
รปท 3-5 การเขารหสลบคา Configuration ................................................................................... 30
รปท 3-6 การเปรยบเทยบคา Message Digest ของไฟลบบอด...................................................... 30
รปท 3-7 การเขารหสลบคากญแจลบ .............................................................................................. 31
รปท 3-8 การถอดรหสลบเพอเอากญแจลบ .................................................................................... 31
รปท 3-9 การถอดรหสลบคา Configuration ................................................................................. 31
รปท 3-10 การตรวจสอบความถกตองของคา Configuration จากลายมอชอดจทล ....................... 32
รปท 3-11 การตรวจสอบ Digital Certificate ของผใชงาน ............................................................ 33
รปท 3-12 การตรวจสอบ Digital Certificate และการน าคา Asymmetric key เขาระบบ ........... 37
รปท 3-13 น าเขาคา Private key สราง Secret key และคา IV .................................................... 38
รปท 3-14 การเชอมตอไปยงอปกรณเครอขายตามเพอเกบคา Configuration ............................... 39
รปท 3-15 การเขารหสลบคา Configuration ................................................................................. 40
รปท 3-16 การจดเกบรวมรวมไฟลคา IV ไฟลทเขารหสลบแลว และไฟลรายมอชอดจทล ............... 42
VI
สารบญรป (ตอ) หนา
รปท 3-17 การจดเกบบนทกรายงานการท ารายการเกบส ารองคา Configuration ......................... 43
รปท 3-18 การตรวจสอบขอมลคา Message digest ...................................................................... 46
รปท 3-19 การตรวจสอบ Digital Certificate และการถอดรหสลบคา Secret key ...................... 47
รปท 3-20 การถดรหสลบไฟลคา Configuration เพอน าไปใชงาน ................................................. 48
รปท 3-21 การเรยกรายงานออกมาแสดงผล ................................................................................... 50
รปท 4-1 อปกรณ Router จ าลอง .................................................................................................. 56
รปท 4-2 เวอรชนของ IOS ทใชในการทดลอง ................................................................................. 56
รปท 4-3 แผนผงระบบเครอขายทท าการทดสอบและหมายเลขไอพทก าหนด ................................. 57
รปท 4-4 การเชอมตอเครอขายของ GNS3 กบระบบเครอขายของ VMWare Player .................... 58
รปท 4-5 หนาจอแสดงขอความตอนรบของโปรแกรม Crypt Config .............................................. 59
รปท 4-6 ทดสอบสถานะการเชอมตอดวยค าสง Ping ...................................................................... 59
รปท 4-7 ทดสอบสถานะการเชอมตอดวยค าสง Telnet ................................................................. 60
รปท 4-8 หนาจอ Help ของโปรแกรมหลก ..................................................................................... 61
รปท 4-9 หนาเจอ Help ของโปรแกรมยอย .................................................................................... 61
รปท 4-10 หนาจอลงทะเบยนผใชงาน ............................................................................................ 62
รปท 4-11 หนาจอแสดงผลการเกบส ารองคา Configuration ของ Router ................................... 63
รปท 4-12 ผลการตดตงโปรแกรมบน Fedora ................................................................................ 64
รปท 4-13 การสงโปรแกรมใหท าการเกบส ารองคา Configuration ของ Switch ........................... 64
รปท 4-14 ผลการสงโปรแกรมใหเกบส ารองคา Configuration ของ Switch ................................. 65
รปท 4-15 ผลการสงโปรแกรมใหถอดรหสลบคา Configuration ของ Switch ............................... 65
รปท 4-16 ผลการเปรยบเทยบคา Configuration ของ Switch ..................................................... 66
รปท 4-17 หนาจอผลตรวจ Digital Certificate ............................................................................. 66
รปท 4-18 คา Configuration ทเขารหสลบแลว............................................................................. 66
รปท 4-19 แสดงบนทกรายงานการส ารองขอมลรายการลาสด ........................................................ 67
รปท 4-20 การก าหนดรายการอปกรณเครอขายทจะท าการเกบส ารองคา Configuration ในไฟล . 67
รปท 4-21 การสงใหโปรแกรมท าการรบคาหมายเลขไอพจากไฟลทก าหนดโดยผใช ........................ 68
รปท 4-22 แสดงโปรแกรมท างานการเกบส ารองขอมลคา Configuration ตอไดเนองเมออปกรณกอนหนาเสรจสน .................................................................................................................................... 68
VII
สารบญรป (ตอ) หนา
รปท 4-23 การตงใหโปแกรมท างานการเกบส ารองขอมลแบบอตโนมตตามเวลาทก าหนดดวยการใช crontab .......................................................................................................................................... 69
รปท 4-24 ผลการท างานของโปรแกรมตามทตงเวลาไว .................................................................. 69
รปท 4-25 ผลการ Backup คา Configuration ตามเวลาแบบอตโนมต ......................................... 70
รปท 4-26 หนาจอแสดงผลการถอดรหสลบคา Configuration ...................................................... 71
รปท 4-27 ผลเปรยบเทยบคา Configuration ................................................................................ 71
รปท 4-28 การเชอมตอจาก PC1 ไปหมายเลขไอพ 10.1.2.3 .......................................................... 72
รปท 4-29 ผลการส ารองคา Configuration ของ Router PKT ...................................................... 73
รปท 4-30 ค าสงลบรายการคา Routing ของของหมายเลขไอพ 10.1.2.3 ...................................... 73
รปท 4-31 แสดงการเชอมตอจาก PC1 ขาดจากหมายเลขไอพ 10.1.2.3 ........................................ 74
รปท 4-32 แสดงผลการถอดรหสลบคา Configuration ของรายการการเกบส ารองล าดบท 248 ... 75
รปท 4-33 แสดงผลการสงค าสงเสรจสน และไดรบผลลพธจากค าสงเรยกดคา Interface ของอปกรณ ........................................................................................................................................................ 75
รปท 4-34 หนาจอ Console ทแสดงค าสงทสงมาจากโปรแกรม ..................................................... 76
รปท 4-35 การเชอมตอระหวาง PC1 และหมายเลขไอพ 10.1.2.3 กลบมาปกต ............................. 76
รปท 4-36 แสดงคาเบองตนทเตรยมไวบน Router Spare .............................................................. 77
รปท 4-37 การเชอมตอระหวาง PC1 กบ Router BKK ขาดหายเมออปกรณ Router ถกปด ......... 78
รปท 4-38 ผลการถอดรหสลบคา Configuration ของรายการท 247 ............................................ 78
รปท 4-39 แสดงค าสงท Router Spareไดรบ ................................................................................. 79
รปท 4-40 หนาจอ Console ของ Router Spare และคา Configuration ทไดรบมา ................... 80
รปท 4-41 แสดงผลการใชค าสง show ip interface brief ผานโปรแกรม Crypt Config.............. 80
รปท 4-42 ผลของค าสง Ping จาก PC1 ไปยงหมายเลขไอพ 172.16.1.253 ทอยบน Router spare อนทไดถกตงคาใหใชแทน Router BKK .......................................................................................... 81
รปท 4-43 แสดงหนาจอบนทกรายการของการน าคา Configuration มาเขารหสลบ...................... 81
รปท 4-44 แสดงตารางบนทกรายการของการน าคา Configuration มาถอดรหสลบ ...................... 82
รปท 4-45 หนาจอแสงขอผดพลาดเมอระบพารามเตอรผด ............................................................. 82
รปท 4-46 หนาจอแสดงหมายเลขไอพทผด ..................................................................................... 83
รปท 4-47 หนาจอโปรแกรมทไมสามารถเขาถงอปกรณเครอขายและทบนทกลงไฟล log ............... 83
VIII
สารบญรป (ตอ) หนา
รปท 4-48 หนาจอแสดงขอมลทบนทกในไฟล log .......................................................................... 83
รปท 4-49 แสดงคา Message digest ของไฟลปลอม..................................................................... 84
รปท 4-50 น าไฟลปลอมเขาไปแทนทไฟลแทใน Backup Repository ........................................... 84
รปท 4-51 แสดงโปรแกรมไมท าการถอดรหสลบใหเนองจากคา Message digest ของไฟลทบบอดคา Configuration ไมตรงกบทมในฐานขอมล ...................................................................................... 84
รปท 4-52 แสดงบนทกการตรวจสอบคา Message digest ลงไฟล log .......................................... 84
รปท 4-53 แสดงผลการตรวจพบวา Digital Signature ของผใชไมไดถกออกใหโดย CA ทก าหนด . 85
รปท 4-54 แสดงผลการตรวจพบวา Digital Signature ของหวหนางานไมไดถกออกใหโดย CA ทก าหนด ............................................................................................................................................ 85
รปท 4-55 การแกไขคา Digital Signature ของไฟล Configuration ............................................. 86
รปท 4-56 แสดงคา Message digest ของไฟลไมตรงกบในฐานขอมล เนองจากคา Digital Signature ถกแกไข ........................................................................................................................................... 86 รปท ก-1 ระบบปฏบตการทใช ........................................................................................................ 92
รปท ก-2 ตรวจสอบเวอรชนของภาษา Python .............................................................................. 92
รปท ก-3 ตดตงโปรแกรม Python-pip ........................................................................................... 93
รปท ก-4 ตรวจสอบผลการตดตงโปรแกรม pip .............................................................................. 93
รปท ก-5 แสดง Directory ทตดตงโปรแกรม .................................................................................. 94
รปท ก-6 ตดตง Library ทจ าเปนในการท างานของโปรแกรม ......................................................... 94
รปท ก-7 ต าแหนงทตงของไฟล Digital Certificate ของ CA ......................................................... 95
รปท ก-8 เพมทตงของโปรแกรมในตวแปร PATH ........................................................................... 95
รปท ก- 9 การก าหนด CA ทจะใชงาน ............................................................................................ 95
รปท ก-10 หนาจอแสดงขอความตอนรบของโปรแกรม Crypt Config ........................................... 95 รปท ข-1 หนาจอ Help ของโปรแกรมหลก ..................................................................................... 97
รปท ข-2 หนาเจอ Help ของโปรแกรมยอย .................................................................................... 97
รปท ข-3 หนาจอ Register เพอสรางบญชผใชงาน ......................................................................... 98
IX
สารบญตาราง หนา
ตารางท 3-1 ตารางฐานขอมลการจดเกบขอมลบนทกรายงานการเกบส ารองขอมล ........................ 52
ตารางท 3-2 ตารางฐานขอมลการจดเกบขอมลบนทกรายการน าไฟลไปถอดรหสลบ ...................... 53
1
บทท 1 บทน า
1.1 ปญหาและแรงจงใจ
ระบบเครอขายคอมพวเตอร ในปจจบนทใชงานในองคกรมความซบซอนมากขนเพอตอบสนองความตองการทางธรกจ อปกรณจ าเปนพนฐานอยาง Switch และ Router จงมความสามารถทเพมขนมากจากในอดต เพอใหการก าหนดคา Configuration สอดคลองกบความตองการขององคกร เชน การแบงระบบเครอขายออกเปนเครอขายยอย (Network Segmentation) การเขยนกฎในการควบคมการเขาถงระบบทส าคญภายในตามนโยบายองคกร (Network Access Control Policy) การควบคมการเขาใชระบบเครอขายผาน Port บน Switch (Port-base Access Control) หรอการก าหนดเสนทางการรบ -ส งขอมล (Routing) จากท กล าวมาจะพบวาคา Configuration บนอปกรณ Network สามารถจดไดวาเปนขอมลความลบขององคกร ถาหากขอมลนถกน าไปเปดเผยใหผไมประสงคด กจะเปนเหตใหองคกรมความเสยงทจะสญเสยความลบของขอมล หรอถาหาก Configuration ถกเปลยนแปลงแกไขโดยผทไมไดรบอนญาต และไมสามารถตรวจสอบได กย ง เ พมโอกาสในการเกดภยคกคามทางดานระบบสารสนเทศ กลาวคออาจถกน าเอา Configuration ไปแกไข เชน แกคา Access Control List เพอหลบเลยงระบบควบคม จนเกดการเขาถงระบบจากผทไมไดรบอนญาต หรอจากเครองทไมไดรบอนญาต (Unauthorized access) หรอการแกคา Routing เพอเปลยนเสนทาง เปนตน ตวอยางเหลานจะน ามาซงผลกระทบรายแรงตอองคกรได
ในการบรหารจดการระบบเครอขาย งานส ารองขอมลคา Configuration มความจ าเปนอยางมาก คอถาหากเกดเหตขดของอนเนองมาจากอปกรณใดเกดช ารดเสยหาย หนงในวธการแกปญหาคอน าอปกรณส ารอง ทเปนยหอ และรนเดยวกน มาใชงานทดแทน และน าเอาขอมล Configuration ทส ารองไวนไปตงคาอปกรณทดแทนใหเมคาเหมอนอปกรณเดม เพอกคนระบบใหกลบมาท างานตามปกตไดในระยะเวลาอนสน ซงจะชวยลดผลกระทบตอธรกจได จากประสบการณในการท างานทางดานการส ารองขอมลคา Configuration ของอปกรณเครอขายพบวาระบบ ทมอปกรณเครอขายรวมกนหลายตว ผรบผดชอบจะน าโปรแกรมประยกตเฉพาะแบบ Open source มาชวยจดเกบ เชน โปรแกรม rConfig และ RANCID เปนตน เมอศกษาลงไปเชงลก กพบวาโปรแกรมดงกลาวจดเกบขอมล Configuration ไวในรปแบบของไฟล ทสามารถเปดอานเนอหาได สามารถเขาถงต าแหนงทจดเกบไดงายผานระบบปฏบตการ และการน าออกไปใชในการกคนระบบกรณเกดระบบท างานผดพลาด ไมสามารถยนยนไดวาเปนขอมลทถกตองแทจรงทเปนตนฉบบได ดงนนจงเหน
2
วาควรทจะพฒนาโปรแกรมประยกตเพอใชในการจดเกบ Configuration ของอปกรณเครอขายใหมความปลอดภยมากขน
1.2 วตถประสงคของโครงงาน เพอการแกปญหาในเรองการจดเกบ Configuration ทระบบเดมเปน Clear Text เปดอาน
ไดงาย และกอนน าไปใชในการกคนระบบกไมสามารถตรวจสอบไดวาขอมลนนถกเปลยนแปลงแกไขหรอไม จงพฒนาโปรแกรมประยกตเพอใชเกบ Configuration ของอปกรณเครอขาย และน าเอาความรทางดานวทยาการเขารหสลบและการลงลายมอชอดจทล มาประยกตใชในการลงชอรบรองขอมล (Sign) การเขารหสลบขอมล (Encryption) กอนทจะน าไปเกบส ารองไว ตลอดจนการถอดรหสลบของขอมล (Decryption ) การตรวจสอบ (Verify) ความถกตองแทจรงของขอมล Configuration ทถอดรหสลบไดกอนน าใชงานตอไป
1.3 ขอบเขตของโครงงาน
1.3.1 พฒนาโปรแกรมใหสามารถเชอมตอกบ Router หรอ Switch ของ Cisco ผาน Protocol SSH เพอเขาไปเกบขอมล Running Configuration
1.3.2 พฒนาโปรแกรมเพอน าเอาขอมลจากขอท 1.3.1 มาลงลายมอชอดจทลรบรอง (Sign) โดยใช Private Key ของผใชงานโปรแกรม เชน ผดแลระบบเครอขาย, ผดแลระบบ Server หรอผตวแทนฝายไอท เปนตน และเขารหสลบขอมลหลงจากลงลายมอชอดจทลแลว
1.3.3 พฒนาโปรแกรมมาเขารหสลบ (Encryption) ขอมลจากขอ 1.3.1 ดวยวธ Symmetric Key Cryptography โดยใช Algorithm AES ขนาด Key เทากบ 256 Bit
1.3.4 พฒนาโปรแกรมใหน าชดขอมลทผานการลงลายมอชอดจทลและการเขารหสลบแลวไปท าการจดเกบใหเปนหมวดหมไวบน Backup Repository ทจดเตรยมไว
1.3.5 พฒนาโปรแกรมใหเขาถง Backup Repository เพอน าขอมลมาใชงาน 1.3.6 พฒนาโปรแกรมใหสามารถถอดรหสลบ (Decryption) ขอมล Configuration กอน
น าไปใชงาน 1.3.7 พฒนาโปรแกรมใหสามารถตรวจสอบ (Verify) ไดวาเปนขอมล Configuration ท
ถกตองทผานการลงลายมอชอดจทลเพอรบรองแลว ดวยการใช Public Key ของผลงลายมอชอดจทลมาท าการตรวจสอบ
1.3.8 พฒนาโปรแกรมใหสามารถน าขอมลคา Configuration จากขอ 1.3.6 สงไปตงคา หรอ Restore อปกรณเครอขายผานโพรโทคอล SSH
3
1.4 โครงสรางการท างานของระบบโดยรวม
1.4.1 โปรแกรมทพฒนาขนจะเขาถงอปกรณเครอขายจากระยะไกลผานโพรโทคอล SSH เพอใชค าสงทเกยวกบการเกบขอมลคา Configuration จากนนน าผลทไดมาใชประมวลผลตอไป
1.4.2 เมอไดขอมลจากขอท 1.4.1 โปรแกรมทพฒนาขน จะท าการลงลายมอชอดจทล และเขารหสลบใหกบขอมล จากนนจะน าไปจดเกบไวท Backup Repository ทจดเตรยมไว เมอตองการใชขอมลทจดเกบไวน ผใชจะใชโปรแกรมทไดพฒนาขนเขาไปน าเอาขอมลจาก Backup Repository มาท าการถอดรหสลบ และตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอดจทลกอนน าไปใชงานตอไป
1.4.3 การน าขอมลไปใชงาน โปรแกรมจะท าการสรางไฟลทถอดรหสลบไดนไปไวในทเกบขอมลทจดเตรยมไวภายในโปรแกรม และถาผใชตองการสงขอมลไปยงอปกรณ เครอขายบางตวแบบอตโนมตโปรแกรมกจะสงค าสงตาง ๆ ใน Configuration ไปยงอปกรณตามหมายเลขไอพทผใชระบ
1.5 ประโยชนทคาดวาจะไดรบ
1.5.1 กระบวนการเกบส ารองคา Configuration ของอปกรณ Router มความปลอดภยมากขนคอเพมประสทธภาพในการรกษาความมนคงปลอดภยเกยวกบการรกษาความลบของขอมล (Data Confidentiality), ความคงสภาพของขอมล (Data Integrity), การพสจนตวจรง (Authentication) และยนยนความรบผดชอบชอบในการเปนผปฏบตงาน (Non-repudiation)
1.5.2 ท าใหมนใจไดวาการน า Configuration ไปใชงานเปนขอมลทถกตองแทจรง 1.5.3 มกระบวนการท างานแบบอตโนมตทมนคงปลอดภยใน เรองของการน าขอมล
Configuration ทเกบส ารองไวไปใชกคน (Restore) คา Configuration ใหกบอปกรณเครอขาย
4
1.6 โครงสรางของสารนพนธ
1.6.1 บทท 2 กลาวถงพนฐานและทฤษฎทเกยวของในการจดท าสารนพนธฉบบน ซงในสารนพนธนจะเปนการพฒนาโปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวยวธการทมนคงปลอดภย ดงนนจงไดศกษาในเรองเกยวกบวทยาการเขารหสลบ (Cryptography), เทคโนโลยโครงสรางพนฐานกญแจสาธารณะ (Public Key Infrastructure หรอ PKI) และโพรโทคอล SSH เพอจะไดมความเขาใจ และน าไปใชในการพฒนาโปรแกรมใหบรรลตามวตถประสงคและขอบเขตทก าหนดไว
1.6.2 บทท 3 กลาวถงการด าเนนงานในการจดท าสารนพนธฉบบน ในดานโครงสรางของระบบ, Work Flow Diagram, การจดการขอมล, การบรหารจดการกญแจตาง ๆ ทเกยวของ ขนตอนการพฒนาโปรแกรม และขนตอนการท างานของโปรแกรม
1.6.3 บทท 4 กลาวถงผลการด าเนนงานในการจดท าสารนพนธฉบบน โดยน าเสนอผลการทดลองการใชงานโปรแกรมหลงจากทไดพฒนาโปรแกรมตามขอบเขตทไดก าาหนดไววาโปรแกรมทพฒนาขนมาสามารถท าางานไดตามขอบเขตทก าหนดไว การทดลองใชวธการจ าลองระบบและสถานการณในการน าโปรแกรมไปใชท าการเกบส ารองขอมลและการกคนคาใหระบบแบบอตโนมต
1.6.4 บทท 5 กลาวถงสรปผลการด าเนนงานในการจดท าสารนพนธฉบบน อธบายถงปญหาและอปสรรคและแนวทางทใชแกไขปญหา ตลอดจนขอเสนอแนะในการพฒนาโปรแกรมเพมเตม
5
บทท 2 พนฐานและทฤษฎทเกยวของ
2.1 วทยาการเขารหสลบ (Cryptography) วทยาการเขารหสลบ (Cryptography) [2] เปนศาสตรทมมาตงแตสมยโบราณคดคนขนมา
เพอใชรกษาความลบใหกบขอมล (Confidentiality) และไดรบการพฒนาตอเนองมาจนถงปจจบน ศาสตรนเปนการประยกตเอาหลกการทางคณตศาสตรมาใชโดยจะท าใหขอความมความมนคงปลอดภยมากขนกอนทจะจดเกบ หรอสงใหคสอสาร ถาหากมบคคลอนไดขอความนนไปกจะไมสามารถเขาใจเนอหาสาระนนได หลกการทใชเรยกวา การเขารหสลบ (Encryption) คอการแปลงขอความตนฉบบใหอยในรปทไมสามารถอานเขาใจเนอหาสาระไดโดยตรง สวนการแปลงขอความทไมส า ม า ร ถ อ า น เ ข า ใ จ ไ ด น น ก ล บ ม า เ ป น ข อ ค ว า ม ต น ฉ บ บ เ ร ย ก ว า ก า ร ถ อด ร ห ส ล บ (Decryption)จดมงหมายของความปลอดภยในระบบคอมพวเตอร [1] และถอเปนคณสมบตทดของวทยาการเขารหสลบม 4 คณสมบต ดงน
1. การรกษาความลบของขอมล (Data Confidentiality) คอการทขอมลจะไมถกเปดเผย
โดยผไมไดรบอนญาต หรอขอมลจะถกสงจากผสงไปยงผรบดวยความมนคงปลอดภย
โดยผทไมไดรบอนญาตจะไมสามารถเปดดและเขาใจเนอหาสาระของขอมลได
2. ความถกตองแทจรงของขอมล (Data Integrity) เปนการท าใหมนใจวาขอมลทอยใน
ระบบหรอขอมลทถกสงออกไปยงเครอขาย ไมถกเปลยนแปลงแกไขโดยผทไมไดรบ
อนญาต และสามารถตรวจสอบได
3. การพสจนตวจรง (Authentication) หมายถงการพสจนวาบคคลทสงขอมล คอผนนจรง
ไมใชผอนปลอมแปลงมา
4. การหามสามารถปฏเสธความรบผด (Non-repudiation) หมายถงการทผสง ขอมลไม
สามารถปฏเสธไดวา ตนเองไมไดสง
องศประกอบของระบบรหสลบสามารถแบงเปนสวนประกอบยอย 5 สวนดงน [1]
1. ขอความตนฉบบ (Plaintext) หมายถงขอความหรอขอมลตนฉบบ ทเราปรารถนาจะ
น าไปผานการเขารหสลบ
2. อลกอรทมการเขารหสลบ (Encryption algorithm) หมายถงกระบวนการ หรอขนตอน
ทใชในการแปลงขอความตนฉบบใหอยในรปแบบทเปลยนไปจากเดม และผ อนไม
สามารถอานเขาใจได
6
3. กญแจ (Key) หมายถงองศประกอบหนงทปอนใหกบอลกอรทมเขารหสลบ เพอใชในการ
เขารหสลบขอความตนฉบบ โดยผลลพธทไดจะแตกตางกนออกไปตามกญแจทเลอกใช
4. ขอความไซเฟอร (Ciphertext) เปนผลลพธทไดจากการน าขอความตนฉบบไปผาน
กระบวนการเขารหสลบโดยใชกญแจตามทผใชก าหนด ขอความทไดจะเปนขอความท
ผอนไมสามารถอานเขาใจได
5. อลกอรทมการถอดรหสลบ (Decryption algorithm) คอกระบวนการ หรอขนตอนการ
แปลงจากขอความไซเฟอรใหกลบมาเปนขอความตนฉบบ
วทยาการเขารหสลบแบงออกเปน 2 ประเภท คอ วทยาการเขารหสลบแบบสมมาตร ( Symmetric Cryptography) แ ล ะ ว ท ย า ก า ร เ ข า ร ห ส ล บ แ บ บ อส ม ม า ต ร ( Asymmetric Cryptography)
2.1.1 วทยาการเขารหสลบแบบสมมาตร (Symmetric Cryptography) วทยาการเขารหสลบแบบสมมาตร [1] เปนการเขารหสลบและถอดรหสลบโดยใชกญแจชด
เดยวกน (Symmetric key) คอทงผรบและผสงขอความจะมกญแจชดทเหมอนกนเพอใชในการเขารหสลบและถอดรหสลบขอความนน โดยกญแจดงกลาวจะถกเกบเปนความลบระหวางผรบและผสงขอความหรอคสอสาร วธนจะใชงานไดดเมอมคสอสารจ านวนไมมาก ท าใหการแจกจายกญแจท าไดงาย แตในกรณทมคสอสารจ านวนมากจะมผลท าใหผใชงานตองมกญแจลบในปรมาณมากขน เนองจากกญแจหนงดอกจะใชส าหรบในแตละคสอสาร นบวาเปนความยงยากในการจดการควบคมและการแจกจายกญแจอยางมาก
การเขารหสลบขอความแบบสมมาตรสามารถนท าได 2 วธคอ ไซเฟอรแบบบลอค (Block cipher) และไซเฟอรแบบสตรม (Stream cipher) โดยแบบ Block cipher หมายถงการแบงขอความตนฉบบออกเปนสวนๆ เรยกวาบลอค จากนนจะน าไปเขารหสลบทละบลอค สวนแบบ Stream cipher คอการน าขอความตนฉบบมาเขารหสลบทละหนงบต ตวอยางของอลกอรทมการเขารหสลบและถอดรหสลบแบบสมมาตร เชน DES, Triple-DES และ AES เปนตน
EncryptionPlaintext Decryption PlaintextCiphertext
Sender Recipient
Symmetric Key Symmetric Key
รปท 2-1 การเขารหสลบและถอดรหสลบดวยระบบรหสลบแบบสมมาตร [3]
7
จากรปท 2-1 แสดงการเขาและถอดรหสลบดวยวธการแบบสมมาตร โดยเมอผสง (Sender) จะสงขอความหาผรบ (Recipient) ผสงจะใชกญแจ Symmetric key ในการเขารหสลบขอความตนฉบบ และเมอผรบตองการเปดดขอมลกจะใชกญแจชดเดยวกนมาถอดรหสลบนนเพอดขอความตนฉบบ
คณสมบตความมนคงปลอดภยขอมลทไดจากวทยาการเขารหสลบแบบสมมาตรคอ การรกษาความลบใหกบขอมล (Data Confidentiality) โดยขอความตนฉบบไดถกแปลงใหไมสามารถอานเขาใจไดถาหากไมมกญแจทใชถอดรหสลบนน
อลกอรทม Advanced Encryption Standard (AES) AES [11] เปน Symmetric cryptography ท เขารหสลบขอความแบบ Block
Cipher ม Block ขนาด 128 บต และขนาดกญแจไดสามขนาดคอ 128 บต, 192 บต และ 256 บต การเขารหสลบแบบ AES ไดถกเผยแพรโดย National Institute of Standards and Technology (NIST) ในปค.ศ. 2001 เปนการรหสแบบสมมาตรถกคดคนโดยชาวเบลเยยมชอ Joan Daemen และ Vincent Rijmen
โหมดการท างานของ Block Cipher การท างานของ Block Cipher [11] มหลายโหมดไดแก Electronic Codebook
(ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB) และ Counter (CTR) อธบายดงตอไปน
โหมด ECB ยอมาจาก Electronic Codebook กระบวนการเขารหสลบของโหมดนจะใชวธน า Plaintext Block แตละชดมาเขารหสลบโดยใชกญแจ Symmetric key สวนการถอดรหสลบกจะใช Ciphertext ทไดจากการเขารหสลบนนมาถอดรหสลบดวยกญแจเดม ท าแบบนไปเรอย ๆ จนครบทกบลอค
8
P1
C1
K Encrypt
P2
C2
EncryptK
Pn
Cn
EncryptK
(a) Encryption
(b) Decryption
C1
P1
K Decrypt
C2
P2
DecryptK
Cn
Pn
DecryptK
รปท 2-2 แสดงการเขารหสลบโหมด Electronic Codebook [11]
โหมด CBC ยอมาจาก Cipher Block Chaining กระบวนการเขารหสลบของโหมดนคอจะใชคา Plaintext Block กบคา Ciphertext Block ชดกอนหนามาเขากระบวนการ XOR (Exclusive OR) แลวสงผลลพธเขาไปประมวลผลโดยใชกญแจเดยวกนในทกการเขารหสลบเพอใหได Ciphertext ออกมา แลว Ciphertext ชดใหมนกจะถกน าไปใช XOR กบ Plaintext Block ชดตอไปเพอน าไปใชเขารหสลบโดยกญแจชดเดม โดยจะท าแบบนไปเรอย ๆ เปนลกษณะลกโซ ทงนใน Plaintext Block ชดแรกจะตองใชคาเวกเตอรเรมตนกอน (Initialization vector: IV) เพอน ามาใช XOR กบ Plaintext Block ชดแรกนกอนสงไปเขารหสลบ กระบวนการถอดรหสลบ (Decryption) ของโหมดนใชคา Ciphertext Block ชดแรกมาถอดรหสลบดวยกญแจเดยวกบทใชเขารหสลบ จากนนจะน าผลลพธทไดมา XOR กบคา IV จะไดผลลพธเปน Plaintext Block ชดแรก และส าหรบ Ciphertext Block ชดแรกนนกยงถกน าไปใช XOR กบ ผลลพธของการถอดรหสลบของ Ciphertext Block ของชดทสอง จะไดผลลพธเปน Plaintext Block ชดท 2 โดยการท างานจะท าอยางนตอไปเปนลกษณะลกโซเชนกนกบการเขารหสลบ
9
P1
C1
IV
K Encrypt
P2
C2
EncryptK
Pn
Cn
EncryptK
C1
Decrypt
P1
IV
K
C2
DecryptK
P2
Cn
DecryptK
Pn
(a) Encryption
(b) Decryption
รปท 2-3 การท างานของโหมด Cipher Block Chaining [11]
โหมด CFB ยอมาจาก Cipher Feedback กระบวนการเขารหสลบของโหมดน ค อ ใน Plaintext Block ชดแรกจะน าค า IV ท เปนค า เ ร มตน ไปเข ารหสลบ เม อได Ciphertext ของคา IV ออกมาแลวจะน าไป XOR กบ Plaintext Block ชดแรกนจะไดคาหนงคาออกมา คานในรอบการท า Plaintext Block ทสองจะถกน าไปเขารหสลบและน าคาทไดไป XOR กบ Plaintext บลอคทสอง จะได Ciphertext Block ท 2 โดยจะท าแบบนไปเรอย ๆ เปนลกษณะลกโซจนถงบลอคสดทาย ส าหรบการการถอดรหสลบนนในรอบแรกจะน าคา IV ไปเขารหสลบและผลลพธน าไป XOR กบ Ciphertext Block ชดแรกกจะได Plaintext Block ชดแรก ในรอบตอไป Ciphertext Block ชดแรกนกจะยงถกน าไปใชตอโดยน าไปเขารหสลบ และเอาผลทไดมา XOR กบ Ciphertext Block 2 กจะได Plaintext Block ท 3 และในรอบทสามกจะเอา Ciphertext Block 2 ไปเขารหสลบแลวเอาผลทไดไป XOR กบ Ciphertext Block 3 กจะได Plaintext Block ท 3 และจะท าอยางนไปเรอย ๆ จนครบ
10
IV
C1
K Encrypt
P2
C2
EncryptK
Pn
Cn
EncryptK
(a) Encryption
P1
(a) Decryption
IV
P1
K Encrypt
C2
P2
EncryptK
Cn
Pn
EncryptK
C1
รปท 2-4 การท างานของโหมด Cipher Feedback [11] โหมด OFB ยอมาจาก Output Feedback กระบวนการเขารหสลบของ
โหมดนเรมตนจะน าคา IV ไปเขารหสลบ เมอไดผลลพธคอ Output block แรก จากนนน าคานไป XOR กบ Plaintext Block แรก กจะไดเปน Ciphertext block แรก จากนน Output block แรก นจะถกสงไปใชเปนคาอนพตของการเขารหสลบรอบสอง และน าผลลพธทไดคอ Output block 2 ไป XOR กบ Plaintext Block 2 จะไดเปน Ciphertext block 2 น า Output block 2 สงไปเขารหสลบในรอบสามและน าผลไป XOR กบ Plaintext Block 3 กจะไดคา Ciphertext block 3 โดยจะท างานลกษณะนไปเรอย ๆ จนถง Plaintext block สดทาย การถอดรหสลบของโหมดน ในบลอคแรก คา IV จะถกน าไปเขารหสลบแลวจะไดผลลพธคอ Output block แรก โดยคานจะถกสงไปใชเปนอนพตของรอบประมวลผลบลอคถดไปเพอใหไดผลลพธเปนคา Output box รอบนน คา Plaintext block แรกจะไดจากการน า Output block แรก XOR กบ Ciphertext block แรก และ Plaintext รอบถดๆ ไป จะไดจากการ XOR ระหวาง Output block กบ Ciphertext block ของรอบนน
11
IV
C1
K Encrypt
P2
C2
EncryptK
Pn
Cn
EncryptK
(a) Encryption
P1
IV
P1
K Encrypt
C2
P2
EncryptK
Cn
Pn
EncryptK
(a) Decryption
C1
รปท 2-5 การท างานของโหมด Output Feedback [11] โหมด Counter (CTR) โหมดนจะใชคา Counter เปนตวอนพตเพอน าไป
เขารหสลบและน าผลลพธนไป XOR กบ Plaintext Block กจะได Ciphertext block โดยในแตละรอบการท างานคา Counter จะเปลยนไป เชน Plaintext Block แรก ใหคา Counter เทากบ 1 เมอน าเขาไปประมวลผลตามอลกอรทมของโหมดนกจะไดคา Ciphertext block แรก และรอบของ Plaintext block ถดไป คา Counter มคาเปลยนเปนคาอน เมอน าเขาไปประมวลผลตามอลกอรทมของโหมดน จะไดคา Ciphertext block ของรอบนน เปนตน คา Counter ทใชในแตละรอบการประมวลผลควรจะเปนคาทใชไดครงเดยวและยากตอการคาดเดา
12
Counter 1
C1
K Encrypt
Counter 2
C2
EncryptK
Counter n
Cn
EncryptK
(a) Encryption
(b) Decryption
P1 P2 Pn
Counter 1
P1
K Encrypt
Counter 2
P2
EncryptK
Counter n
Pn
EncryptK
C1 C2 Cn
รปท 2-6 การท างานของโหมด Counter [11]
2.1.2 วทยาการเขารหสลบแบบอสมมาตร (Asymmetric Cryptography) วทยาการเขารหสลบแบบกญแจอสมมาตร (Asymmetric Key Cryptography) หรอแบบ
กญแจสาธารณะ (Public Key Cryptography) [7] เปนเทคโนโลยทประกอบดวยกญแจ 2 ดอก หรอกญแจค คอ กญแจสวนตว (Private Key) และกญแจสาธารณะ (Public Key) ตวหนงใชเขารหสลบ และอกตวหนงใชถอดรหสลบทเขารหสลบมาโดยกญแจตวแรก กญแจสาธารณะสามารถเผยแพรออกสสาธารณะเพอใหผอนสามารถน าไปใชงานเมอตองการตดตอสอสารกบเราในลกษณะทตองการสงขอมลทเปนความลบให ส าหรบกญแจสวนตว ผทเปนเจาของจะตองเกบรกษาไวเปนความลบและหามเปดเผยสสาธารณะโดยเดดขาด แตถามเหตสดวสย เชน กญแจลบสญหาย หรอถกขโมย เจาของกควรทจะสรางกญแจคใหมแลวจงเผยแพรกญแจสาธรณะชดใหมออกไป
EncryptionPlaintext Decryption PlaintextCiphertext
Sender Recipient
Public Key Recipient
Private Key
รปท 2-7 การเขาและถอดรหสลบดวยระบบรหสแบบอสมมาตร [3]
13
จากรปท 2-7 แสดงตวอยางการเขาและถอดรหสลบดวยวธการแบบอสมมาตร โดยฝงผสง
(Sender) จะใชกญแจสาธารณะ (Public Key) ของผรบ (Recipient) เปนกญแจในการเขารหสลบ และผรบเมอตองการถอดรหสกจะใชกญแจสวนตว (Private Key) ของตวเองเปนตวถอดรหสลบขอความนน
อลกอรทมส าหรบการเขารหสลบแบบกญแจสาธารณะนสามารถแบงตามลกษณะการใชงานไดเปน 2 ลกษณะคอ ใชส าหรบการเขารหสลบ และใชส าหรบการลงลายมอชอดจทล แตเนองจากอลกอรทมมการค านวณทซบซอน ขนาดของกญแจทใหญ เชน ขนาด 1024, 2048 หรอ 4096 บต เปนตน เพราะตองการความแขงแกรงทมากขนในการเขารหสลบ แตกมผลเสยคอใชทรพยากรของเครองสงมากขนดวย การน ามาใชเขารหสลบและถอดรหสลบขอความขนาดใหญจงไมเปนทนยมเพราะท างานไดชากวาระบบแบบสมมาตร ระบบนจงมกถกน ามาประยกตใชงานในการน าสง Symmetric key โดยการน า Public key ของผทเราจะสง Symmetric key ใหมาใชเขารหสลบคา Symmetric key นแลวจงจดสงใหคสอสาร ตวอยางอลกอรทมทเปนทรจกกนมดงน
1. อลกอรทม RSA (Rivest, Shamir and Adleman) เปนอลกอรทมหนงในระบบ
Public-key Cryptosystems ทไดรบการพฒนาขนทมหาวทยาลย MIT ในป ค.ศ.1978 (พ.ศ. 2521)
โดยศาสตราจารย 3 คน คอ Ronald Rivest, Adi Shamir และ Leonard Adleman โดย RSA เปน
ลขสทธของบรษท RSA Security อลกอรทมนจะใชเลข Prime ขนาดใหญในการสรางกญแจซงเลข
ขนาดใหญนจะเปนเลขทสมขนมา การท างานของ RSA นนมกจะท างานชาเนองจากตองค านวณ
ตวเลขขนาดใหญจงไมคอยใชในการเขารหสลบขอมลขนาดใหญโดยตรง ส าหรบแนวปฏบตทวไปนน
RSA มกไมคอยนยมใชใสการเขารหสลบขอมลขนาดใหญ แตมกใชในการเขารหสลบคากญแจลบ
(Secret key) ของการเขารหสลบแบบสมมาตร การน าอลกอรทมนไปใชในการพฒนาโปรแกรม
ประยกตตาง ๆ ควรจะตองเปลยนกญแจโดยการสรางใหมใหมความยาวของกญแจทเหมาะสมตาม
ขอแนะน าของ RSA เอง เพอใหระบบยงคงปลอดภยอยเสมอ ในอนาคตถาหากนกคณตศาสตร
สามารถคดคนการวธการค านวณกลบเพอหาคาบางคาของอลกอรทมนได อลกอรทมนกอาจไมถกใช
งานอกตอไป [13]
2. อลกอรทม DSA (Digital Signature Algorithm) เปน อลกอรทมน ได ร บการ
พฒนาขนมาโดย National Security Agency (NSA) ในประเทศสหรฐอเมรกาและไดรบการรบรอง
โดย NIST เพอสราง Digital Signature ส าหรบการ Authentication เอกสารอเลกทรอนกส สราง
ขนในป ค.ศ.1994 (พ.ศ. 2537) ตอมาไดถกก าหนดใหเปนมาตรฐานกลางส าหรบการลงลายมอชอ
อเลกทรอนกสในประเทศสหรฐอเมรกา
14
คณสมบตความมนคงปลอดภยขอมลทไดจากวทยาการเขารหสลบแบบอสมมาตรม 3
ประการประกอบดวย
1. การร กษาความล บของข อม ล (Data Confidentiality) ค อ อลกอร ท มน ม
ความสามารถในการเขารหสลบขอมลได
2. การพสจนตวจรง (Authentication) คอเมอจะใช Private key ผใชจะตองยนยน
ตวตนกอน
3. การไมสามารถปฏเสธความรบผดชอบ (Non-repudiation) เพราะวาโดยอลกอรทม
นจะสรางกญแจเพยงคเดยวเทานนทจะเขากนได (Private key, Public key)
2.1.3 อลกอรทมส าหรบสรางเมสเซสไดเจสต (Message Digest) ค าวา Message Digest [1] คอขอความหนงชดทไดค านวณมาจากขอความตงตน
ผลลพธจากการค านวณจะมความยาวของชดขอความผลลพธคงทเทากนโดยไมตองสนใจวาขอความตงตนจะมความยาวมากหรอนอย อลกอรทมนเรยกวาแฮชฟงกชน (Hash Function) จดประสงคส าคญของอลกอรทมนคอใชส าหรบสรางชดขอความสรปจากขอความตงตน ซงสามารถใชในการยนยนขอความตงตนวาเปนขอความตนฉบบทมความครบถวนสมบรณ นอกจากค าวา Message Digest แลวยงสามารถเรยกอกอยางไดคอ ดจทล ฟงเกอรปรนท (Digital Fingerprint) คณสมบตทส าคญของอลกอรทมมดงตอไปน
1. เปนฟงกชนทางเดยว คอการค านวณหาคา Message Digest จากขอความตงตนชด
หนงตองมขนตอนทชดเจน ใหผลลพธคาเดมเสมอ แตในทางกลบกนการจะหา
ขอความตงตนจากผลลพธจะตองเปนกระบวนการทยาก
2. การหาคา Message Digest จากขอความตงตนทแตกตางกน ผลลพธทไดควรจะไม
ซ ากน เรยกคณสมบตนวาการปลอดการชนกน (Collision-free)
3. การหาคา Message Digest จากขอความตงตนตาง ๆ ทมขนาดความยาวแตกตาง
กน ผลลพธทไดจะมขนาดคงท เชน ขอความตงตนขนาด 1024 บต กบขอความตง
ตนขนาด 2048 บต เมอน าไปค านวณหาคา Message Digest ดวยอลกอรทม
เดยวกนจะไดผลลพธขนาด 160 บต เทากนทงสองขอความ
15
ตวอยางอลกอรทมส าหรบค านวณคา Message Digest มดงน
2.1.3.1 อลกอรทม MD5 ค าวา MD ยอมาจาก Message Digest พฒนาโดย Ronald Rivest ในป 1991 โดยไดพฒนาตอจาก MD4 เพอใหมความปลอดภยสงขนจนเปนทนยมใชงานกนอยางแพรหลาย อลกอรทมนสราง Message Digest ทมขนาด 128 บต จนในป 1994 Van Oorschot and Wiener ไดพบจดบกพรองของ MD5 คอผลลพธทไดจากการหาคา Message Digest มการซ ากน (collision) จงท าใหความนยมเรมลดลง
2.1.3.2 อลกอรทม SHA ยอมาจาก Secure Hash Algorithm พฒนาขนโดย NIST ในป ค.ศ. 1993 โดย SHA ออกแบบมาเพอใชงานรวมกบอลกอรทมการลงลายมอชอดจทล DSS (Digital Signature Standard) SHA สราง Message Digest ขนาด 160 บต และไดรบการพฒนาตอเนองเรอยมาจนม SHA-1,SHA-256 , SHA-384 และ SHA-512 โดยอลกอรทมเหลานสราง Message Digest ขนาด 160, 256, 384 และ 512 บต ตามล าดบ
การหาคา Message Digest เปนวธการทสามารถใชในการตรวจสอบวาขอมลหรอไฟลตาง ๆ
ในระบบถกเปลยนแปลงแกไขหรอไม ใชในตรวจสอบความถกตองแทจรงของขอมล (Data Integrity) ซงเปนหนงในคณสมบตของความมนคงปลอดภยขอมล ท าใหมนใจไดวาขอมลทอยในระบบไมถกเปลยนแปลงแกไข ซงในบางครงการเปลยนแปลงแกไขขอมลอาจถกกระท าโดยผทไมมสทธ เชน ผทไมไดมหนาททเกยวของ หรอผบกรก เปนตน ตวอยางวธการตรวจสอบขอมลหรอไฟลในระบบคอเลอกใชอลกอรทมในการสราง Message Digest เชน SHA-256 มาค านวณหาคา Message Digest ของขอมลเหลานน น าผลพธทไดไปเกบไวอกทสถานทหนง เชน เกบคา Message Digest ลงแผน CD หรอพมพลงกระดาษเกบไวในตนรภย เปนตน ภายหลงเมอเวลาผานไประยะ กน าไฟลเดมเหลานนมาค านวณหาคา Message Digest ดวยอลกอรทมเดมอกครง แลวน าผลลพธไปเปรยบเทยบกบคา Message Digest ชดเดมทเกบไววาตรงกนหรอไม ถาผลลพธตรงกนกแสดงวาไฟลไมถกเปลยนแปลงแกไข แตถาหากผลลพธออกมามคาไมตรงกน กสามารถสรปไดวาไฟลนนไดถกแกไข สวนจะแกไขโดยไดรบอนญาตหรอไมนน กตองมกระบวนการตรวจสอบประกอบตอไปตามแตองคกรก าหนด เชน จากบนทกการขออนญาตเปลยนแปลงแกไขขอมลในระบบ Change Management หรอการตรวจสอบรายงานบนทกการเขาถงไฟลนน เปนตน
2.2 เทคโนโลยโครงสรางพนฐานกญแจสาธารณะ (Public Key Infrastructure หรอ PKI) ปญหาทพบจากวทยาการเขารหสลบแบบกญแจสาธารณะคอ เราไมสามารถระบได วาผ
ครอบครอง Public key เปนตวจรงตามทไดกลาวอาง เพราะกญแจดงกลาวใคร ๆ สามารถสรางเองได เพอแกปญหานจงไดมการจดตงระบบโครงสรางพนฐานกญแจสาธารณะขนมา โดยหวงวาจะชวย
16
สรางความนาเชอถอในการระบถงความเปนเจาของ Public key ทแทจรง [4] ใน RFC 2822 (Internet Security Glossary) ไดก าหนดความหมายให Public Key Infrastructure (PKI) วาเปนชดของ hardware, software, บคคล, นโยบาย, และวธการทจ าเปนในการสราง, จดการ, จดเกบ, กระจาย และเรยกคนใบรบรองดจทล (Digital Certificates) โดยวตถประสงคเพอท าใหการจดหา Public key มความปลอดภย สะดวก และมประสทธภาพโดยโครงสรางพนฐานกญแจสาธารณะ ตามมาตรฐาน PKIX หรอ The Internet Engineering Task Force (IETF) Public Key Infrastructure X.509 ประกอบดวย 5 องคประกอบหลก [11] ไดแก
1. ผใชบรการ (Entity) เปนผประสงคจะขอใชใบรบรองดจทล โดยยนค าขอผานทาง
เจาหนาทรบลงทะเบยน ผใชบรการนนอาจเปนบคคล หรอเครอง หรออปกรณใด ๆ
ทอยภายใตการควบคมของบคคล
1. เจาหนาทรบลงทะเบยน (Registration Authority) คอผท าหนาท รบลงทะเบยน
เมอมการยนขอใชบรการใบรบรองดจทล แจงเพกถอนใบรบรองดจทล หรอตออาย
ใบรบรองดจทล โดยท าการตรวจสอบและยนยนความถกตองของขอมลทผใชบรการ
ใหไว สวนงานนอาจรวมอยดวยกนกบ CA กได
2. ผใหบรการออกใบรบรองดจทล (Certification Authority) คอผใหบรการออก
ใบรบรองดจทล ซงสรางและออกใบรบรองเพอรบรองกญแจสาธารณะใหกบ
ผใชบรการ และท าหนาทผออก CRL ดวย
3. ทบนทกขอมล (Repository) เปนทเกบรกษาขอมลในการใหบรการของผออก
ใบรบรองดจทล และเปนทใหบรการสบคนขอมล CRL
4. รายการเบกถอนใบรบรองดจทล (Certificate Revocation List หรอ CRL) เปน
รายการเพกถอนใบรบรองดจทลท CA เปนผออกเพอประกาศวาใบรบรองใดทไมถก
ใชงานซงจะเปนใบรบรองทไมนาเชอถออกตอไป
ใบรบรองดจทล (Digital Certificate) ใบรบรองดจทลเปนไฟลขอมลประเภทหนงทออกโดยผออกใบรบรอง หรอ CA ในไฟลจะ
ประกอบดวย Public Key และขอมลตาง ๆ ทเกยวของกบการเปนเจาของ Public Key นน ๆ เชน ขอมลชอขององคกรหรอหนวยงานทครอบครอง , อายของใบรบรอง, หรอชดขอมลอน ๆ ตามทมาตรฐาน ITU-T X.509 ก าหนดรปแบบเอาไว และทส าคญมากอกอยางหนงคอลายมอชอดจทลของ CA โดยลายมอชอนนจะหมายถงการใหการรบรอง Public Key วาเปนขององคกรหรอหนวยงานทระบไวในใบรบรองนน ใบรบรองดจทลทนาเชอถอกจะตองออกโดย CA ทนาเชอถอดวย [3]
17
User s ID information
User s Public Key
CA information
CA s Digital Signature
{H
EncryptionMessage Digest
CA s Private Key
รปท 2-8 การออกใบรบรองดจทล [11]
User s ID information
User s Public Key
CA information
Digital Signature
}Hash function
H Message Digest
Decryption
CA s Public Key
Message Digest
Comparing value}
รปท 2-9 การตรวจสอบใบรบรองดจทล [11]
จากรปท 2-8 และ 2-9 แสดงองศประกอบของการออกใบรบรองดจทลและการตรวจสอบใบรบรองดจทล โดยการออกใบรบรอง CA จะน าขอมลทระบตวตนของผขอใบรบรอง, Public Key ของผขอใบรบรอง และขอมลของ CA ค านวณหาคา Massage Digest แลวน าคาทไดไปท าการการ Encryption โดยใช Private key ของ CA กจะไดมาซง Ciphertext ชดหนงเพอใชเปน Digital Signature แลวสงมอบใหผรองขอใบรบรอง และจากรปท 2-9 เมอผขอไดรบใบรบรองแลวสามารถตรวจสอบใบรบของของตนไดโดยใชกระบวนการทคลายกบตอนออกใบรบรอง ในขนตอนสราง Massage Digest แตมความแตกตางคอ ผใชจะเอา Digital Signature ทไดมาท าการ Decryption โดยใช Public key ของ CA จะไดคาออกมาหนงคา จากนนเอาคานนไปเปรยบเทยบกบคา Message Digest ทไดสรางไว ถาผลลพธตรงกนทกประการกถอวาเปนใบรบรองท CA นนไดใหการรบรองจรง
18
รปท 2-10 ตวอยางใบรบรองดจทล และชดขอมลภายในใบรบรองตามมาตรฐาน X.509 จากรปท 2-10 ตวอยางใบรบรองดจทลและชดขอมลภายในใบรบรองตามมาตรฐาน X.509
จะประกอบดวยขอมลตาง ๆ ซงก าหนดโดยมาตรฐาน มขอมลส าคญตาง ๆ เชน รนของใบรบรอง, ขอมลผถอใบรบรอง (Subject) ผออกใบรบรอง ( Issuer), Public key ของผถอใบรบรอง, คาอลกอรทมทใชค านวณคา Message Digest และ Digital Signature ของ CA เปนตน
ลายมอชอดจทล (Digital Signature) เปนลายมอชออเลกทรอนกสประเภทหนงทไดจากการ Encryption คา Message Digest
ของขอมลใด ๆ ชดหนงดวย Private Key ของเจาของลายมอชอดจทล และสามารถใช Public Key ของเจาของลายมอชอดจทลนนมาท าการตรวจสอบไดวาเปนลายมอชอดจทลทของเจาของจรงหรอไม อกทงยงสามารถตรวจสอบขอมลทมาไดดวยวาถกเปลยนแปลงภายหลงการลงลายมอชอหรอไม [6]
คณสมบตทไดจากการลงลายมอชอดจทลม 3 ประการ [3] ไดแก
1. การพสจนยนยนตวตวบคคล (Authentication) การลงลายมอชอดจทลนนจะตองใช
Private key ซงจะตองท าการยนยนตวตน เชน การใช Passphrase กอนใชงาน
2. ความถกตองแทจรงของขอมล (Data Integrity) คอขอความทผานการลงลายมอชอ
ดจทลแลวจดสงไปใหผรบ ผรบสามารถใช Public Key ของผสงมาท าตรวจสอบคา
Digital Signature ทแนบมาโดยการถอดรหสลบ แลวน าคาทไดไปเปรยบเทยบกบคา
Message Digest ของขอมลตนฉบบ ถ าผลไมตรงกนกจะร ได ว าขอความถก
เปลยนแปลงแกไข
19
3. การหามปฏเสธความรบผด (Non-repudiation) คอผสงคนเดยวเทานนทจะม Private
key ทคกบ Public Key ชดนได จงท าใหเขาไมสามารถปฏเสธไดวาเปนผสงขอความ
Plaintext
Hash Function
Message Digest
Encryption
Digital Signature
Plaintext
Private Key
รปท 2-11 กระบวนการลงลายมอชอดจทล (Sign) [3]
จากรปท 2-11 แสดงการลงลายมอชอดจทล ซงผลงชอจะตองใช Private Key ของตนในการ Encryption คาMessage Digest แลวจงแนบไปกบขอความตนฉบบ ซงการใช Private Key น จะตองยนยนตวตนกอนใชงาน
Plaintext
Hash Function
Message Digest
Decryption
(Public Key)
Digital Signature
Message Digest
Digital Signature
Plaintext
A = B ?
Authentic
yes
A B
รปท 2-12 กระบวนการตรวจสอบความถกตองของขอมลจากลายมอชอดจทล (Verify) [3]
จากรปท 2-12 การตรวจสอบลายความถกตองของขอมลจากมอชอดจทลกใชวธการเดยวกนกบการตรวจสอบใบรบรองดจทลทไดกลาวมาแลว โดยสรปคอเปนการเปรยบเทยบคา Message Digest ของขอความตนฉบบกบคาทไดจากการถอดรหสลบ (Decryption) ดวย Public Key หากผลเหมอนกนทกประการหมายความวาขอมลทสงมาเปนขอมลทถกสงมาจากผสงจรงและไมไดถก
20
เปลยนแปลงหรอแกไขใด ๆ แตถาหากขอมลมการเปลยนแปลง คา Message Digest ทไดจะมความแตกตางกน
การประยกตใชงานเทคโนโลยโครงสรางพนฐานกญแจสาธารณะ เทคโนโลยโครงสรางพนฐานกญแจสาธารณสามารถน าไปปรบใชใหสอดคลองกบความ
เหมาะสมของแตละองคกร เชน องคกรท าการจดตงระบบ PKI ขนมาเพอออกใบรบรองดจทลใหผใชงานใชกบระบบ Email ภายใน, การจดท าระบบ Web Server โดยใชใบรบรองดจทลมาตดตงทเครอง Server เพอเปดใชบรการโพรโทคอล HTTPS, การใชงานในระบบ LDAP X.509, ระบบบนทกเวลา (Timestamp) หรอจะใชท างานรวมกบแอพพลเคชนอน ๆ ทพฒนาขนเองซงจ าเปนทจะตองพจารณาเสยกอนวาสวนใดของแอพพลเคชนทตองการความมนคงปลอดภยของขอมลพราะในระบบแอพพลเคชนกไมจ าเปนตองประยกตใชเทคโนโลยเสยทงหมดทกสวน เฉพาะสวนทจ าเปนเชน ขอมลความลบของผปวย ขอมลทะเบยนราษฎร เปนตน กน าเทคโนโลยนไปใช ซงการประยกตในลกษณะดงกลาวจ าเปนตองมการพฒนาเพมเตมเพอใหแอพพลเคชนนนสามารถท างานรวมกบเทคโนโลยโครงสรางพนฐานกญแจสาธารณะได [5]
สรปเทคโนโลยโครงสรางพนฐานกญแจสาธารณะ เปนวธการทใชในการสราง , จดการ,
จดเกบ, กระจาย และเรยกคนใบรบรองดจทล (Digital Certificate) โดยวตถประสงคเพอท าใหการจดหา Public key มความปลอดภย สะดวก และมประสทธภาพโดย เมอน ามาประยกตใชงานกบระบบการเขารหสลบแบบ Public Key Cryptography แลวจะชวยใหมนใจไดวา ผถอครองใบรบรองดจทลใบนนเปนใบรบรองทนาเชอถอ เพราะผานการตรวจสอบจาก CA ขอมลส าคญทถกตรวจสอบคอ Public Key วาเปนของผขอใบรบรองจรง และหนวยงาน CA กไดมการก าหนดอายของใบรบรองตาง ๆ ทออกให และมการแสดงรายการเพกถอนใบรบรอง ดงนนการน า Public Key ในใบรบรองทถกตองมาใช Encryption ขอมล จะท าใหมนใจไดวาขอมลทเปนความลบ ผทเปนเจาของใบรบรองเทานนจงจะเปดอานได สามารถตรวจสอบความถกตองแทจรงของขอมลไดจากการใช Digital Signature ทไดลงชอมาโดยเจาของ Private Key จรงดวยวธใช Public Key ตรวจสอบขอมล
2.3 โพรโทคอลซเคยวเชลล (Secure Shell หรอ SSH) โพรโทคอล (Protocol) หนงในการตดตอสอสารระหวางเครองคอมพวเตอรหรออปกรณ
เครอขายคอ Secure Shell (SSH) เปน Application Protocol ทท างานผาน TCP Port หมายเลข 22 ท างานแบบ Client-Server คอฝ ง Client ตองใชงานผานโปรแกรมทรองรบ เชน Putty, ScureCRT และ ConnectBOT เปนตน และทางฝง Server เองกจะตองรองรบดวย เชน เครอง
21
คอมพวเตอรทท างานบนระบบปฏบตการ Linux หรออปกรณเครอขายทรองรบ เชน Router ของ Cisco, Switch ของ HP และ Access Point ของ Avaya เปนตน กอนใชงานผใชจะตองพสจนตวตนดวยการ Login โดยใช Username และ Password ของตน Protocol นจะมการรกษาความมนคงปลอดภยดวยการเขารหสลบขอความกอนสงออกไปในระบบเครอขาย [8]
มโปรแกรมทนยมใชผานชอง SSH คอ Secure Copy (SCP) เปนโปรแกรมทใชรบสงไฟลบนระบบเครอขายเชนเดยวกบ FTP แตจะมขอแตกตางกนท SCP นนจะมการเขารหสลบขอความกอนสงออกไป และจะตองใสรหสผานกอนทกครง แต FTP จะไมมการเขารหสลบ [9]
2.4 โปรแกรม rConfig เปนโปรแกรมส าหรบใชงานในเรองการบรหารจดการขอมล Configuration ของอปกรณ
เครอขาย ปจจบนเปนเวอรชน 3 ท เ พมความสามารถทางดาน Configuration Compliance Management เพอใหสามารถตดตามตรวจสอบเรองการปฏบตตามนโยบายองคการในดานการจดการ Configuration ซ ง rConfig เปน open source ผ ใชสามารถปรบแตงได คณสมบตดานความสามารถของโปรแกรมโดยสรปมดงน [12]
22
2.4.1 แกไขเพมเตมคา Command ตาง ๆ ของแตละอปกรณเครอขายได คอ ในโปรแกรมจะมค าสงพนฐานมาให เชนค าสง “show ip route”, “show cdp ne” และ “show version” ของอปกรณ Cisco แตเรายงสามารถเพมค าสงอน ๆ ทตองการเขาไปตามความตองการ หรอค าสงบางค าสงทระบบใหมาใชงานไมไดกบอปกรณรนใหมๆ กสามารถแกไขค าสงเดมใหสอดคลองกบอปกรณนน ๆ ได
2.4.2 มความสามารถในการท า Configuration Compliance Management ในหลายๆองคกรมการก าหนดนโยบายเรองการปรบแกคา Configuration ของอปกรณ ทการจะแกไขคาใด ๆ ตองผานการอนมตจากคณะกรรมการเสยกอน แตถาหากไมไดรบการอนมตใหแกไข ผทแกไขกจะมความผดฐานละเมดนโยบายองคกร กรณนโปรแกรมจะสามารถตรวจสอบไดวาคา Configuration ทก าหนดไวใหเปนคาลาสดนนไดถกเปลยนแปลงแกไขหรอไม วนและเวลาใด จงในการตรวจสอบความสอดคลองตามนโยบายองคกรได
2.4.3 สามารถท า Configuration deployment ได ในหลายองคกรมอปกรณเครอขายจ านวนมาก แตถาตองการก าหนดคาบางอยางใหตรงกนทกตว การจะท ารายตวจงใชเวลานาน กสามารถใชความสามารถนของโปรแกรมนมาชวยกระจายคา Configuration ใหไดทละหลายๆ ตวพรอมกน
2.4.4 รองรบการท างานการเขาถงอปกรณเครอขายจากระยะไกล (Remote) ไดโดยผานโพรโทคอลทงแบบ Telnet และ SSH เวอรชน 2
23
บทท 3 การด าเนนงาน
3.1 รายละเอยดและโครงสรางของโปรแกรม โปรแกรมจดเกบขอมลคอนฟกกเรชน (Configuration) ของอปกรณเครอขายดวยวธการท
มนคงปลอดภย ชอโปรแกรม Crypt Config คอ โปรแกรมทใชในการเขาถงอปกรณเครอขาย (Network Device) จากระยะไกล (Remote Access) ดวยโพรโทคอลซเคยวเชลล (SSH) เพอเขาไปเกบคาคอนฟกกเรชนของอปกรณนน ๆ มาท าการลงลายมอชอดจทล (Digital Signature), เขารหสลบ (Encrypt) และจดเกบลงในพนทจดเกบขอมล (Backup Repository) ทจดเตรยมไวพรอมทงลงบนทกรายงานการส ารองขอมลการท างานในแตละคร งลงในฐานขอมล เมอตองการน าคา Configuration มาใชงาน โปรแกรมจะท าการถอดรหสลบและตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอดจทลกอนเพอใหพรอมน า Configuration ไปใชงานตอไป ภาพรวมการท างานแสดงดงรปท 3-1
รปท 3-1 ภาพรวมการท างานของโปรแกรม
Network Device Application Program Repository
Workstation
Switch
Router
Backup RepositoryManagement
Network System
24
3.1.1 สวนประกอบของระบบ
3.1.1.1 อปกรณเครอขาย คอ Router หรอ Switch เปนอปกรณทโปรแกรม Crypt Config จะเขาไปเกบคา Configuration มาเกบส ารองไวในทจดเกบขอมล (Backup Repository) โดยอปกรณดงกลาวจะเชอมตอกบระบบเครอขายทใชส าหรบบรหารจดการอปกรณ (Network Management System) ซงระบบเครอขายนออกแบบมาเพอใชเปนชองทางในการเขาถงอปกรณเครอขายเหลานนจากระยะไกลดวยโพรโทคอล SSH
3.1.1.2 เครอง Workstation คอเครองคอมพวเตอรทตดตงโปรแกรม Crypt Config ทพฒนาขน มหนาทเขาไปเกบ คา Configuration ของอปกรณเครอขาย, การลงลายมอชอดจทล, การเขารหสลบ, การน าขอมลลบไปจดเกบในพนทจดเกบ, การน าขอมลมาถอดรหสลบ, การตรวจสอบความถกตองของขอมลจากการเปรยบเทยบคา Message Digest ของไฟลกบคาทบนทกไวในฐานขอมล, และการตรวจสอบความถกตองแทจรงของขอมลทถอดรหสลบมาไดจากการตรวจสอบดวยลายมอชอดจทล
3.1.1.3 Backup Repository คอโฟลเดอรในเครอง Workstation ทก าหนดไวใหใชเปนพนทจดเกบส ารองขอมลคา Configuration และเปนโฟลเดอรทโปรแกรมทพฒนาขนจะเขามาน าไฟลขอมลคา Configuration ของอปกรณเครอขายทจดเกบส ารองไวไปถอดรหสลบกอนน าสงไปใชงาน
25
3.1.2 การท างานของโปรแกรมสวนของการเกบขอมลคา Configuration มาเขารหสลบ การท างานของโปรแกรมในสวนของการเกบคา Configuration มาเขารหสลบ
อธบายการท างานดงรปท 3-2
SSHv2
data[running-config, inventory]
Signs data Encrypts Secret Key
Manager Key(Cert. X509
v3)
User Key(PKCS12)
Add Data File and MD to DB
SSH Credential
Secret keyAES-CBC 256
Private keyRSA 2048
Public keyRSA 2048
validate input
Encrypts data
Generates Secret key & IV
commands
1
2
3
4
5
6
7
Data File[data, signature, IV, secret-key, user pub. key]
Router Switch Workstation Backup Repository
Compress and MD (SHA-256) of Data File
รปท 3-2 การท างานสวนของการเกบคา Configuration จากอปกรณมาเขารหสลบและจดเกบ
26
3.1.2.1 โปรแกรมทพฒนาขนจะเขาไปเกบคา Configuration ของอปกรณเครอขายดวยการใชค าสงเฉพาะกบแตละอปกรณผานโพรโทคอล SSH โดยผใชจะระบถงอปกรณตวนนจากการใชหมายเลขไอพทสามารถเขาถงอปกรณผานโพรโทคอล SSH ได
3.1.2.2 โปรแกรมจะตรวจสอบขอมลทผ ใชระบมาวาถกตองหรอไม (Input validation) กอน
3.1.2.3 เมอตรวจสอบวาถกตองแลวกจะท าการเขาถงอปกรณเครอขายผานโพรโทคอล SSH เพอไปเอาคา Configuration
3.1.2.4 โปรแกรมจะสรางกญแจลบเฉพาะและคาไอว (Secret key และคา IV) ในแตละครงขนมาเพอใชงานในการเขารหสลบคา Configuration
3.1.2.5 เมอไดคา Configuration มาจากอปกรณเครอขายแลวโปรแกรมทพฒนาขนจะน าคานไปลงลายมอชอดจทลและเขารหสลบ โดยการเขารหสลบนกญแจทใชเขารหสลบขอมลจะถกน าไปเขารหสลบดวยกญแจสาธารณะของหวหนางานกอนทจะจดเกบเอาไวใชถอดรหสลบขอมลตอไป
3.1.2.6 เมอผานในกระบวนการตาง ๆ ขางตนโปรแกรมกจะเกบรวบรวมขอมลผลลพธทไดมาบบอดและค านวณหาคา Message Digest จากนนกจะน าไฟลบบอดนสงไปจดเกบไวท Backup Repository ทไดเตรยมไว
3.1.2.7 โปรแกรมจะท าการบนทกรายงานการส ารองขอมล ซงจะมคา Message Digest ทค านวณไดลงในฐานขอมลดวย
3.1.3 การท างานของโปรแกรมในสวนของการเรยกใชคา Configuration การท างานของโปรแกรมในสวนของการเรยกใชขอมลคา Configuration ทเกบไว
มาถอดรหสลบและน าไปใชงาน อธบายการท างานดงรปท 3-3
27
Router SwitchWorkstation Backup Repository
SSHv2
Manager Key(PKCS12)
Id. of Data File
validate input
1
2
3Requests Data File
Data File[data, signature, IV, secret-key, user pub. key]
Decrypts secret-key
Decryptsdata
Verify Signature
Updates DB
commands in running-config
Check Result (Console, SSH)
If Automate Restore = Yes
5
6
7
8
11
Check Integrity of Data File and uncompressing
4
data[running-config, inventory]
9
data[running-config]
Secret keyAES-CBC 256
Private keyRSA 2048
Public keyRSA 2048
Result of Show ip int brief Secure delete the data[running-config] (Shred on Linux)
10
รปท 3-3 การท างานสวนของการเรยกใชคา Configuration ทเกบไวมาถอดรหสลบ
28
3.1.3.1 เมอตองการใชขอมล ผใชจะใชโปรแกรม Crypt Config ในการน าขอมลจาก Backup Repository มาถอดรหสลบ โดยอางองจากไอดของไฟลทจดเกบไว
3.1.3.2 โปรแกรมจะตรวจสอบขอมลทผ ใชระบมาวาถกตองหรอไม (Input validation) และดวาไฟลขอมลทระบมามอยหรอไมกอนท างานในขนตอนตอไป
3.1.3.3 โปรแกรมจะเขาไปน าไฟลตามทระบมาจากแหลงทจดเกบขอมล 3.1.3.4 เมอไดไฟลมาแลวโปรแกรมจะท าการตรวจสอบความถกตองสมบรณของไฟล
จากคา Message Digest โดยจะเปรยบเทยบกบคาทค านวณไดกบคาทเกบไวในฐานขอมล จากนนคอยท าการแยกไฟลตาง ๆ ออกมาเพอรอน าไปถอดรหสลบ
3.1.3.5 โปรแกรมท าการถอดรหสลบคากญแจลบกอน จากนนจงคอยน ากญแจลบทไดนนไปถอดรหสลบคา Configuration และท าการตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอดจทลซงจะตองมความถกตอง
3.1.3.6 โปรแกรมจะบนทกคา Configuration ทถอดรหสลบไดลงไฟล เ พอใหน าไปใชงาน
3.1.3.7 โปรแกรมจะบนทกรายการถอดรหสลบลงในฐานขอมล 3.1.3.8 โปรแกรมจะสอบถามวาผใชงานจะน าคา Configuration ทไดมาสงไปตงคา
อปกรณเครอขายเลยทนทหรอไม ถาไมตองการกจะจบการท างาน 3.1.3.9 โปรแกรมจะน าสงคา Configuration ไปยงอปกรณอนใดตามทผใชระบเพอก
คนคาไดถาหากผใชงานตองการ โดยจะมการสอบถามผใชกอนในตอนทายของโปรแกรม การน าสงคาแบบอตโนมตนใชคา Configuration จากไฟลทถอดรหสลบไดสงไปยงอปกรณเครอขายปลายทางตามทระบดวยหมายเลขไอพผานโพรโทคอล SSH
3.1.3.10 โปรแกรมจะท าการลบขอมลทใชสงไปตงคาใหอปกรณแบบอตโนมตออกจากเครอง
3.1.3.11 ผใชมหนาทจะตองเขาไปตรวจสอบอปกรณทผานการตงคาแบบอตโนมตนอกครงเพอความแนใจ
29
3.1.4 การลงลายมอชอดจทลใหกบคา Configuration โปรแกรมน าคา Configuration ทไดจากอปกรณเครอขายมาลงลายมอชอดจทล
กอนน าไปเขารหสลบโดยจะน าขอมลมาท าการหาคา Message Digest ดวยอลกอรทม SHA 256 แลวน าผลทไดไปเขารหสลบดวยอลกอรทม RSA โดยใช Private key ขนาด 2048 บตของผใชงาน
ผลลพธทไดจะเปนคา Digital Signature แผนผงการลงลายมอชอดจทลแสดงดงรปท 3-4
Configuration Data
Hash Function
(SHA-256)
Message Digest
Encryption (RSA)Digital
Signature
Operator Private Key 2048 bits
รปท 3-4 การลงลายมอชอดจทลใหคา Configuration
3.1.5 การเขารหสลบคา Configuration การเขารหสลบใหคา Configuration ของอปกรณเครอขายกอนน าไปจดเกบลงใน
Backup Repository จะใชวธการเขารหสลบแบบกญแจสมมาตร โดยใชอลกอรทม AES โหมด CBC กญแจลบขนาด 256 บต กญแจลบและคาไอวทใชในการเขารหสลบโปรแกรมสรางจากการสมคาขนมาตามขนาดทก าหนด คอกญแจลบขนาด 256 บต และคาไอวขนาด 128 บต โดยโปรแกรมจะสมคาเหลานเปนครง ๆ ทใชงานโปรแกรม ผลลพธการเขารหสลบทไดจะเปน Configuration ทเขารหส
ลบแลว (Ciphertext) แผนผงการเขารหสลบแสดงดงรปท 3-5
30
Encryption(AES-CBC)
Configuration Data Ciphertext
Secret key 256 bits
Initial Vector 128 bits
รปท 3-5 การเขารหสลบคา Configuration
3.1.6 การตรวจสอบความถกตองของไฟลบบอด คา Configuration ทเขารหสลบแลวและขอมลทเกยวของอน ๆ ทถกบบอดเกบไว
ใน Backup Repository กอนเกบจะมการหา Message Digest ของไฟลจากการใชอลกอรทม SHA-256 แลวน าผลลพธมาเกบไวในฐานขอมล เมอมการเรยกใชไฟล โปรแกรมกจะหาคา Message Digest ของไฟลทถกเรยกใชอกครงดวยอลกอรทมเดมและน าผลลพธทไดมาเปรยบเทยบกบคาทเกบ
ไวในฐานขอมล ถาเปนคาเดยวกนถงจะน าไฟลไปใชถอดรหสลบ แผนผงการท างานดงรปท 3-6
Hash Function
(SHA-256)
Message Digest
Message Digest in Database
A = B ?
Authentic
yes
A B
Compress File
รปท 3-6 การเปรยบเทยบคา Message Digest ของไฟลบบอด
3.1.7 การเขารหสลบคากญแจลบ กญแจลบทใชเขารหสลบคา Configuration ในแตละครงทสรางกญแจลบนขนมา
เมอน าไปใชเขารหสลบแลวกญแจนกจะถกน าไปเขารหสลบดวยโดยใชอลกอรทม RSA ใชคา Public Key ขนาด 2048 บตของหวหนาของผใชงาน (Manager Public Key) ผลลพธทไดจะเปนกญแจลบ
ทเขารหสลบแลวและจะถกน าไปจดเกบไวใน Backup Repository แผนผงการท างานดงรปท 3-7
31
Encryption (RSA)Secret key keyCiphertext
Manager Public Key 2048 bits
รปท 3-7 การเขารหสลบคากญแจลบ
3.1.8 การถอดรหสลบคากญแจลบ เมอตองการใชงาน Configuration ใน Backup Repository โปรแกรมจะถอดรหส
ลบดวยการใชกญแจลบ แตกญแจลบนถกเขารหสลบเอาไว การถอดรหสลบเพอเอากญแจลบนจะใชอลกอรทม RSA ใชคา Private Key ขนาด 2048 บตของหวหนาของผใชงาน (Manager Private Key) ผลลพธทไดจะเปนกญแจลบทโปรแกรมจะเอาไปใชถอดรหสลบคา Configuration แผนผงการ
ท างานดงรปท 3-8
Decryption (RSA) Secret KeykeyCiphertext
Manager Private Key 2048 bits
รปท 3-8 การถอดรหสลบเพอเอากญแจลบ
3.1.9 การถอดรหสลบคา Configuration เมอไดกญแจลบจากการถอดรหสลบมาแลวโปรแกรมกจะน าไปใชถอดรหสลบคา
Configuration ทเขารหสลบไวโดยใชอลกอรทมเดมทเขารหสลบคอ AES-256 โหมด CBC แผนผง
การท างานดงรปท 3-9
Decryption (AES-CBC)
Configuration DataCiphertext
Secret key 256 bits
Initial Vector 128 bits
รปท 3-9 การถอดรหสลบคา Configuration
32
3.1.10 การตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอดจทล หลงจากไดคา Configuration ทถอดรหสลบมาแลว โปรแกรมจะท าการตรวจความ
ถกตองแทจรงของขอมลจากลายมอชอดจทลดวยวธการน าไฟลคา Configuration มาท าการหาคา Message Digest ดวยอลกอรทม SHA-256 แลวน าผลทไดไปเปรยบเทยบกบผลของการน าคาลายมอชอดจทลมาถอดรหสลบดวยอลกอรทม RSA โดยใช Public Key ขนาด 2048 บตของผใชงาน หากผลการเปรยบเทยบไดคาตรงกนโปรแกรมกจะบนทกผลการถอดรหสลบลงไฟลขอมลใหกบผใชงานได
น าไปใชตอไป แผนผงการตรวจสอบความถกตองของขอมลจากลายมอชอดจทลดงรปท 3-10
Hash Function
(SHA-256)
Message Digest
Decryption (RSA)
Digital Signature
Message Digest
A = B ?
Authentic
yes
A B
Configuration Data
Operator Public Key 2048 bits
รปท 3-10 การตรวจสอบความถกตองของคา Configuration จากลายมอชอดจทล
3.1.11 การตรวจสอบ Digital Certificate ของผใชงาน โปรแกรมไดก าหนดใหผใชงานจะตองสง Digital Certificate ของตวเองมาให
โปรแกรมน าไปใชงาน กอนทจะน าไปใชงานโปรแกรมจะตรวจสอบกอนวา Digital Certificate ทผใชสงมาใหนนผานการออกโดยผใหบรการออกใบรบรอง (CA) ทก าหนดไวในโปรแกรมหรอไม โดยการตรวจจะน าขอมลตาง ๆ ใน Digital Certificate (ขอมลส าคญคอคา Public Key) มาท าการหาคา Message Digest ดวยอลกอรทม SHA-256 แลวน าผลทไดไปเปรยบเทยบกบผลของการน าคาลายมอชอดจทลทแนบมาในใบรบรองมาถอดรหสลบดวยอลกอรทม RSA โดยใช Public Key ขนาด 2048 บตของ CA การเปรยบเทยบผลจะตองตรงกนโปรแกรมจงจะน า Digital Certificate ไปใชงาน แผนผง
การท างานดงรปท 3-11
33
User s ID information
User s Public Key
CA information
CA Digital Signature
}Hash Function
(SHA-256)H Message Digest
Decryption (RSA 2048)
CA Public Key 2048 bits
Message Digest
Comparing value}
Digital Certificate
รปท 3-11 การตรวจสอบ Digital Certificate ของผใชงาน
3.2 ขนตอนการพฒนาโปรแกรม
3.2.1 ศกษาขอมลของอปกรณเครอขายเรองการส ารองขอมลวาจะตองใชชดค าสงอะไรเพอใหไดขอมลครบถวนทพรอมน าไปใชในการกคนระบบเมอเกดปญหา และวธการเขาถงอปกรณเครอขายนน ๆ จากระยะไกลดวยโพรโทคอล SSH รวมทงศกษาวทยาการเขารหสลบทเกยวของและการเลอกมาประยกตใชงาน
3.2.2 วเคราะหและออกแบบระบบงาน โดยตองระบชดค าสงทใชกบอปกรณแตละประเภท วทยาการเขารหสลบทน ามาใช รวมถงขอมลทจะตองจดเกบไวในฐานขอมลเพอเปนบนทกรายงานการท างานเกบส ารองขอมล
3.2.3 การพฒนาโปรแกรม
3.2.3.1 เขยนโปรแกรมใหท าการ Remote Access ไปทอปกรณเครอขายโดยใชโพรโทคอล SSH และการน าขอมลคา Configuration ออกมาเพอเตรยมความพรอมกอนท าการเกบส ารอง ซงตองไดขอมลครบถวน หากขาดสวนใดสวนหนงจะสงผลกระทบตอการน าไปกคนระบบ (Restore) ซงอาจไมประสบความส าเรจในการกคนระบบเหลานนได
3.2.3.2 เ ข ยน โปรแกรมใหท าการลงลายม อช อด จ ท ลและ เข า รห สล บค า Configuration ทจะท าการเกบส ารอง และเขยนโปรแกรมการถอดรหสลบและตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอดจทลกอนทจะน าขอมลออกไปใชงาน
3.2.3.3 เขยนโปรแกรมใหสามารถสงค าสงใน Configuration ทไดจากการถอดรหสลบไปยงอปกรณเครอขายดวยโพรโทคอล SSH ตามทระบดวยหมายเลขไอพจากผใชงาน
34
3.2.3.4 เขยนโปรแกรมใหแสดงรายการยอย ๆ ของการท างานตาง ๆ ใหผใชทราบ และแสดงรายการบนทกการท างานในแตละครง
3.2.3.5 เขยนโปรแกรมอธบายวธใชงานโปรแกรม คาทตองระบใหโปรแกรมน าไปประมวลผลเพอใหโปรแกรมท างานไดอยางถกตอง
3.2.4 ทดสอบการท างานของโปรแกรมทพฒนาขน
3.3 โพรโทคอลและวทยาการเขารหสลบทใช
3.3.1 ในการเขาถงอปกรณเครอขาย ใชโพรโทคอล SSH เชอมตอไปทอปกรณเครอขายแลวท าการสงงานอปกรณใหท างานตามชดค าสงทเตรยมไวเพอเกบคา Configuration และน าผลลพธทไดจากชดค าสงเหลานนมาจดเกบไวทเครอง Workstation
3.3.2 วทยาการเขารหสลบทเลอกน ามาประยกตใชประกอบไปดวย
3.3.2.1 ก า ร เ ข า แ ล ะ ถ อ ด ร ห ส ล บ (Encryption แ ล ะ Decryption) ข อ ม ล Configuration เลอกใชอลกอรทม Symmetric Key Cryptography แบบ AES โหมดการท างานแบบ CBC ขนาดกญแจลบ (Secret key) 256 บต เพราะวาอลกอรทม AES เปนหนงในมาตรฐานการเขารหสลบขอมลอเลกทรอนกสทปลอดภยทสดทมการใชงานในปจจบน
3.3.2.2 การสรางกญแจลบ (Secret key) จะใชการสมคาขนาด 256 บตทกครงทสรางกญแจลบ
3.3.2.3 เนองจากการท างานของอลกอรทม AES โหมด CBC จะตองใชคาเรมตน (Initialization Vector) รวมดวยในการเขาและถอดรหสลบ ดงนนคานจงใชวธการสมคาขนาด 128 บต และเกบเปนไฟลขอมลรวมไวทเดยวกบขอมล Configuration ทเขารหสลบไวแลว
3.3.2.4 การเขาและถอดรหสลบขอมลใหคากญแจลบ (Secret key) เลอกใชระบบเขารหสลบแบบอสมมาตร (Asymmetric Key Cryptography) โดยเลอกใชอลกอรทม RSA โดยจะใชกญแจสาธารณะในการเขารหสลบกญแจลบ และใชกญแจสวนตวถอดรหสลบกญแจลบ
3.3.2.5 การท า Message Digest ของขอมล Configuration ท จด เกบ เ พอใชประกอบการลงลายมอชอดจทล เลอกใชอลกอรทม SHA-256
3.3.2.6 การลงลายมอชอดจทล (Sign) และการตรวจสอบความถกตองแทจรงของขอมลจากลายมอชอ (Verify) เลอกใชอลกอรทม RSA โดยการลงลายมอชอจะใชกญแจสวนตวของผปฏบตงาน และการตรวจสอบความถกตองของขอมลจากลายมอชอดจทลจะใชกญแจสาธารณะของผปฏบตงานคนนนมาท าการตรวจสอบ
35
3.3.2.7 ใบรบรองดจทล (Digital Certificate) ใชใบรบรองตามมาตรฐาน X.509 ซงเปนรปแบบมาตรฐานตาม ITU-T ส าหรบโครงสราง พนฐานกญแจสาธารณะ (Public Key Infrastructure หรอ PKI) ใบรบรองดจทลทผใชถอครองถกออกใหโดยผใหบรการออกใบรบรอง (Certification Authority หรอ CA) ทก าหนดไว โดยในโครงงานนคอหนวยงานของผปฏบตงานจะท าหนาทเปน CA ทงน CA สามารถก าหนดเปนหนวยงานอนกได เชน ฝายบรหารความเสยงองคกร เปนตน
3.4 การบรหารจดการกญแจ (Key Management) และคา Initialization Vector (IV) กญแจสมมาตรและอสมมาตร (Symmetric Key และ Asymmetric Key) ทเกยวของในการ
ท างานของโปรแกรม Crypt Config นจะประกอบดวย กญแจลบ(Secret Key), กญแจสวนตวของหวหนางาน (Manager Private key), กญแจสาธารณะของหวหนางาน (Manager Public key), กญแจสวนตวของผปฏบตงาน (Operator Private key) และ กญแจสาธารณะของผปฏบตงาน (Operator Public key) กญแจเหลานมการบรหารจดการดงตอไปน
3.4.1 กญแจลบทถกสรางโดยโปรแกรม Crypt Config ในการท างานแตละครงของการจดเกบขอมล Configuration ของอปกรณนน ๆ ในแตละครง จะเกบในรปแบบของไฟลทถกเขารหสลบด วยกญแจสาธารณะของห วหนางาน (Manager Public key) รวมไวท เ ด ยวกบขอมล Configuration ท เขารหสลบแลว
3.4.2 กญแจสาธารณะของทงหวหนางานและผปฏบตงาน จะอยในรปแบบของใบรบรองดจทล (Digital Certificate) โดยของผปฏบตงานจะอยกบผปฏบตงาน และของหวหนางานจะเกบไวท Repository กลางทผปฏบตงานสามารเขาถงและน าไปใชในการเขารหสลบกญแจลบได เมอโปรแกรมท างานการเขารหสลบคา Configuration เสรจแลว โปรแกรมจะส าเนากญแจของทงสองคนนไวทเดยวกบขอมล Configuration ทเขารหสลบแลวเพอจะไดน าไปใชเปนสวนหนงในกระบวนการถอดรหสลบคา Configuration
3.4.3 กญแจสวนตวของทงหวหนางาน และของผปฏบตงานทใชลงลายมอชอดจทล ใหเจาของกญแจเปนผดแลรบผดชอบเองทงหมด ทงในดานการสราง, การใชงาน, การจดเกบรกษา และการท าลาย
3.4.4 กญแจสวนตวส าหรบถอดรหสลบคากญแจลบของขอ 3.4.1 ผรบผดชอบคอหวหนางาน เมอจะใชงาน ผปฏบตงานจะตองขอตอหวหนางานเอง หรอจะใหหวหนางานเปนผใชเองกได
3.4.5 คา IV ทสรางขนในแตละคร งจะเขารหส (Encode) เปน Base-64 แลวเกบเปนไฟลขอมลรวมไวทเดยวกบขอมล Configuration ทเขารหสลบแลว
36
3.5 แผนผงการท างานของโปรแกรม
3.5.1 การเกบคา Configuration จากอปกรณเครอขาย การท างานของโปรแกรม Crypt Config ในสวนของการเกบคา Configuration ของ
อปกรณเครอขายมาเขารหสลบจะเรมตนท างานดงรปท 3-12 โดยผใชจะตองระบคาใหกบโปรแกรมไดแก ไฟล Private key, Digital Certificate ของผปฏบตงานเองในรปแบบ PKCS12, Passphrase ทใชยนยนตวตนวาเปนเจาของไฟล และไฟล Digital Certificate ของหวหนางานในรปแบบ PEM จากนนโปรแกรมจะท าการตรวจสอบ Digital Certificate วาออกโดยผใหบรการทก าหนดไวหรอไม โดยผลการตรวจสอบจะตองผานเทานนถงจะท างานตอในขนตอนถดไป
37
Certificate
Public key
?
0
SubjectEmail SubjectCN Cert.
Certificate CA
CA ?
Private key, Certificate Passphrase
รปท 3-12 การตรวจสอบ Digital Certificate และการน าคา Asymmetric key เขาระบบ
38
หลงจากทผานการตรวจสอบ Digital Certificate แลวโปรแกรมจะน าเขา Private key ของ
ผปฏบตงาน เขาระบบ สรางคา Secret key และคา IV เพอเตรยมใชงานขนตอนตอไปดงรปท 3-13
Private key PKCS12
?
16 IV
32 Secret Key
0
1
Error
รปท 3-13 น าเขาคา Private key สราง Secret key และคา IV
คาทตองใชตอมาคอไอพแอดเดรสของอปกรณ, ชนดของอปกรณ โดยตองระบวาเปน Router หรอ Switch จากนนโปรแกรมจะท าการเชอมตอไปยงอปกรณตามไอพแอดเดรสทระบมาดวยโพรโทคอล SSH ถาไมสามารถเชอมตอไดกจะหยดการท างาน แตถาเชอมตอไดกจะท าการเกบคา Configuration ของอปกรณนน ๆ ดวยการรนชดค าสงทเตรยมไวตามแตละชนดของอปกรณ แผนผง
การท างานเปนดงรปท 3-14 จากนนเมอไดคา Configuration แลวกจะน าไปประมวลผลการเขารหสลบและลงลายมอชอดจทลตอไป
39
IP Address
Router ?
SSH
Run Configuration Switch
Run Configuration Router
Configuration
1
2
SSH ?
host unreachable
รปท 3-14 การเชอมตอไปยงอปกรณเครอขายตามเพอเกบคา Configuration เมอไดคา Configuration มาไดแลว โปรแกรมจะท าการลงลายมอชอดจทล, เขารหสลบ
และบนทกผลของการเขารหสลบลงเปนไฟลตามล าดบ ซงผลลพธทไดคอไฟลคา Configuration ท
เขารหสลบแลว และไฟลคา Digital Signature
40
Configuration
Secret key Configuration AES CBC
2
?
data not found
?
Configuration
3
Private key
?
error
Digital Signature
error
รปท 3-15 การเขารหสลบคา Configuration เมอโปรแกรมลงลายมอชอดจทลและเขารหสลบคา Configuration แลวโปรแกรมกจะ
จดเกบคา Secret key และคา IV ไวเพอทจะสามารถไดน ามาใชถอดรหสลบไฟลนตอไป การจดเกบมวธดงตอไปน
คา Secret key จะถกน าไปเขารหสสลบดวยวธการ Asymmetric key cryptography โดยใช Public key ของหวหนางาน โดยวธนท าเพอลดความเสยงในเรองการไมสามารถถอดรหสลบคา
41
Secret key ไดอนเนองมาจากการไมสามารถถอดรหสลบคา Secret key ได กลาวคอถาหากใช Public key ของผปฏบตงานมาใชเปนกญแจเขารหสลบคา Secret key แลวเกดเหตการณไมคาดคด เชน ผปฏบตงานท า Private key หาย ลาออกไปแลวไมไดให Private key ไว หรอหายตวไปไมมใครตดตอได คา Secret key ทเขารหสลบไวกจะถอดรหสลบไมได สงผลใหไมสามารถถอดรหสลบคา Configuration ไดดวย แตในกรณน ถาหากหวหนางานท า Private key ของตนหายกจะไมสามารถถอดรหสลบคา Secret key นไดเชนกน จงนบวายงคงมความเสยงทหลงเหลออย
คา IV ทสรางมาจะมรปแบบขอมลเปน Binary ดงนนการจะจดเกบลงไฟลจะถกน าไปเขารหสเปน Base64 กอนแลวคอยบนทกลงไฟล เมอตองการใชงานกจะตองถอดรหสกอน
การจดเกบไฟลทเกยวของทงหมดนจะแยกเปนแตละไฟล จากนนคอยรวมไฟลทงหมด ไดแกไฟล Configuration ทเขารหสลบ, ไฟลคา Digital Signature, ไฟลคา Secret key ทเขารหสลบแลว ไฟลคา IV และไฟล Digital Certificate ของผปฏบตงานในการท างานครงนน ๆ มารวมและท าการ
บบอดเปนไฟลๆเดยว แผนผงการท างานดงรปท 3-16
42
3
IV Base64
IV
Public key Secret key
?
Secret key
error
Digital Signature, Configuration, IV, Secret key Digital
certificate
4
Backup Repository
Secret key
Base64
รปท 3-16 การจดเกบรวมรวมไฟลคา IV ไฟลทเขารหสลบแลว และไฟลรายมอชอดจทล
43
ไฟลบบอดทไดจากขนตอนดานบนจะถกน าไปค านวณหาคา Message Digest คาทไดนจะ
น าไปจดเกบเปนสวนหนงในชดขอมลบนทกรายการผลการเกบส ารองคา Configuration ไวในฐานขอมล เมอบนทกรายงานการท ารายการเสรจแลวกจะจบการท างานการเกบส ารองคา
Configuration ของอปกรณตวนน ๆ แผนผงการท างานดงรปท 3-17
Message digest
Backup
Backup
4
Backup
รปท 3-17 การจดเกบบนทกรายงานการท ารายการเกบส ารองคา Configuration
44
จากรปท 3-2 ถง 3-7 มกระบวนการท างานสรปมดงน
3.5.1.1 รบขอมลจากผใชงาน ประกอบดวย IP Address ของอปกรณทจะเกบส ารอง
คา Configuration, ชนดของอปกรณเปน Router หรอ Switch, ไฟล Digital Certificate และไฟล
Private key ของผปฏบตงานในรปแบบ PKCS12, Passphrase ของ Private key ของผปฏบตงาน และไฟล Digital Certificate ของหนวยงานเพอใชคา Public key ในนนเปนกญแจในการเขารหสคา Secret key
3.5.1.2 ตรวจสอบ Digital Certificate ของทงสองวาไดรบการออกโดย CA ทก าหนดไว
3.5.1.3 สราง Secret Key ขนาด 256 บต และคา IV ขนาด 128 บตดวยวธการสมคา
3.5.1.4 เชอมตอไปยงอปกรณเครอขายตาม IP Address ทระบมาดวยโพรโทคอล SSH เพอเขาไปเกบคา Configuration ตามชนดของอปกรณไดแก
- ถาเปน Switch จะใชชดค าสง show inventory, show version, show running-configuration full, show vlan brief และ show ip route
- ถาเปน Router จะใชชดค าสง show inventory, show version, show running-configuration full และ show ip route
3.5.1.5 ลงลายมอชอดจทลใหกบขอมลในขอ 3.5.1.4 ดวยอลกอรทม RSA โดยใช Private key ของผใช จะไดผลลพธเปนคา Digital Signature และเกบผลลงไฟล
3.5.1.6 ใชขอมลทไดจากขอท 3.5.1.4 มาเขารหสลบดวยวธการ AES โดยใช Secret key และคา IV ทไดจากขอ 3.5.1.3 และเกบผลลงไฟล
3.5.1.7 เขารหสลบคา Secret Key โดยใช Public key ของหวหนางาน 3.5.1.8 บนทกคา IV ทเขารหสดวย Base 64, คา Secret Key ทเขารหสลบแลว และ
Certificate ของผใช ลงไฟลแตละไฟล จะไมรวมเกบรวมกน 3.5.1.9 น าไฟลผลลพธตาง ๆ ทไดจากกระบวนการขางตนมาบบอดรวมเปนไฟลเดยว
และค านวณหาคา Message Digest ของไฟลดวยอลกอรทม SHA-256 3.5.1.10 ท าบนทกรายงานรายการเกบส ารองคา Configuration โดยจะจดเกบขอมล
หลก ๆ ไดแก ชอผปฏบตงานตามคา Common Name, Email Address ของคา Subject ทไดจาก Certificate, คา Message Digest ทไดจากขอ 3.5.1.9, วนท, เวลา และเหตผลการท าลงในฐานขอมล
3.5.1.11 ท าการจดเกบไฟลทบบอดแลวจากขอ 3.5.1.9 ลงใน Backup Repository และจบการท างาน
45
3.5.2 การเรยกใชคา Configuration ทถกเขารหสลบและการตรวจสอบขอมล เมอมความประสงคจะใชคา Configuration ทเกบส ารองไว โปรแกรมจะเขาไปน า
ไฟลทระบมาท าการถอดรหสลบ และบนทกคาลงไฟลใหน าไปใชงานตอ ซงกอนบนทกคาลงไฟลนนจะมการตรวจสอบคา Message Digest ของไฟลทเกบไวใน Backup Repository กบคา Message
Digest ทบนทกไวในฐานขอมล ตามรปท 3-18, การตรวจสอบ Certificate ของหวหนางานวาออก
โดย CA ตามทก าหนด ตามรปท 3-19 และการตรวจความถกตองแทจรงของคา Configuration ทถอดรหสลบแลววาถกตองตรงตามทลงไวหรอไมดวยวธการตรวจสอบจาก Public key ของผปฏบตงานทไดจาก Digital Certificate ทเกบไวตงแตตอนท าการเกบส ารองขอมลมาใชท าการ
ตรวจสอบความถกตองของขอมลจากลายมอชอดจทลทเกบไว ตามรปท 3-20
46
Message digest (MD)
?
MD
Message digest (MD)
MD .
1
Private Key, Digital Certificate
PKCS#12
Message digest
รปท 3-18 การตรวจสอบขอมลคา Message digest
47
Private key Public key
?
Private key Secret key
?
1
2
CA
Certificate CA
Certificate CA
รปท 3-19 การตรวจสอบ Digital Certificate และการถอดรหสลบคา Secret key
48
Secret key IV Configuration
Configuration
?
Configuration
Digial Signature
?
2
รปท 3-20 การถดรหสลบไฟลคา Configuration เพอน าไปใชงาน
49
จากรปท 3-18 ถง รปท 3-20 สรปกระบวนการท างานมดงตอไปน
3.5.2.1 เลอกไฟลคา Configuration ทตองการน าไปใชงานจากบนทกรายการการเกบส ารองขอมล โดยโปรแกรมจะท าการตรวจสอบความถกตองของไฟลในเบองตนดวยการน าไฟลทระบวาจะน าไปใชจากทเกบใน Backup repository มาค านวณคา Message Digest แลวน าผลทไดไปเปรยบเทยบกบคาทบนทกไวในบนทกรายการการเกบสรองขอมลของรายการนน ถาขอมลตรงกนทกประการกจะเขาสขนตอนตอไป ถาไมตรงกนจะตองเลอกไฟลใหม เพราะวาเปนไฟลทไมนาเชอถออกตอไป
3.5.2.2 เมอผานการตรวจสอบเบองตนแลวโปรแกรมจะแตกไฟลและน า Private key ของหวหนางานมาถอดรหสลบไฟลทเกบ Secret key แลวถอดรหสคา IV ในไฟลทจดเกบคาน จากนนน าทงสองคาไปใชเปนกญแจถอดรหสลบไฟลทเกบขอมลคา Configuration ของอปกรณเครอขาย
3.5.2.3 เมอไดไฟล Configuration ทเปน Plaintext โปรแกรมจะท าการตรวจสอบวาไฟลนนเปนไฟลทผานการรบรองจากผปฏบตงานจรงหรอไม โดยเอา Public key ทเกบไวในไฟล Digital Certificate มาตรวจสอบคา Digital Signature ทเกบอยในไฟล ดวยวธการดงน
- น าไฟล Configuration ไปค านวณหาคา Message Digest
- น าคา Public key ทมอยในไฟล Digital Certificate มาใชถอดรหสลบไฟล
Digital Signature
- น าคาทไดจาก 2 ขอขางตนมาเปรยบเทยบกน ถาผลการเปรยบเทยบไดคา
เทากนกถอวาเปนขอมลทเชอถอได
3.5.2.4 เมอผานการตรวจสอบ Digital Signature แลวโปรแกรมจะเขยนขอมลทถอดรหสลบไดลงไฟลขอมลและจบการท างาน
3.5.3 การแสดงรายงานบนทกการเกบส ารองขอมล ผปฏบตงานสามารถดบนทกรายงานการเกบส ารองขอมลได โดยใหระบจ านวน
รายการทจะใหแสดงผลออกมา ซงโปรแกรมจะแสดงผลเปนรายการลาสดตามทระบมา เชน ใหแสดง
รายงานลาสด 5 รายการ เปนตน แผนผงการท างานแสดงดงรปท 3-21 การเรยกรายงานออกมาแสดงผล
50
รปท 3-21 การเรยกรายงานออกมาแสดงผล
3.6 การจดการไฟลขอมล
3.6.1 ไฟลขอมลทเกยวของ
3.6.1.1 ไฟลคา Configuration ทเขารหสลบแลว เปนไฟลทไดมาจากการเขารหสลบขอมล Configuration ของอปกรณเครอขายดวยวธการ AES
3.6.1.2 ไฟล Secret Key เปนไฟลเกบขอมลของคาทสมสรางขนมาเพอใชเปนคา Secret Key โดยจะสรางขนมาในแตละครงของการท าการส ารองขอมลคา Configuration คานจะถกน ามาเขารหสลบดวยวธการ Asymmetric Key Cryptography กอนจดเกบลงไฟลเพอเกบไวใชในการถอดรหสลบไฟลคา Configuration เมอตอการใชงาน
3.6.1.3 ไฟลคา Initialization Vector (IV) เปนไฟลเกบขอมลของคาทสมสรางขนมาเพอใชเปนคา IV โดยคานจะท าการ encode ดวย base 64 กอนจดเกบลงไฟล
3.6.1.4 ไฟล Digital Signature 3.6.1.5 ไฟล Digital Certificate ของผใชปฏบตงานและหวหนางาน 3.6.1.6 ไฟลฐานขอมลบนทกรายงานการเกบส ารองขอมล
51
3.6.2 การตงชอไฟล
3.6.2.1 ไฟลขอมลตาง ๆ ในขอ 3.6.1.1, 3.6.1.2, 3.6.1.3, และ 3.6.1.4 ใชรปแบบ “yyyy-mm-dd_hhmm_hostaddress.extension” มความหมายในแตละตวดงน
- yyyy เปน ค.ศ. เชน 2018 - mm เปนคาเดอน เชน 12 เทากบเดอนธนวาคม - dd เปนวนท เชน 23 - hostaddress เปน IP Address ของอปกรณเครอขายทผใชระบมาให - extension ของไฟลตางๆ มดงตอไปน
ไฟลในขอ 3.5.1.1 ใชชอ .cph
ไฟลในขอ 3.5.1.2 ใชชอ .ske
ไฟลในขอ 3.5.1.3 ใชชอ .iv
ไฟลในขอ 3.5.1.4 ใชชอ .ds
3.6.2.2 ไฟล Digital Certificate ของผ ใ ช ใ ช ร ป แบบ CN.cer โ ด ย CN หร อ common name นจะใชของ Subject ตามมาตรฐาน X509 ซงเปนฟลดขอมลทระบชอของเจาของ Digital Certificate ใบนน
3.6.2.3 ไฟลบบอด ใชรปแบบเดยวกบขอ 3.6.2.1 แตใช extension เปนชอ .zip โดยในไฟลจะประกอบดวยไฟลขอมลตาง ๆ ตามขอท 3.6.2.1
3.6.2.4 ไฟลคา Configuration ทถอดรหสลบแลวใชรปแบบการตงชอคอ CI_YYYY-MM-DD_hhmm_decrypted_on_ YYYY-MM-DD_hhmm โดย YYYY-MM-DD_hhmm ชดแรกหมายถงไฟลทน ามาใชถอดรหสลบ และชด YYYY-MM-DD_hhmm หลงหมายถงวนเวลาทถอดรหสลบไฟล เชน_CI_2018-03-08_0003_192.168.12.138_enc_at_2018-03-08_0007.txt หมายถงไฟลคา Configuration ทเกบส ารองไวของวนท 3 มนาคม 2561 เวลา 00:03 ของอปกรณไอพ 192.168.12.138 ไดถกน ามาถอดรหสลบในวนท 3 มนาคม 2561 เวลา 00:07
3.7 โครงสรางของพนทจดเกบขอมล พนทจดเกบขอมลหรอ Backup Repository ในโปรแกรมใชชอวา REPO เปนโฟลเดอรใน
เครอง Workstation ใชเปนพนทจดเกบขอมลทเกบส ารองคา Configuration ของอปกรณเครอขายตาง ๆ และเปนโฟลเดอรทโปรแกรม Crypt Config จะเขามาน าเอาคา Configuration ของอปกรณเครอขายทเกบส ารองไวไปใชงาน ประกอบดวย 2 โฟลเดอรยอยไดแก
52
3.7.1 โฟลเดอรจดเกบคา Configuration ท Backup มาแลวและท าการเขารหสลบและบบอดแลว ตงชอวาโฟลเดอร 01_Backup_Repository โฟลเดอรนจะเกบรวบรวมไฟลทงหมดของการท ารายการแตละครง
3.7.2 โฟลเดอรจดเกบคา Configuration ทถอดรหสลบเพอน าคา Configuration ไปงาน ตงชอโฟลเดอรนวา 02_Restoration_Configfile_Repository
3.8 การเกบรายงาน
3.8.1 บนทกรายงานการเกบส ารองขอมล คอเมอโปรแกรมท าการจดเกบขอมล Configuration ของอปกรณเครอขายตวใด ๆ ลง Backup Repository เสรจแลวกจะเกบรายงาน
การด าเนนงานนนลงในฐานขอมลซงมชดขอมลทจดเกบดงตารางท 3-1
ตารางท 3-1 ตารางฐานขอมลการจดเกบขอมลบนทกรายงานการเกบส ารองขอมล
ชอฟลด ขอมลทจดเกบ ตวอยางขอมล
RecId ล าดบทการท ารายการ 0001
FileName ชอไฟลทบบอดรวมเปนไฟลเดยวกนแลว
2016-05-20_0955_192.168.12.138.zip
TimeStamp วนทและเวลาท ารายการ 15-05-2016 10:00
HostAddr หมายเลขไอพของอปกรณ 192.168.112.138
DeviceType ชนดของอปกรณ Router
SubjectCN ชอผท ารายการ SurapongK
ManagerCN ชอหวหนางานของผท ารายการ SayamonM
SubjectEmailAddr ทอยอเมลของผท ารายการ [email protected]
MDFileCompressed คา Message Digest ของไฟลขอมลทบบอดแลว
ccd70167e8a05aabeb0c4937579ff31f0ac1a69dd6bc79af363e34c9948e9074
Reason เหตผลทท าการเกบส ารองขอมล Schedule backup
53
3.8.2 รายงานการถอดรหสลบ เมอโปรแกรมท าการน า Configuration ของอปกรณเครอขายตวนน ๆ จาก Repository มาถอดรหสลบเสรจแลวกจะมการเกบรายงานการด าเนนงานลง
ในฐานขอมลบนทกรายการดวยเชนกน ซงชดขอมลทจดเกบมดงตารางท 3-2
ตารางท 3-2 ตารางฐานขอมลการจดเกบขอมลบนทกรายการน าไฟลไปถอดรหสลบ
ชอฟลด ขอมลทจดเกบ ตวอยางขอมล Id ล าดบทการท ารายการ 0001
Date วนทและเวลาท ารายการ 15-05-2016 10:00
FileName ชอไฟลทถกน าไปถอดรหสลบ 2016-05-20_0955_192.168.12.138.zip
DecryptBy ผทท ารายการ SurapongK
3.9 การน าคา Configuration ไปใชงาน
3.9.1 การน าไปใช Restore คา Configuration ใหอปกรณเครอขายแบบท าเอง เมอไฟลขอมลคา Configuration ทถกถอดรหสลบไดแลวจะถกเกบไวท Backup
Repository ในโฟลเดอรยอยชอ 02_Restoration_Configfile_Repository ไฟลนสามารถน าไปใช Restore คาใหกบอปกรณเครอขายตวใดกไดดวยวธการเชอมตอสาย Console จากเครองคอมพวเตอรของผท าการ Restore เขากบอปกรณเครอขายตวนนแลวเปดหนาโปรแกรม Terminal เพอเขาถงหนาจอ Console ของอปกรณ จากนนท าการเขาส โหมดตงคาอปกรณดวยค าสง Configure Terminal จากนนใหท าการคดลอกเอาเฉพาะสวนทเปนคา Configuration คอคาทเปนของค าสง show running-configure full ไปวางทโปรแกรม Terminal เพอสงค าสงตาง ๆ ไปยงอปกรณทจะตงคาใหมทจะน ามาใชทดแทนอปกรณเดม
3.9.2 การน าไปใช Restore คา Configuration ใหอปกรณเครอขายแบบอตโนมต วธน ในขนตอนการเรยกไฟลจาก Backup Repository มาถอดรหสลบ เมอ
โปรแกรมถอดรหสลบเสรจแลวโปรแกรมจะมการสอบถามผใชงานวาจะท าการสงคา Configuration นไปยงอปกรณอนใดหรอไม ถาผใชประสงคทจะท าโปรแกรมกจะใหระบทอยของอปกรณนนดวยการใสหมายเลขไอพแอดเดรทของอปกรณ และขอมลอน ๆ ทตองใชในการเขาถงอปกรณผานโพรโทคอล SSH ประกอบดวย Username, Password และ Secret Password ของโหมด Enable ของ Cisco จากนนโปรแกรมจะสงค าสงตาง ๆ จากไฟลคา Configuration ทถอดรหสลบไดไปใหอปกรณเครอขายตามทระบจากหมายเลขไอพทละค าสงผานโพรโทคอล SSH การท างานในแบบนการเชอมระหวางโปรแกรม Crypt Config กบอปกรณเครอขายตวนนจะตองไมขาดจากกน หากไมเชนนนแลว
54
การสงค าสงจะไมครบสมบรณ จะตองใชวธการในขอ Error! Reference source not found. เพมเตม
3.10 สรป ในบทนไดกลาวถงโครงสรางของระบบ, Work Flow Diagram, การจดการขอมล, การบรหาร
จดการกญแจ, การตงชอไฟลขอมลตาง ๆ ทเกยวของ การจดเกบบนทกรายงานการเกบส ารองขอมล และการน าคา Configuration ไปใชกคนคาใหอปกรณ ซงทงหมดทไดกลาวมานนใชอธบายการท างานและความสามารถของระบบทจะพฒนาขนมาเพอใชในงานเกบส ารองคา Configuration ของอปกรณเครอขายมาจดเกบไวใน Backup Repository อยางเปนหมวดหมและมความมนคงปลอดภยท าใหมนใจไดวาขอมลทจดเกบครบถวนถกตองตามตนฉบบไมถกเปลยนแปลงแกไขในระหวางทจดเกบและตลอดจนการน าคา Configuration ไปใชกคนคาใหอปกรณกมแนวทางแบบอตโนมตทใชโพรโทคอล SSH ซงชองทางการสงขอมลแบบมนคงปลอดภยในการสงแตละค าสงออกไปยงอปกรณปลายทาง
55
บทท 4 ผลการด าเนนงาน
4.1 ผลการพฒนาโปรแกรม ไดโปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวยวธการทมนคงปลอดภย ใช
ชอวาโปรแกรม Crypt Config เปนโปรแกรมทท างานบนระบบปฏบตการ Linux ใชงานผานสวนเชอมตอประสานผใชงานแบบผานบรรทดค าสง (Command-line user interface: CLI) โปรแกรมนพฒนาขนมาดวยภาษา Python เวอรชน 2.7.12 และใชระบบฐานขอมล SQLITE เวอรชน 3 ในการจดเกบบนทกการท ารายการในแตละครงของการท างาน มจดเกบบนทกเปนไฟล log เพอใชในการตดตามปญหาขอผดพลาดตาง ๆ ในอาจเกดขนในระหวางทโปรแกรมก าลงท างาน
4.2 วธการทดลอง วธการท าการทดลองใชงานโปรแกรมทพฒนาขนนจะท าการตดตงโปรแกรมบนเครอง
คอมพวเตอรเสมอนบนโปรแกรม VMWare Player และท าการเชอมตอเครองคอมพวเตอรทตดตงโปรแกรมนกบอปกรณเราเตอร (Router) จ าลองบนโปรแกรม GNS3 เวอรชน 1.3.11 ผานระบบเครอขายจ าลองของโปรแกรม VMWare Player จากนนกท าการสงใหโปรแกรมท างานตามหนาทตาง ๆ ทไดออกแบบไว
4.3 สภาพแวดลอมของการทดลอง
4.3.1 อปกรณเครอขาย ในการทดลองนจะใชอปกรณ Router แตเนองจากอปกรณจรงมราคาสงจงใช
โปรแกรมประยกตชอ GNS3 ท าการจ าลองแทนการใชอปกรณจรง ในการจ าลองนจะใชเฟรมแวรหรอ IOS ของ Cisco คอ C2600 Software (C2600-ADVENTERPRISEK9-M), Version 12.3(14)T7, RELEASE SOFTWARE (fc2) โดยเฟรมแวรนสามารถท างานไดทงบนอปกรณจรงและอปกรณจ าลอง ท าการตงคาให Router ทกตวสามารถเขาถงจากระยะไกลไดดวยโพรโทคอล SSH เวอรชน 2 เพอใหโปรแกรม Crypt Config เขาไปท าการจดเกบขอมลคา Configuration และประมวลผลอน ๆ ตามทไดโปรแกรมไว
56
R
รปท 4-1 อปกรณ Router จ าลอง
รปท 4-2 เวอรชนของ IOS ทใชในการทดลอง
4.3.2 การเชอมตอระบบเครอขาย ท าการเชอมตอระบบเครอขายโดยก าหนดหมายเลขไอพของระบบเครอขายนคอ
192.168.12.0/24 ดงรปท 4-3 และการเชอมตอระหวาง อปกรณ Router จ าลองกบเคร องคอมพวเตอรทตดตงโปรแกรม Crypt Config ผานทาง Virtual Network Interface ของโปรแกรม
VMWare Player ดงรปท 4-4 ซงมอปกรณตาง ๆ ดงตอไปน
57
4.3.2.1 โปรแกรม Crypt Config ตดตงบนเครองคอมพวเตอรเสมอน มหมายเลขไอพคอ 192.168.12.145/24
4.3.2.2 Router BKK ม ห ม า ย เ ล ข ไ อ พ ส า ห ร บ บ ร ห า ร จ ด ก า ร อ ป ก ร ณ ค อ 192.168.12.138/24 และมหมายเลขไอพของอนเตอรเฟส Loopback คอ 172.16.1.253/32 ใชจ าลองเปนหมายเลขไอพของระบบเครอขายภายในทเชอมตอกบอปกรณตวน บทบาทหนาทคอเปนอปกรณทโปรแกรม Crypt Config จะเขาไปท าการส ารองคา Configuration
4.3.2.3 Router PKT ม ห ม า ย เ ล ข ไ อ พ ส า ห ร บ บ ร ห า ร จ ด ก า ร อ ป ก ร ณ ค อ 192.168.12.146/24 และมหมายเลขไอพของอนเตอรเฟส Loopback คอ 172.16.1.254/32 เพอใชจ าลองเปนหมายเลขไอพภายในระบบทเชอมตอกบอปกรณน อปกรณตวท าการเชอมตอกบ Router R1 เพอสรางเสนทางไปหาหมายเลขไอพ 10.1.2.3 บทบาทหนาทของ Router PKT นจะเปนอปกรณท โปรแกรม Crypt Config เขาไปท าการเกบส ารองคา Configuration จากนนจะถกแกไขคา Routing ทชไปหาหมายเลขไอพ 10.1.2.3 ทอยใน R1 จากนนจะกคนคาใหกลบมาดวยโปรแกรม Crypt Config เพอใหการสอสารระหวางเครอง PC1 กบไอพหมายเลข 10.1.2.3 กลบมาปกต
4.3.2.4 Router Spare ม หมาย เลข ไอ พ ส า หร บบร ห า รจ ด การ อปกร ณ ค อ 192.168.12.200 เปนอปกรณทจะใชน า Configuration ทเกบจากเราเตอร BKK มาใชในตงคาใหอปกรณตวน
4.3.2.5 Router R1 มหมายเลขไอพ 10.20.30.1/30 และหมายเลขไอพท เปน Loopback คอ 10.1.2.3/32 ใชจ าลองเปนหมายเลขไอพภายในทเชอมตอกบอปกรณน
รปท 4-3 แผนผงระบบเครอขายทท าการทดสอบและหมายเลขไอพทก าหนด
การเชอมตอกบระบบเครอขายของโปรแกรม VMWare player กบของโปรแกรม GNS3 จะใช Node Cloud ของ GNS3 ตอกบอนเตอรเฟส VMWare Network ของโปรแกรม VMWare
58
Player ดงรปท 4-4 โดยสญลกษณกอนเมฆในภาพจะหมายถง Node Cloud ทเชอมตอระบบเครอขายของโปรแกรม GNS 3 กบระบบครอขายของ VMWare Player
รปท 4-4 การเชอมตอเครอขายของ GNS3 กบระบบเครอขายของ VMWare Player
4.3.3 โปรแกรม Crypt Config ท าการตดตงโปรแกรม Crypt Config ไวบนเครองคอมพวเตอรทท างานบน
ระบบปฏบตการ Ubuntu เวอรชน 16.04 LTS โดยคอมพวเตอรเครองนเปนเครองเสมอน ท างานอยบนโปรแกรม VMWare Player เชอมตอกบ Router ตาง ๆ ผาน Node Cloud ของ GNS 3 จากError! Reference source not found. แสดงหนาจอโปรแกรมทตดตงแลว โดยหนาจอนจะปรากฏกตอเมอใชค าสง cryptconfig about บนหนาจอ Terminal ซงจะปรากฏขอความตอนรบของโปรแกรม
59
รปท 4-5 หนาจอแสดงขอความตอนรบของโปรแกรม Crypt Config
4.3.4 การตรวจสอบการเชอมตอระบบเครอขาย อปกรณ Router กบเครองคอมพวเตอรทตดตงโปรแกรม Crypt Config จะตอง
สามารถสอสารกนได จงท าการทดสอบการเชอมตอระหวางอปกรณกบเครองทตดตงโปรแกรม การทดสอบนใชค าสง Ping และ Telnet จากเครองทตดตงโปรแกรมเอาไว โดยการ Ping จะระบปลายทางเปนหมายเลขไอพของ Router ตวอยางนคอหมายเลขไอพเปน 192.168.12.138 ผลทไดคอเครองตนทางสามารถสอสารกบ Router ได คอผลค าสง Ping ปรากฏคา Lost เปนรอยละศนย
(0% packet loss) ดงรปท 4-6
รปท 4-6 ทดสอบสถานะการเชอมตอดวยค าสง Ping
60
ส าหรบค าสง Telnet นนอกจากหมายเลขไอพแลวจะตองระบหมายเลขพอรตทใช SSH เขาถง
อปกรณดวย โดยปกตจะใชพอรตหมายเลข 22 เมอสงค าสงแลวจะไดผลลพธดงรปท 4-7
รปท 4-7 ทดสอบสถานะการเชอมตอดวยค าสง Telnet
4.4 ผลการทดลอง
4.4.1 ผลการเรยกดวธการใชงานโปรแกรม การใชงานโปรแกรมผานสวนเชอมตอประสานผใชงานแบบผานบรรทดค าสง (CLI)
การระบคาพารามเตอรตาง ๆ ใหโปรแกรมน าไปท างานสามารถศกษาไดผานการด Help ของ
โปรแกรม การดขอมลดงกลาวนจะใชค าสง cryptconfig --help จะไดผลดงรปท 4-8 ทแสดงคาพารามเตอรตาง ๆ ของโปรแกรม ประกอบดวยคาหลกๆ ดงตอไปน
4.4.1.1 ค าสง about คอการสงงานใหโปรแกรมแสดงขอความตอนรบ ดงรปท 4-5 4.4.1.2 ค าสง get-config คอการสงงานใหโปรแกรมท าการเขาไปยงอปกรณ
เครอขายผานโพรโทคอล SSH ตามหมายเลขไอพทระบเพอเกบขอมลคา Configuration มาเขารหสลบ และจดเกบไวใน Repository
4.4.1.3 ค าสง use-config คอการสงงานใหโปรแกรมน าขอมล Configuration ทเขารหสลบเอาไว ทจดเกบไวใน Repository มาถอดรหสลบเพอใหไดขอมลทจะน าไปใชงานตอไป
4.4.1.4 ค าสง backup-logs คอการสงงานใหโปรแกรมแสดงบนทกรายการของการเกบคา Configuration ของอปกรณเครอขายจากการท างานในขอ 4.4.1.2
4.4.1.5 ค าสง decrypt-logs คอการสงงานใหโปรแกรมแสดงบนทกรายการของการถอดรหสลบคา Configuration ของอปกรณเครอขายจากการท างานในขอ 4.4.1.3
4.4.1.6 ค าสง register คอการสงงานใหโปรแกรมท าการลงทะเบยนผใชงาน เพอสรางเปนบญชสวนตวของผใชงานแตละคน
4.4.1.7 ค าสง send-config-cmd คอสงงานใหโปรแกรมน าขอมล Configuration ทถอดรหสลบแลวไปใชตงคาใหอปกรณอนใดตามทผใชระบดวยหมายเลขไอพ โดยโปรแกรมจะสงค าสงตาง ๆ ในไฟลนไปยงอปกรณปลายทางผานโพรโทคอล SSH
61
รปท 4-8 หนาจอ Help ของโปรแกรมหลก
นอกจากพารามเตอรหลกของโปรแกรมแลวยงมพารามเตอรยอยของแตละค าสง จะสามารถดไดจากการใชค าสง Help ตอทายพารามเตอรยอยนน ๆ เชน การดพารามเตอรยอยของค าสง get-
config จะใชค าสง sudo crytpconfig get-config --help กจะไดผลลพธดงรปท 4-9 เปนตน
รปท 4-9 หนาเจอ Help ของโปรแกรมยอย
62
4.4.2 การลงทะเบยนผใชงาน ผใชสามารถสรางบญชสวนตวเอาไวใชส าหรบการใชงานครงตอ ๆ ไปได โดยผใช
จะตองท าการ Register โปรแกรมจะใหใสขอมลทจ าเปนตองใชประกอบดวย ชอ Username, Password, Enable mode password, ต าแหนงทอยของไฟล Private key, Passphrase ของ Private key และ ต าแหนงทอยของไฟล Digital Certificate ของหวหนางาน เมอระบคาครบแลวโปรแกรมกจะสรางชอบญชมาใหผใชเพอส าหรบน าไปอางองการใชงานในครงตอไป โดยชอนจะเปน
การส มค าขนมาเ พอปองกนช อซ ากบผ ใชคน อน ด งรปท 4 -10 โปรแกรมสร างบญชช อ wtlvxbztvj.profile ส าหรบการลงทะเบยน โปรแกรมจะเกบรหสผานไวในไฟล ผใชงานควรยอมรบความเสยงนเอง ถาไมตองการลงทะเบยนกยงสามารถใชโปรแกรมได เพยงแตอาจจะตองระบพารามเตอรจ านวนมากในการท างานแตละครง
รปท 4-10 หนาจอลงทะเบยนผใชงาน
4.4.3 การสงงานใหโปรแกรมท าการส ารองคา Configuration ของอปกรณเครอขาย
4.4.3.1 ผลการทดลองการใชโปรแกรมท าการเกบส ารองคา Configuration ของอปกรณ Router หมายเลขไอพ 192.168.12.138 โปรแกรมจะแสดงขอมลตาง ๆ ระหวางทโปรแกรมก าลงท างานประกอบดวย สถานะการเชอมตอไปยงอปกรณ ตวอยางของคา Configuration ทได ผลการตรวจสอบคา Digital Certificate และบนทกรายการการท างานลาสด 5 ล าดบ หนาจอผลกร
ท างานโดยรวมนแสดงดงรปท 4-11
63
รปท 4-11 หนาจอแสดงผลการเกบส ารองคา Configuration ของ Router
4.4.3.2 ผลการทดลองการใชโปรแกรมท าการเกบส ารองคา Configuration ของอปกรณ Switch โดยการเชอมตอระบบเครอขายจรง การทดลองนไดน าโปรแกรมไปตดตงบนระบบปฏบตการ Fedora 28 ซงเปนรนใหมลาสดทออกมาเมอวนท 2 พฤษภาคม 2561 เพอทดสอบการท างานกบระบบปฏบตการอนดวย ผลการตดตงโปรแกรมสามารถตดตงไดและโปรแกรมกท างาน
บนระบบปฏบตการนได ดงรปท 4-12
64
รปท 4-12 ผลการตดตงโปรแกรมบน Fedora
จากนนไดเรมท าการทดลองใชโปรแกรมท าการเกบส ารองคา Configuration ของอปกรณ Switch รน Cisco WS-C2960-48TC-S เฟรมแวร Cisco IOS Software, C2960 Software (C2960-LANLITEK9-M), Version 12.2(50)SE4, RELEASE SOFTWARE (fc1) โดยระบหมายเลขไอพเปนหมายเลขทใชเขาถงอปกรณ Switch จากระยะไกลผานโพรโทคอล SSH โปรแกรมสามารถเขาถง
อปกรณและท างานไดตามทออกแบบไวดงรปท 4-13
รปท 4-13 การสงโปรแกรมใหท าการเกบส ารองคา Configuration ของ Switch
เมอโปรแกรมท าการเกบส ารองคา Configuration ของอปกรณปลายทาง คอ Switch และ
ท าการเขารหสลบขอมลเสรจแลวกแสดงผลบนทกรายการ ซงถกตองตามทไดพฒนาไวดงรปท 4-14
65
รปท 4-14 ผลการสงโปรแกรมใหเกบส ารองคา Configuration ของ Switch
ท าการทดลองตอไปโดยท าการเรยกใชขอมลท เกบส ารองเอาไวมาถอดรหสลบ โดยการทดลองนจะเลอกไมขอสงค าสงไปตงคาใหอปกรณใด ๆ โดยอตโนมต เพยงถอดรหสลบแลวจะน าขอมลทไดไปเปรยบเทยบกบขอมลกอนเขารหสลบ ผลการถอดรหสลบโปรแกรมท างานไดตามท
ออกแบบไวดงรปท 4-15
รปท 4-15 ผลการสงโปรแกรมใหถอดรหสลบคา Configuration ของ Switch
จากนนน า Configuration ทถอดรหสลบไดมาท าการเปรยบเทยบกบ Configuration ทผพฒนาไดท าการใชค าสง show run full บนอปกรณ Switch ดวยตวเองและเกบผลลพธไว เมอเปรยบเทยบดวยการใชเครองมอชอ Compare ของโปรแกรม Notepad++ พบวาขอมล Running Configuration ของอปกรณทไดจากการใชค าสงดวยตวเองกบขอมลไดจากการท างานของโปรแกรม
ทถอดรหสลบออกไดมคาเหมอนกนดงรปท 4-16 เครองมอชอ Compare แสดงหนาผลลพธวา File Match หมายถงขอมลทท าการเปรยบเทยบมคาเหมอนกน
66
รปท 4-16 ผลการเปรยบเทยบคา Configuration ของ Switch
4.4.3.3 ผลการตรวจสอบ Digital Certificate ของผใชงาน โปรแกรมไดออกแบบใหกอนทจะท าการเขารหสลบคา Configuration จะท าการตรวจสอบคานกอนเพอใหแนใจวา Digital Certificate ของผใชงาน และของหวหนางานนนออกใหโดย CA ทไดก าหนดไว โดยโปรแกรมจะ
แสดงผลทหนาจอดงรปท 4-17 หนาจอผลตรวจ Digital Certificate ทแสดงวา Digital Certificate นนออกโดย CA ชอ CA-Server ซงเปน CA ทเราก าหนดไวในโปรแกรม
รปท 4-17 หนาจอผลตรวจ Digital Certificate
4.4.3.4 ผลการเขารหสลบคา Configuration ของอปกรณเครอขาย เมอโปรแกรมน าConfiguration มาเขารหสลบแลกจะจดเกบลงไฟลทมนามสกลไฟลวา .cph เมอทดลองเปดดจะไม
สามารถอานเขาใจไดวาขอความเหลานหมายถงอะไร ดงรปท 4-18
รปท 4-18 คา Configuration ทเขารหสลบแลว
67
4.4.3.5 ผลการบนทกรายงานการเกบส ารองคา Configuration ของอปกรณเครอขายโดยเมอจบการท างานในแตละครง โปรแกรมจะจดบนทกรายการลงในฐานขอมล และจะ
แสดง 5 รายการลาสดใหผใชทราบ ดงรปท 4-19 ประกอบดวย ล าดบการท างาน ชนดอปกรณเครอขาย ชอผด าเนนการ ชอหวหนางาน ชอไฟล และคา Message Digest ของไฟลนน ๆ
รปท 4-19 แสดงบนทกรายงานการส ารองขอมล 3 รายการลาสด
4.4.3.6 ผลการสงใหโปรแกรมเกบส ารองคา Configuration จากไฟลรายการอปกรณ กลาวคอนอกเหนอจากการสงงานใหโปรแกรมท าการเกบส ารองขอมลจากอปกรณตวเดยว ดวยค าสงเดยวแลวยงสามารถสงโปรแกรมดวยค าสงเดยวเพอใหโปรแกรมท าการเกบส าองคา Configuration จากหลาย ๆ อปกรณปลายทางตามหมายเลขไอพและชนดของอปกรณทระบในไฟลได ผลการสงงานใหโปรแกรมท าการเกบส ารองคา Configuration คราวละหลาย ๆ อปกรณในครงเดยว มดงน
- สรางรายการอปกรณไวในไฟล node.txt ตามรปแบบทผพฒนาก าหนดไว
ด งรปท 4 -20 ประกอบดวยสองอปกรณ Router มหมายเลขไอพ
192.168.12.138 และ 192.168.12.146
รปท 4-20 การก าหนดรายการอปกรณเครอขายทจะท าการเกบส ารองคา Configuration ในไฟล
- ท าการใชค าส งรบคาหมายเลขไอพของอปกรณปลายทางจากไฟล
node.txt ดงรปท 4-21 โปรแกรมกจะเรมท างานจากอปกรณตวแรก
68
รปท 4-21 การสงใหโปรแกรมท าการรบคาหมายเลขไอพจากไฟลทก าหนดโดยผใช
- จากนนโปรแกรมจะท างานตอเนองไปจนครบทกอปกรณทระบในไฟลดงรป
ท 4-22 คอเมออปกรณตวแรกด าเนนการเสรจจะแสดงบนทกรายงาน และ
จะท างานตวถดไปทนท สงเกตไดจากขอความ Connecting to Network
device. ทแสดงตอจากรายงาน
รปท 4-22 แสดงโปรแกรมท างานการเกบส ารองขอมลคา Configuration ตอไดเนองเมออปกรณกอนหนาเสรจสน
69
4.4.3.7 ผลการตงเวลาใหท าการเกบส ารองคา Configuration แบบอตโนมต จากการทดลองนใหโปรแกรมท างานตามเวลาทก าหนดดวยการใช crontab ของระบบปฏบตการ Linux
ดงรปท 4-23 จะเปนการตงเวลาใหโปรแกรมท างานทก 5 นาท
รปท 4-23 การตงใหโปแกรมท างานการเกบส ารองขอมลแบบอตโนมตตามเวลาทก าหนดดวยการใช crontab
เมอถงเวลาโปรแกรมกจะท างานตามทตงคาไว ดงผลทไดจากไฟล log ดงรปท 4-24 ทแสดงเวลาทโปรแกรมท างานในทก 5 นาทตามทก าหนดเอาไว
รปท 4-24 ผลการท างานของโปรแกรมตามทตงเวลาไว
70
ขอมลคา Configuration ของอปกรณกจะถกจดเกบไวตามเวลาทโปรแกรมท างาน ดงรปท 4-25
รปท 4-25 ผลการ Backup คา Configuration ตามเวลาแบบอตโนมต
4.4.4 การสงงานโปรแกรมท าการถอดรหสลบคา Configuration ทเกบส ารองไว
4.4.4.1 ผลการถอดรหสลบขอมล และผลการตรวจลายมอชอดจทล เมอมความตองการเรยกใชขอมลทจดเกบไว ผใชจะสงใหโปรแกรมท าการถอดรหสลบขอมลนน โดยอางองจากหมายเลขล าดบการท ารายการ และระบคา Private key ของหวหนางานเพอน าไปถอดรหสลบคาเอา Secret key จากไฟล เพอน าไปใชถอดรหสลบคา Configuration จากนนโปรแกรมกจะตรวจสอบความถกตองของขอมลจากลายมอชอดจทลของ Configuration ทถอดรหสลบออกมาไดโดยใช Public key ของหวหนางานมาเปนกญแจทใชตรวจ จนเมอเสรจสนการท างานโปรแกรมจะแสดงผล
ดงรปท 4-26
71
รปท 4-26 หนาจอแสดงผลการถอดรหสลบคา Configuration
4.4.4.2 ผลการเปรยบเทยบขอมลกอนเขารหสลบและหลงการถอดรหสลบ ผพฒนาทดลองน าคา Configuration ทไดจากค าสง show run full มาเปรยบเทยบกบคาท โปรแกรม
ถอดรหสลบออกมาใหดวยโปรแกรม Notepad++ ดงรปท 4-27 ผลปรากฏวาไดขอมลเหมอนกน
รปท 4-27 ผลเปรยบเทยบคา Configuration
72
4.4.5 การสงงานโปรแกรมใหน า Configuration ทถอดรหสลบไดไปใชงาน
4.4.5.1 การทดลองกคนคาใหอปกรณเราเตอร PKT ดวยโปรแกรม Crypt Config โดยสมมตเหตการณวามการตงคาผดพลาดทอปกรณจนท าใหการเชอมตอระหวาง PC1 กบหมายเลขไอพ 10.1.2.3 ขาดหายไป มการทดลองและไดผลดงน
- สรางการเชอมตอจาก PC1 ไปยงหมายเลขไอพ 10.1.2.3 ดวยค าสง Ping
ดงรปท 4-28
รปท 4-28 การเชอมตอจาก PC1 ไปหมายเลขไอพ 10.1.2.3
- ท าการเกบส ารองคา Configuration ของอปกรณ Router PKT ดวยแกรม
Crypt Config ไดล าดบการท ารายการเปนหมายเลข 248 ดงรปท 4-29
73
รปท 4-29 ผลการเกบส ารองคา Configuration ของ Router PKT
- ท าการลบรายการ Routing ของหมายเลขไอพ 10.1.2.3 ออกจาก Router
PKT ดงรปท 4-30
รปท 4-30 ค าสงลบรายการคา Routing ของของหมายเลขไอพ 10.1.2.3
- เมอรายการ Routing ของหมายเลขไอพ 10.1.2.3 ถกลบออกแลว การ
เชอมตอจากเครอง PC1 จะขาดจากหมายเลขไอพ 10.1.2.3 ดงรปท 4-31
74
รปท 4-31 แสดงการเชอมตอจาก PC1 ขาดจากหมายเลขไอพ 10.1.2.3
- ท าการเรยกคา Configuration จากทเกบส ารองไวในขนแรก (หมายเลขรายการท 248) มาถอดรหสลบ และใหโปรแกรมสงคาไปยง Router PKT ทม
หมายเลขไอพ 192.168.1.146 ดงรปท 4-32
75
รปท 4-32 แสดงผลการถอดรหสลบคา Configuration ของรายการการเกบส ารองล าดบท 248
- รอจนกวาการสงคา Configuration ผานโพรโทคอล SSH เสรจสน
โปรแกรมจะแสดงผลการใชค าสง show ip interface brief กลบมา ดงรปท 4-33
รปท 4-33 แสดงผลการสงค าสงเสรจสน และไดรบผลลพธจากค าสงเรยกดคา Interface ของอปกรณ
76
- เมอเราดทหนาจอ Console ของ Router PKT จะเหนวามค าสงตาง ๆ ถก
สงมา ดงรปท 4-34
รปท 4-34 หนาจอ Console ทแสดงค าสงทสงมาจากโปรแกรม
- จนเมอค าสงจากไฟลทถกถอดรหสลบไวในสวนของ Configuration ถกสงมาจนครบ การเชอมตอระหวาง PC1 และหมายเลขไอพ 10.1.2.3 บน Router R1
กกลบมาเชอมตอกนไดดงจะเหนไดจากผลของค าสง Ping จากรปท 4-35
รปท 4-35 การเชอมตอระหวาง PC1 และหมายเลขไอพ 10.1.2.3 กลบมาปกต
77
4.4.5.2 ผลการทดลองการใชคา Configuration ทถอดรหสลบไดไปใชกคนคาใหอปกรณ Router Spare ผานโพรโทคอล SSH โดยการทดลองน อปกรณ Router Spare จะมการตงคาใหสามารถเขาถงไดจากระยะไกลดวยโพรโทคอล SSH และก าหนดชอและรหสผานทจะใชในการ
login ไวดวย ดงรปท 4-36 Router Spare จะใชหมายเลขไอพ 192.168.12.200 เปนหมายเลขทจะใหโปรแกรม Crypt Config เชอมตอผานโพรโทคอล SSH เพอสงคา Configuration ไปใหอปกรณตวน
รปท 4-36 แสดงคาเบองตนทเตรยมไวบน Router Spare
ท าการปดอปกรณ Router BKK ดงรปท 4-37 จะเหนวาอปกรณไดดบไปแลว การเชอมตอระหวาง PC1 กบ Router BKK ทเคยสรางไวกขาดการเชอมตอไปดวย ดงขอความทปรากฏในผลการ Ping วา Request time out.
78
รปท 4-37 การเชอมตอระหวาง PC1 กบ Router BKK ขาดหายเมออปกรณ Router ถกปด
ท าการถอดรหสลบคา Configuration ของ Router BKK ไดผลดงรปท 4-38
รปท 4-38 ผลการถอดรหสลบคา Configuration ของรายการท 247
79
จากนนใหโปรแกรมสงคา Configuration ไปใหอปกรณ Router Spare เมอค าสงถกสงไปเรอย ๆ ท
หนาจอ Console ของ Router Spare กจะเหนค าสงตาง ๆ ทถกสงมาใหดวย ดงรปท 4-39
รปท 4-39 แสดงค าสงท Router Spareไดรบ ค าสงทถกสงมาจนครบ เมอเราตรวจสอบคา Configuration ของ Router Spare พบวาคาตาง ๆ ไดถกเปลยนเปนคาใหม เชน ชอ Hostname เปนตน เราสามารถตรวจสอบคา Configuration ไดจากค าสง show running-configure บนหนาจอ Console เพอดคาตาง ๆ เพมเตมไดเชนกน ดงรปท
4-40
80
รปท 4-40 หนาจอ Console ของ Router Spare และคา Configuration ทไดรบมา เมอโปรแกรมสงค าสงไปให Route Spare เสรจแลวกจะสงค าสง show ip interface brief และรบคากลบมาผลคา Network Interface ตาง ๆ เพอใหผใชท างานเปดใชงาน Interface เหลานนเอง
หลงจากทท าการตรวจสอบผลการ Restore อยางมนใจแลว ดงรปท 4-41
รปท 4-41 แสดงผลการใชค าสง show ip interface brief ผานโปรแกรม Crypt Config จากนนทดลองสรางการเชอมตอจาก PC1 กบหมายเลขไอพ 172.16.1.253 อกครงกสามารถเชอมตอ
ไดดงผลลพธของการใชค าสง Ping ดงรปท 4-42 โดยกอน Ping เครอง PC1 ไดแกคา Routing ของ
81
ตวเองโดยก าหนดใหวาถาจะเชอมตอไปยงเครอขาย 172.16.1.253 ใหไปตอทหมายเลขไอพ 192.168.12.200 แทนของเดมคอ 192.168.12.138
รปท 4-42 ผลของค าสง Ping จาก PC1 ไปยงหมายเลขไอพ 172.16.1.253 ทอยบน Router spare อนทไดถกตงคาใหใชแทน Router BKK
4.4.6 ผลการสงงานโปรแกรมใหแสดงบนทกการท ารายการ
4.4.6.1 บนทกรายงานการน าคา Configuration จากอปกรณเครอขายมาท าการ
เขารหสลบและจดเกบไว ดงรปท 4-43
รปท 4-43 แสดงหนาจอบนทกรายการของการน าคา Configuration มาเขารหสลบ
82
4.4.6.1 บนทกรายงานการน าคา Configuration ทเขารหสลบไวมาถอดรหสลบ ดง
รปท 4-44
รปท 4-44 แสดงตารางบนทกรายการของการน าคา Configuration มาถอดรหสลบ
4.4.7 ผลการตรวจสอบขอผดพลาดจากการท างานของโปรแกรม
4.4.7.1 ผลการระบคาพารามเตอรใหโปรแกรมไมถกตอง ถาหากใชค าสงโดยระบคาพารามเตอรผด โปรแกรมกจะแสดงขอผดพลาดพรอมทงแสดงรายการทตองระบมาใหดอกทดวย
ดงรปท 4-45
รปท 4-45 หนาจอแสงขอผดพลาดเมอระบพารามเตอรผด
83
4.4.7.2 ผลการตรวจสอบหมายเลขไอพทผใชระบมา ถาหากผใชงานระบหมายเลขไอ
พผด โปรแกรมจะแสดงขอความเตอนดงรปท 4-46 และจบการท างาน
รปท 4-46 หนาจอแสดงหมายเลขไอพทผด
4.4.7.3 ผลของการทโปรแกรมไมสามารถเขาถงอปกรณเครอขายได เมอเรยกใชงานโปรแกรม แตโปรแกรมไมสามารถเขาถงอปกรณเครอขายทระบหมายเลขไอพมา โปรแกรมจะ
แสดงผลวาไมสามารถตดตอไปยงอปกรณเครอขายนนไดดง รปท 4-47
รปท 4-47 หนาจอโปรแกรมทไมสามารถเขาถงอปกรณเครอขายและทบนทกลงไฟล log
พรอมกนนน โปรแกรมกจะเขยนไฟล log เพอบนทกเหตการณไวดวย ดงรปท 4-48
รปท 4-48 หนาจอแสดงขอมลทบนทกในไฟล log
84
4.4.7.4 ผลการตรวจสอบคา Message Digest ของไฟลบบอดทขางในมขอมลลบท
เกบคา Configuration โดยไดทดลองสรางไฟลปลอมขนมาดงรปท 4-49
รปท 4-49 แสดงคา Message digest ของไฟลปลอม
จากนนน าไฟลปลอมไปใสไวใน Backup Repository ดงรปท 4-53
รปท 4-50 น าไฟลปลอมเขาไปแทนทไฟลแทใน Backup Repository ใชโปรแกรมลองถอดรหสลบของรายการทถกน าไฟลปลอมไปใสแทน เมอโปรแกรมตรวจพบจะไม
ถอดรหสลบใหดงรปท 4-51
รปท 4-51 แสดงโปรแกรมไมท าการถอดรหสลบใหเนองจากคา Message digest ของไฟลทบบอดคา Configuration ไมตรงกบทมในฐานขอมล
โปรแกรมจะมการบนทกผลการท างานลงไฟล log เมอเปดดกจะพบเหตการณนบนทกไวในไฟล ดงรป
ท 4-52
รปท 4-52 แสดงบนทกการตรวจสอบคา Message digest ลงไฟล log
85
4.4.7.5 ผลการตรวจสอบ Digital Certificate ท ไมเชอถอ หากมการใช Digital
Certificate ทไมผานการออกโดย CA ทก าหนด โปรแกรมกจะไมท างานตอดงรปท 4-53
รปท 4-53 แสดงผลการตรวจพบวา Digital Signature ของผใชไมไดถกออกใหโดย CA ทก าหนด นอกจากผใชแลว Digital Certificate ของหวหนางานโปรแกรมกมการตรวจสอบดวยเชนกน ดงรปท
4-54
รปท 4-54 แสดงผลการตรวจพบวา Digital Signature ของหวหนางานไมไดถกออกใหโดย CA ทก าหนด
86
4.4.7.6 ผลการตรวจสอบ Digital Signature ทไมเชอถอ โดยผพฒนาไดทดลองแกไข
ขอมลในไฟลคา Digital Signature ตวอกษรแรกจาก Q เปน A ดงรปท 4-55
รปท 4-55 การแกไขคา Digital Signature ของไฟล Configuration
จากนนใชโปรแกรมถอดรหสลบคา Configuration ของรายการทไฟล Digital Signature ถกแกไขกพบวาโปรแกรมไดตรวจพบตงแตดานแรกคอเหนวาคา Message digest ของไฟลทบบอดมคาไมตรงกบทมในฐานขอมล เพราะขางในไฟลนนมการแกไขขอมลในไฟล Digital Signature ซงเปนหนงในชดของไฟลทบบอดไว เมอโปรแกรมตรวจพบควาผดปกตนโปรแกรมกจะไมท าการถอดรหสลบใหเพราะ
ถอวาเปนไฟลทไมนาเชอถอ ดงรปท 4-31
รปท 4-56 แสดงคา Message digest ของไฟลไมตรงกบในฐานขอมล เนองจากคา Digital Signature ถกแกไข
4.5 สรป ในบทนไดกลาวถงผลการด าเนนงาน และการทดสอบโปรแกรมทไดพฒนาขนมา เชน การ
เกบส ารองคา Configuration การแสดงผลการเขารหสลบ การตรวจสอบความถกตองของขอมลจากลายมอชอดจทล การจดเกบบนทกผลการท ารายการ เปนตน นอกจากนยงทดสอบโปรแกรมในดานการน าสงคา Configuration ไปท าการ Restore คาใหกบอปกรณเครอขาย และมการทดสอบการท างงานในมมของขอผดพลาดจากการใชงานโปรแกรม หรอขอมลน าเขาจากผใช เพอแสดงใหเหนถงการจดการกบปญหาขอผดพลาดเหลานน
87
บทท 5 สรปผลการด าเนนงาน
5.1 ผลการด าเนนงาน ไดโปรแกรมส าหรบการจดเกบคา Configuration ของอปกรณเครอขายซงภายในนนมขอมล
ส าคญอยมากมาย เชน คา Access Control List คา SNMP Community string คาตาราง Routing และคากญแจตาง ๆ (Key หรอ Password) เปนตน ใหจดเกบไดอยางมนคงปลอดภยตอขอมลมากขน กลาวคอขนตอนการสงคา Configuration จากอปกรณเครอขายมายงเครองท ใชจดเกบ (Workstation) ท างานผานโพรโทคอล SSH ซงเปนชองทางทเขารหสลบตามมาตรฐานของโพรโทคอล และเมอถงขนตอนของการน าขอมลทไดมานนมาท าการจดเกบจะมการลงลายมอชอดจทลและการเขารหสลบดวยอลกอรทมทแขงแกรง เมอมความตองการทจะน าขอมลคา Configuration ไปใชงานจะมการตรวจสอบความถกตองครบถวนของขอมลโดยวธการตรวจสอบจากคา Message Digest ของไฟลทบบอดเกบรวบรวมไวมาเปรยบเทยบกบคาทเกบไวในฐานขอมล และตรวจสอบความถกตองแทจรงของขอมล Configuration จากลายมอชอดจทล เพอใหมนใจวาเปนขอมลทถกตองแทจรง นอกจากนโปรแกรมยงมความสามารถในการสงค าสงจากคา Configuration ทถอรหสลบไดไปใหกบอปกรณเครอขาย เพอการกคนระบบอยางอตโนมตผานชองทางทมนคงปลอดภยตามมาตรฐานของโพรโทคอล SSH เชน กรณทผดแลระบบท าการตงคาอปกรณผดท าใหระบบใชงานไมไดบางสวน กสามารถสงใหโปรแกรมเรยกคา Configuration ทเกบส ารองไวไปท าการกคนไดทนทซงจะสามารถชวยลดความเสยหายตอระบบทมผลกระทบตอผใชงานระบบได เปนตน
88
5.2 ปญหาและอปสรรค
5.2.1 พบปญหาในการดงขอมลผานโพรโทคอล SSH แลวไดไมครบ จงท าการศกษาหาสาเหต และท าการแกไขดวยการหนวงเวลาใหกบค าสงทสงไปใหหางกน และปรบต งคาบฟเฟอรของตวแปรทใชเกบผลลพธใหรองรบไดมากขน
5.2.2 พบปญหาในเรอง Library PyCrypto ทน ามาใชในการพฒนาโปรแกรมไมสามารถอานไฟลมาตรฐาน X.509 ได จงใช Library PyOpenSSL มาใชอานไฟลและสงคาตอให PyCrypto น าไปใชงานตอไป
5.2.3 พบปญหาในการสงค าสงไป Restore คา Configuration ใหกบอปกรณเครอขายปลายทางเนองจากตอนเกบคามาเขารหสลบไดใชหลายค าสง และรวบรวมผลเปนไฟลเดยวจงท าใหเวลาทสงคาไปมขอความทมาจากค าสงอนตดไปดวย จงแกปญหาดวยการตดเอาเฉพาะสวนทไดจากค าสง show run โดยใชวธการท า regular expression จงสามารถคดแยกเอาเฉพาะสวนของค าสงไปใช Restore ใหอปกรณได
5.2.4 พบปญหาการสงค าสงไป Restore เรวเกนไป โดยทฝงปลายทางยงประมวลผลค าสงกอนหนาไมทนเสรจ จงท าใหการท างานไมสมบรณ ไดท าแกปญหาดวยการหนวงเวลาตอการสงหนงค าสงใหนานขน
5.2.5 พบปญหาเรองการยายโปรแกรมจากระบบปฏบตการ Windows ไปยง Linux คอผพฒนาไดใช โปรแกรมชอ Eclipse บน Windows ในการพฒนาโปรกรม เมอน าชดค าสงไปท างานบน Linux พบวา Linux ไมสามารถอานชดค าสงทพฒนาขนไดเนองจากบน Windows มรปแบบขอความทตางจาก Linux เชนการเวนบรรทดชองวางตาง ๆ จงท าการแกปญหาดวยการใชโปรแกรมชอ dos2unix ทท างานบน Linux มาชวยในการแปลงรปแบบขอความจากของ Windows ใหเปนของ Linux กอนจงใชงานได
5.3 แนวทางการพฒนา
5.3.1 พฒนาโปรแกรมใหรองรบการใชงานกบประเภทของอปกรณเครอขายและยหอของอปกรณใหหลากหลายมากขนนอกเหนอจาก Switch และ Router ของ Cisco
5.3.2 พฒนาโปรแกรมสวนตอประสานผใชใหเปนแบบกราฟก GUI เพมเตม เพอใหผทไมถนดการใชงานแบบ CLI ไดใชงานสะดวกยงขน
5.3.3 พฒนาโปรแกรมใหท างานไดบนระบบปฏบตการทหลากหลาย เชน Windows, MAC OS เปนตน
89
เอกสารอางอง [1]. ดร. ลญฉกร วฒสทธกลกจ และคณะ, "วทยาการรหสลบเบองตน". พมพครงท 1, กรงเทพฯ: จฬาลงกรณมหาวทยาลย, 2548, 204 หนา. [2]. ดร. ศภกร กงพศดาร, “วทยาการเขารหสลบ เพอความมนคงคงปลอดภยของเครอขาย”. พมพครงท 1, กรงเทพฯ: มหาวทยาลยเทคโนโลยมหานคร, 2553, 242 หนา. [3]. บทน าเกยวกบเทคโนโลยความปลอดภยของขอมล, [Online]. Available: http://www.nrca.go.th/02_1.html. [4]. เทคโนโลยโครงสรางพนฐานกญแจสาธารณะ (Public Key Infrastructure: PKI), [Online]. Available: http://www.nrca.go.th/02_2.html. [5]. การประยกตใชงานเทคโนโลยโครงสรางพนฐานกญแจสาธารณะ, [Online]. Available: http://www.nrca.go.th/02_3.html. [6]. ค าศพท, [Online]. Available: http://www.nrca.go.th/index.html. [7]. ความรเบองตนของการเขารหสขอมล (Introduction to Cryptography), [Online]. Available: http://www.tnetsecurity.com/content_attack/crypt_basicknowledge.php. [8]. เพมความปลอดภยให SSH Server ดวย Key Authentication, [Online]. Available: https://www.thaicert.or.th/papers/technical/2011/pa2011te005.html. [9]. การใช Secure Shell ในการเขาถงระบบจากระยะไกล, [Online]. Available: http://www.itmanage.info/technology/linux/ssh_config_and_using.html. [10]. ความรเบองตนเกยวกบภาษา Python, [Online]. Available: http://python.cmsthailand.com/basic_python.html. [11]. William Stallings, “Cryptography and Network Security: Principles and Practice Fifth Edition”. Pearson Education, 2011 [12]. About rConfig, [Online]. Available: http://www.rconfig.com/about-rconfig [13]. DUSTED CODES, "The beauty of asymmetric encryption - RSA crash course for developers". [Online]. Available: https://dusted.codes/the-beauty-of-asymmetric-encryption-rsa-crash-course-for-developers.
90
ภาคผนวก
91
ภาคผนวก ก การตดตงโปรแกรมจดเกบขอมลคอนฟกกเรชน
ของอปกรณเครอขายดวยวธการทมนคงปลอดภย
92
การตดตงโปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวยวธการทมนคงปลอดภย
การตดตงโปรแกรมจดเกบขอมลคอนฟกกเรชนของอปกรณเครอขายดวยวธการทมนคงปลอดภย (Crypt Config) นเนองจากโปรแกรมพฒนาขนใหท างานบนระบบปฏบตการ Linux ตวอยางการตดตงนจงจะใชระบบปฏบตการ Ubuntu 16.04 LTS โดยมขนตอนตาง ๆ ดงน
ตรวจสอบเวอรชนของระบบปฏบตการ ดงรปท ก-1
รปท ก-1 ระบบปฏบตการทใช
ตรวจสอบเวอรชนของภาษา python ดวยค าสง python –version ในหนาจอ Terminal
ซงจะตองเปน 2.7.12 ดงรปท ก-2 โดยปกตระบบปฏบตการ Ubuntu 16.04 LTS จะตดตงมาใหแลว
รปท ก-2 ตรวจสอบเวอรชนของภาษา Python
ตดตงโปรแกรม python-pip ระบบปฏบตการนไมไดตดตงมาให จงตองตดตงเพมเตมดวย
การใชค าสง sudo apt-get install python-pip ดงรปท ก-3 รอจนกวาจะตดตงเสรจซงอาจใชเวลา
สกระยะเพราะการตดตงมการดาวนโหลดขอมลจาก Internet ดงนนเครองทตดตงจะตองเขาถง
Internet ไดดวย
93
รปท ก-3 ตดตงโปรแกรม Python-pip
เมอตดตงเสรจแลวสามารถตรวจสอบไดจากค าสง sudo pip --version จะปรากฏผลดงรปท ก-4
รปท ก-4 ตรวจสอบผลการตดตงโปรแกรม pip
คดลอกโปรแกรม Crypt Config ไปไวท Directory ทตองการตดตง ในตวอยางนตดตงไวท
/home/mrtoi ดงรปท ก-5
94
รปท ก-5 แสดง Directory ทตดตงโปรแกรม
ตดตงโปรแกรมเสรม (Library) ทจ าเปนในการท างานของโปรแกรม Crypt Config ดวย
ค าสง sudo pip install –r requirement.txt ดงรปท ก-6
รปท ก-6 ตดตง Library ทจ าเปนในการท างานของโปรแกรม
95
ก าหนดคา Digital Certificate ของ CA โดยใหระบต าแหนงของไฟลทจะใชในการท างาน
จากตวอยางก าหนดไวท Directory ของโปรแกรมดงรปท ก-7
รปท ก-7 ต าแหนงทตงของไฟล Digital Certificate ของ CA
แกไขไฟล /etc/environment โดยใหท าการเพมคาของตวแปน PATH โดยการใสทตงของ
โปรแกรมแบบเตมตอทายขอมลเดม ดงตวอยางรปท ก-8 อางองไปท /home/mrtoi/CryptConfig
รปท ก-8 เพมทตงของโปรแกรมในตวแปร PATH
ก าหนด Certificate Authority (CA) ใหโปรแกรมดวยวธการคดลอกไฟล Digital Certificate
ของ CA ทผใชตองการไปวางไวท /Path-Installed-App/CryptConfig/Certificate/CACERT/ และ
เปลยนชอไฟลเปน cc_ca_server.cer ดงรปท ก- 9 การก าหนด CA ทจะใชงาน
รปท ก- 9 การก าหนด CA ทจะใชงาน
ท าการรสตารทเครอง จากนนลอคอนเขาระบบปฏบตการแลวเปดโปรแกรม Terminal ใช
ค าสง cryptconfig about จะแสดงขอความตอนรบของโปรแกรมดงรปท ก-10 โปรแกรมกพรอมใช
งาน
รปท ก-10 หนาจอแสดงขอความตอนรบของโปรแกรม Crypt Config
96
ภาคผนวก ข ค าสงในการใชงานโปรแกรม
97
ค าสงในการใชงานโปรแกรม
1. การเรยกดวธการใชโปรแกรมหรอ Help ใชค าสง --help ตอทายโปรแกรม ตวอยางเชน
cryptconfig --help จะแสดงคาพารามเตอรตาง ๆ ของโปรแกรมและความหมายของคานน ตวอยาง
ผลดงรปท ข-1 หนาจอ Help ของโปรแกรมหลก
รปท ข-1 หนาจอ Help ของโปรแกรมหลก
การด Help ของค าสงยอยกสามารถใช --help ไดดวย เชน ด help ของค าสง get-config จะใชค าสง crytpconfig get-config --help ไดผลลพธดงรปท ข-2 เปนตน
รปท ข-2 หนาเจอ Help ของโปรแกรมยอย
98
2. การลงทะเบยนโปรแกรม เพอความสะดวกในการใชงาน จะตองลงทะเบยนกอนโดยตองใส
ขอมลตาง ๆ ทโปรแกรมจะตองใชงาน ดงรปท ข-3 ส าหรบการใชโปรแกรมครงตอไป สามารถอางอง
ชอบญชไดเลยโดยไมตองลงทะเบยนใหม ค าสงทใชลงทะเบยนคอ cryptconfig register
รปท ข-3 หนาจอ Register เพอสรางบญชผใชงาน
การใชงานสามารถอางองถงชอบญชไดตามตวอยางน
cryptconfig get-config --destip=192.168.12.146 --devtype=router --credential=/opt/CryptConfig/Profile/ndalyrqmah.profile
หรอจะท าการคดลอกไฟลไปไวททผใชสะดวกกสามารถท าได เชน คดลอกไปไวท Home Directory กจะสามารถอางองถงชอบญชไดตามตวอยางน cryptconfig get-config --destip=192.168.12.146 --devtype=router --credential=ndalyrqmah.profile
99
3. การสงงานใหโปรแกรมท าการ SSH เขาไปยงอปกรณเครอขายตามหมายเลขไอพทระบเพอ
เกบขอมล Configuration ค าสงทใชสามารถท าไดหลายแบบดงน
- ผใชงานไมไดลงทะเบยน สามารถใชงานไดจากค าสงดงน
cryptconfig get-config --destip=<device-ip-address> --devtype=<router/switch> --uname=<username> --passwd=<password> --mgcert=<path-to-manager-cert> --privkey=<path-to-private-key.p12> --passphase=<private-key-passphase> --remark=<reason-for-do-a-task> --en=<y/n> ตวอยางเชน cryptconfig get-config --destip=192.168.12.138 --devtype=Router --uname=brave --passwd=123456 --mgcert=/home/Certificates/MANAGERCERT/t.cer --privkey=/home/Certificates/USERSCERT/j.p12 --passphase=123456 --remark RFC-2018/00031 --en=y
- ผใชงานทลงทะเบยนแลวจะไดรบชอบญช สามารถใชงานไดจากค าสงดงน
cryptconfig get-config --destip=<device-ip-address> --devtype=<router/switch> --credential=<account-name-from-registration> ตวอยางเชน cryptconfig get-config --destip=192.168.12.138 --devtype=router --credential=wtlvxbztvj.profile
- ผใชสามารถสงใหโปรแกรมท างานทละหลาย ๆ อปกรณในครงเดยวไดจาก
ไฟลรายการอปกรณ ใชค าสงดงน
cryptconfig get-config --hostfile=<file-list-of-devices-ip> --credential=<account-name> ตวอยางเชน cryptconfig get-config --hostfile=node.txt --credential=tgxwuezkox.profile
100
โดยไฟล node.txt นจะตองอยทไดเรคทอรชอ Inventory (InstallPath/CryptConfig/Iventory) ใชรปแบบของขอมลในไฟลมดงน
<ip-address>;<device-tpye> เชน 192.168.12.138;Router 192.168.12.146;Router 192.168.12.150;Switch
4. การสงงานใหโปรแกรมน าขอมล Configuration ทเขารหสลบไวใน Repository มาถอดรหส
ลบ ใชค าสงดงน
อางองดวย Task ID cryptconfig use-config --taskid=<id> --privkey=<path-to-manager-key.p12> ตวอยางเชน cryptconfig use-config --taskid=216 --privkey="/home/Certificates/MANAGERCERT/spk.p12 อางองดวยชอไฟล cryptconfig use-config --filename=<file-name>--privkey=<path-to-manager-key.p12> ตวอยางเชน cryptconfig use-config --filename=2018-04-30_0321_192.168.12.138 --privkey=/home/Certificates/MANAGERCERT/spk.p12
101
5. การสงงานใหโปรแกรมแสดงบนทกรายงานการเกบส ารองขอมลคา Configuration และ
รายการทถอดรหสลบใชค าสงดงน
cryptconfig backup-logs -ip=<ip-address> -l=<last N records> ตวอยางเชน cryptconfig backup-logs -ip 146 -l 2 cryptconfig decrypt-logs --ip=<ip-address> ตวอยางเชน cryptconfig decrypt-logs --ip=138
6. การสงงานใหโปรแกรมน าขอมล Configuration ทถอดรหสลบจากไฟลทเตรยมไวสงไปตงคา
ใหอปกรณ ดวยโพรโทคอล SSH ใชค าสงดงน
cryptconfig send-config-cmd -infile=<File-name> ตวอยางเชน cryptconfig send-config-cmd -infile=config.txt หมายเหต ค าสงนตองน าไฟล Configuration ไปไวทพาธ dev-running-config ภายใน Directory ชอ REPO ของโปรแกรม CryptConfig กอน