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


30

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

หากคุณถูกดักฟังผู้ใช้จะยอมรับใบรับรองแบบที่เขา / เธอทำอยู่เสมอ

คำตอบ:


25

คำถามที่น่าสนใจมันขึ้นอยู่กับการใช้งานในความคิดของฉัน คุณยังคงได้รับการปกป้องในแง่ของเซสชั่นจะถูกเข้ารหัส แต่คุณไม่มีทางที่จะบอกได้ว่ามันเป็นใบรับรอง SSL ที่ถูกต้องที่นำเสนอให้คุณเว้นแต่คุณจะแจกจ่ายใบรับรอง CA root ของคุณให้กับผู้ใช้ / ลูกค้า สำหรับโปรแกรมทดสอบ / dev ภายในสิ่งนี้จะใช้งานได้ดีคุณจะสร้างใบรับรอง CA แบบรูทที่คุณใช้แจกจ่ายให้กับผู้ใช้ของคุณ (สามารถทำได้ผ่านนโยบายกลุ่มใน Windows และผ่านทางบรรทัดคำสั่ง openssl ใน Linux / BSD) จากนั้นใช้ใบรับรอง root นั้น ลงนาม CSR ของคุณ ผู้ใช้จะไม่เห็นคำเตือนหรือสิ่งใดและคุณรู้ว่าใบรับรองได้รับการลงนามโดย CA ภายในของคุณ

สำหรับไซต์ภายนอกที่คุณไม่สามารถรับรองได้ฉันยังคงบอกว่าใบรับรองที่ลงชื่อด้วยตนเองนั้นดีกว่า SSL ใด ๆ เลยหากคุณกำลังส่งรหัสผ่านหรือข้อมูลที่ละเอียดอ่อนอื่น ๆ ผ่านการเชื่อมต่อ

อย่างไรก็ตามในด้านบวกมีผู้ออกใบรับรอง "การค้า" ราคาถูกมากGoDaddyเป็นหนึ่งในนั้น คุณสามารถได้รับใบรับรองประมาณ 40 ยูโรต่อปี GoDaddy ยังเสนอ certs ฟรีให้กับเว็บไซต์ของ OpenSource อีกด้วย


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

4
+1 ยกเว้น "ใบรับรองที่ลงชื่อด้วยตนเองนั้นดีกว่า SSL ใด ๆ เลย" - ถ้าคุณยืนยันว่าเป็นใบรับรองของคุณและไม่ใช่ใบรับรองจาก MITM จริงๆแล้วครั้งสุดท้ายที่ผู้ใช้ทั่วไปทำอย่างนั้นเหรอ? (ฉันสงสัยว่าคำตอบจะเกี่ยวข้องกับบลูมูนและหมูบิน) ในคำอื่น ๆ การใช้ใบรับรอง SSL ที่ลงนามด้วยตนเองโดยไม่เผยแพร่ CA CA ของคุณให้กับผู้ใช้ เพื่อคลิกผ่านสิ่งนี้ในฐานะ "ดีพวกเขาบอกให้ฉันเพิกเฉยต่อคำเตือนใน mysite.example.com ดังนั้นฉันสามารถเพิกเฉยได้ทุกที่ดูรูปไอคอนล็อค!" Voila ความปลอดภัยที่ผิดพลาด!
Piskvor

7
@Piskvor ที่จริงแล้วนั่นเป็นความผิดของเบราว์เซอร์ ก่อนอื่นโดยทั่วไปเบราว์เซอร์จะไม่ให้วิธี "ยอมรับอย่างถาวร" ก่อนหน้านี้ใบรับรองที่ไม่รู้จักที่ลงชื่อด้วยตนเองเพื่อให้ผู้ใช้ไม่ได้ทำตัวเป็นอันตรายเมื่อเข้าสู่ระบบ ประการที่สองเบราว์เซอร์ไม่กีดกันการใช้ HTTP ธรรมดาแบบเก่ารวมถึงการสร้างความปลอดภัยที่ผิดพลาด ดังนั้น HTTP จะแย่กว่า HTTPS เสมอทั้งในเรื่องความปลอดภัยและการรับรู้ของผู้ใช้ (อย่างน้อยพวกเขาก็จะได้รับคำเตือน!)
Rotsor

1
@Rotsor: ก่อนอื่น Opera มีฟีเจอร์นี้ที่คุณอธิบายไว้ในตัว FF มี Certificate Patrol (อย่างน้อยก็เตือนการเปลี่ยนแปลงใบรับรอง) โปรดทราบว่าไม่ใช่ทุกอย่างบน SSL ที่เป็นเบราว์เซอร์ (IMAPS เป็นต้น) ประการที่สองวิธีการที่มีอยู่มากมายของ HTTP เว็บไซต์เฉพาะความผิดของเบราว์เซอร์? (และไม่เบราว์เซอร์เฉพาะ HTTPS เท่านั้นที่ไม่เคยติดตั้งมาก่อนเพราะมี Net ที่เล็กกว่ามากในการเรียกดูด้วย) ประการที่สาม "พวกเขาได้รับคำเตือน" จะมีประโยชน์หากมีเพียงผู้ใช้เท่านั้นที่จะอ่าน - และอย่าคลิก "ยอมรับ" อย่างสุ่มเพื่อทำให้มันหายไป "การคลิกยอมรับหมายถึงความเข้าใจ" เป็นความเข้าใจผิดที่นักพัฒนาแบ่งปัน
Piskvor

1
@Piskvor ทราบดีว่าเบราว์เซอร์บางตัวมีคุณสมบัติดังกล่าว สำหรับ HTTP ฉันไม่สามารถบอกได้ว่าจะต้องทำอะไร (การปฏิเสธ HTTP ไม่ใช่ตัวเลือกที่เห็นได้ชัด) แต่การมีคำเตือนที่เกี่ยวข้องกับความปลอดภัยด้วย SSL ที่ลงชื่อด้วยตนเองมากกว่าที่ไม่มี SSL เลยเป็นสิ่งที่ผิดอย่างแน่นอน ผิด!
Rotsor

12

ฉันจะไม่เห็นด้วยครั้งเดียวในพื้นที่ทางเทคนิคแคบและอีกครั้งในบริเวณทั่วไป

เหตุผลทางเทคนิคที่แคบคือ OP ถามเกี่ยวกับใบรับรองที่ลงชื่อด้วยตนเองและคำตอบอื่น ๆ อีกมากมายอ้างถึงใบรับรองที่ลงนามโดย CA ส่วนตัวซึ่งเป็นปัญหาที่แตกต่างกันเล็กน้อย แต่ก็ไม่แตกต่างกันมากนักดังนั้นจึงเป็นเพียงโน้ตที่ผ่านไป

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

ใบรับรองที่ลงนามเองเป็นเหมือนคีย์ ssh จากknown_hostsไฟล์ของฉัน หากไม่มีการตรวจสอบที่เป็นอิสระก็ไม่สามารถรับประกันได้ว่าฉันกำลังพูดคุยกับระบบที่ฉันเชื่อว่าฉันเป็น; แต่มันทำให้ฉันมั่นใจได้ว่าระบบที่ฉันกำลังพูดถึงตอนนี้เป็นระบบเดียวกับที่ฉันพูดไปเมื่อครั้งที่แล้วฉันคิดว่าฉันกำลังคุยกับมันอยู่ เราแคช ssh keys ตลอดเวลาและฉันยังไม่เคยพบกับผู้ดูแลระบบที่ตรวจสอบความเป็นอิสระมากกว่าเศษส่วนของคีย์สาธารณะในknown_hostsไฟล์ของเขา / เธอ

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

นอกจากนี้ผู้ที่ต้องการที่จะนำเสนอการใช้ใบรับรองการลงนามโดยได้รับการยอมรับ CA เป็นยาครอบจักรวาลรักษาความปลอดภัยอินเทอร์เน็ตหนึ่งและเพียงอาจต้องคิดหนักเกี่ยวกับประเด็นดังกล่าวเป็นที่รวมของของรัฐบาลจีนลงนาม CA ในกำ Mozilla มาตรฐานและใบรับรอง SSL ที่ลงนามโดยหลอกลวงประชา


อนึ่งโมเดล "CA ที่ไว้วางใจ" นั้นใช้งานไม่ได้ (และเป็นเวลาหลายปี); น่าเสียดายที่มันไม่ได้หายไปไหน (และไม่มีอะไรจะดีไปกว่าการแทนที่มัน) เช่นเคย SSL และ CA ที่เชื่อถือได้ไม่ใช่ความปลอดภัยที่น่าอัศจรรย์ ผู้ใช้ต้องการรักษาความปลอดภัยอย่างแข็งขันซึ่งส่วนใหญ่เป็นข้อสันนิษฐานที่ค่อนข้างบ้าคลั่ง
Piskvor

2
ผู้ใช้ของคุณสามารถประเมินผลระดับความเชื่อมั่นอย่างมีระดับในเส้นทางของเซิร์ฟเวอร์ DNS ปัจจุบัน (รวมถึงความเป็นไปได้ของการวางยาพิษแคช) และอุปกรณ์ที่พวกเขากำลังกดปุ่ม? ฉันไม่รู้ว่า DNS คืออะไรมีความสามารถในการตัดสินใจด้านความปลอดภัยเกี่ยวกับการเชื่อมต่อกับเซิร์ฟเวอร์ในสถานะอื่นเชื่อมต่อกับเว็บไซต์อื่นผ่าน MPLS ซึ่งเชื่อมต่อกับผู้ใช้ผ่าน VPN ไคลเอนต์ เปิดผ่าน wifi ของร้านกาแฟที่ไม่ได้เข้ารหัส หลีกเลี่ยงการให้ความรับผิดชอบนั้นแก่พวกเขา
เชนแมดเดน

2
@Shane Madden: พื้นที่หนึ่งที่เป็นไปได้คือการจัดการส่วนหน้าเว็บ - เช่น phpMyAdmin (หรือระดับที่น้อยกว่า, SVN ผ่าน HTTPS) มักจะมีการ จำกัด จำนวนผู้ใช้และพวกเขามีบางส่วนที่สำคัญของเงื่อนงำ ฉันจะไม่คาดหวังว่าปู่ทวดของฉันจะทำหัวหรือก้อยของคำเตือนใบรับรอง SSL แต่ฉันคาดหวังอย่างนี้จากระบบดูแลเพื่อนโดยเฉพาะอย่างยิ่งถ้าเป็นเซิร์ฟเวอร์ที่อยู่ภายใต้การควบคุมของเธอ ผู้ใช้งานหลากหลายในสวนไม่มีเบาะแสเกี่ยวกับknown_hosts@MadHatter กำลังอ้างอิงเช่นกัน
Piskvor

8

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

  • ก่อนอื่นหากไม่มีใบรับรอง CA ที่ติดตั้งไว้ล่วงหน้าผู้ใช้จะตรวจสอบว่าใบรับรองนั้นมาจากคุณจริง ๆ และไม่ใช่จากผู้โจมตีหรือไม่ โดยการจับคู่เขตข้อมูลใบรับรอง (CN ลายนิ้วมือและอื่น ๆ ) แน่นอน - แต่เทียบกับอะไร ดังนั้นตอนนี้คุณต้องมีช่องสัญญาณด้านข้างเพื่อตรวจสอบใบรับรอง - และในบางกรณีฉันเห็นว่าผู้ให้บริการสายการสนับสนุน (ที่ควรทำหน้าที่เป็นช่องทางด้านข้างสำหรับการตรวจสอบ) ไม่มีเบาะแสสิ่งที่ควรจะหมายถึง; นอกจากนี้การใช้งานช่องทางด้านข้างนั้นมีขนาดใหญ่กว่าการได้รับใบรับรองที่ลงนามโดย CA ที่น่าเชื่อถือดังนั้นผู้ใช้จะต้องเชื่อใจคุณอย่างสุ่มสี่สุ่มห้า

  • ประการที่สองการแจ้งเตือนที่น่ากลัวที่ผู้ใช้ได้รับนั้นน่ากลัวด้วยเหตุผลที่ดีเนื่องจากผู้ใช้ไม่สามารถ / ไม่ยืนยันใบรับรองที่นำเสนอพวกเขาอาจส่งข้อมูลอย่างปลอดภัยไปยัง Elbonian Haxx0r D00dz

  • ประการที่สามและที่แย่ที่สุดคือคุณกำลังทำให้ผู้ใช้ : "ดีพวกเขาบอกฉันว่าฉันควรเพิกเฉยต่อคำเตือนนั้นในhttps://mysite.example.com/และทั่งตีเหล็กก็ไม่ตกบนหัวฉัน ปลาทองก็ไม่ตายเช่นกันดังนั้นนั่นหมายความว่ามันเป็นอีกกล่องเตือนที่ไม่มีความหมายจริงดังนั้นฉันสามารถเพิกเฉยต่อกล่องนี้เมื่อใดก็ตามที่ฉันพบมัน - ฉันได้รับไอคอนรูปกุญแจที่สวยงามอยู่แล้ว

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

การอ่านที่แนะนำ: OWASP SSL Best practice

TL; DR:ด้วยการใช้ใบรับรองที่ลงชื่อด้วยตนเองในไซต์สาธารณะคุณกำลังทำให้เน็ตกลายเป็นสถานที่ที่เลวร้ายยิ่งขึ้น


2
@downvoter: ฉันขอขอบคุณถ้าคุณชี้ให้เห็นว่าคำตอบของฉันไม่ถูกต้องตามความเป็นจริง ("ไม่ถูกต้อง" ซึ่งตรงข้ามกับ "อึดอัดไม่สะดวกและรำคาญที่จะใช้") การรักษาความปลอดภัยยากและ "la la la ฉันไม่ได้ยินคุณ" ไปทำอะไรเพื่อแก้ไข
Piskvor

2
แม้ว่าฉันจะไม่ได้ลงคะแนนให้กับคำตอบของคุณข้อความคำแนะนำเครื่องมือบนลูกศรชี้ลงหมายถึงการลดลงเนื่องจากไม่มีเหตุผลอื่นนอกเหนือจากคำตอบที่ไม่มีประโยชน์ ฉันคิดว่าความรู้สึกที่ผิด ๆ ของความมั่นคงลูกตุ้มสามารถแกว่งไปในทิศทางอื่นได้เช่นกัน การละเมิด RA comodo RA เป็นการพิสูจน์ว่าไม่ใช่เรื่องยากสำหรับ "คนร้าย" ที่จะได้รับใบรับรองที่ถูกต้องตามกฎหมายอย่างสมบูรณ์เช่นกัน
mahnsc

@mahnsc: ขอบคุณสำหรับการเตือน ฉันรู้ว่า :-) "ใบรับรอง SSL ที่ลงชื่อด้วยตนเองเป็นความปลอดภัยที่ผิดพลาดหรือไม่" "ใช่ด้วยเหตุผลดังต่อไปนี้ ... " ฟังดูมีประโยชน์ใช่ไหม ดังนั้นฉันสงสัยว่าทำไมมันไม่เป็นเช่นนั้นฉันสามารถเรียนรู้บางสิ่งจากมุมมองของฝ่ายตรงข้าม จาก downvote ไม่มาก
Piskvor

1
@mahnsc: จุดที่ดีเกี่ยวกับ CAs ที่ถูกบุกรุก ฉันไม่ได้บอกว่ารายการ CA หลักถูกตั้งค่าในหินและ unhackable - ไม่มีความปลอดภัยที่สมบูรณ์แบบ; แต่จะใช้ความพยายามมากกว่านั้นในการทำลายมันมากกว่าการตั้งค่าพร็อกซี SSL ที่จับภาพบนเกตเวย์เครือข่าย
Piskvor

1
@mahnsc: ฉันหมายถึงการตั้งค่าพร็อกซี SSL ได้ง่ายขึ้นและหวังว่าผู้ใช้จะคลิกผ่านคำเตือนแทนที่จะตั้งค่าพร็อกซี SSL และหวังว่าคำขอใบรับรองปลอมจะผ่านกระบวนการตรวจสอบ CA อย่างใดอย่างหนึ่งเป็นไปได้ตามที่เราเคยเห็น แต่ก่อนหน้านี้จะทำได้ง่ายกว่ามาก (และยากที่จะตรวจจับในภายหลังเนื่องจากผู้ใช้เบราว์เซอร์มักจะไม่เก็บหลักฐานการตรวจสอบ)
Piskvor

8

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

หากไม่มี SSL / HTTPS ทุกคนที่มี wireshark ในเครือข่ายของคุณ (หรือเครือข่ายท้องถิ่นของใครก็ตามที่ลงชื่อเข้าใช้) สามารถฟังและรับชื่อผู้ใช้ / รหัสผ่านที่ส่งเป็นข้อความธรรมดาได้เล็กน้อย

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

ปัญหาอื่น ๆ ของการใช้ SSL ที่ลงชื่อด้วยตนเองคือเบราว์เซอร์จำนวนมากปฏิบัติกับใบรับรองที่ลงชื่อด้วยตนเองว่าเป็นภัยคุกคามความปลอดภัยที่สำคัญและเตือนคุณก่อนเข้า (เช่นโครม) ด้วยหน้าแดงขนาดใหญ่ http://www.sslshopper.com/article-ssl-certificates-in-google-chrome.html ซึ่งอาจเป็นความไม่สะดวกที่สำคัญ

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


0

ขึ้นอยู่กับสิ่งที่คุณหมายถึงด้วย "ความปลอดภัย" และซึ่งเป็นขอบเขต

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

ดังนั้นรายการ "CA ที่ยอมรับ" นั้นเป็นช่องโหว่ใหญ่จนกระทั่งหนึ่งใน CA นี้ร่วมมือกับรัฐบาลชั่วร้าย การมี CA ของตัวเองดีกว่ามาก

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.