دنیای صفرویک

دنیای صفرویک

آرشیو مطالب
دنیای صفرویک

دنیای صفرویک

آرشیو مطالب

امن کردن وبلاگ با استفاده از ssl /tsl

خدﻣﺖ ﺭﺳـﺎﻧﻲ ﺍﺯ ﻃﺮﻳﻖ HTTPS به این معنی  ﻧﻴﺴــﺖ ﻛﻪ ﺗﺮﺍﻓﻴــﻚ ﺩﺍﺩﻩ ﻫﺎ ﺭﻣﺰﮔﺬﺍﺭﻱ ﺷـﺪﻩ  ﺍﺳــﺖ، ﺭﻣﺰﮔﺬﺍﺭﻱ ﺗﻨﻬﺎ ﻧﻴﻤﻲ ﺍﺯ ﻣﺎﺟﺮﺍﺳـﺖ ﻭ ﺑﺪﻭﻥ ﺍﺣﺮﺍﺯ ﻫﻮﻳﺖ ﺑﻲ ﻓﺎﻳــﺪﻩ ﺧﻮﺍﻫﺪ ﺑﻮﺩ. ﺍﮔﺮ ﺭﻣﺰﮔﺬﺍﺭﻱ ﺑﻴﻦ ﺩﻭﻃﺮﻑ ﺍﻧﺠﺎﻡ ﺷــﻮﺩ ﺍﻣﺎ ﻧﺪﺍﻧﻴﻢ ﻃﺮﻑ ﺩﻳﮕﺮ ﭼﻪ ﻛﺴﻲ ﺍﺳﺖ، ﭼﻪ ﺍﻫﻤﻴﺘﻲ HTTPS ﺩﺍﺭﺩ؟ ﺑﻨﺎﺑﺮﺍﻳـﻦ ﺑـﺮﺍﻱ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺮﺍﻓﻴﻚ ﺑﺎﻳﺪ ﻣﺪﺭﻛﻲ ﺭﻣﺰﺑﻨﺪﻱ ﺷﺪﻩ ﺩﺍﺷــﺘﻪ ﺑﺎﺷﻴﻢ ﺗﺎ ﻫﻮﻳﺘﻤﺎﻥ ﺭﺍ ﻧﺸـﺎﻥ ﺩﻫﺪ. ﺩﺭﻳﺎﻓﺖ ﭼﻨﻴﻦ ﻣﺪﺭﻛﻲ ﻣﺴــﺘﻠﺰﻡ ﺍﻳﻦ ﺍﺳﺖ Certificate ﻛﻪ ﻫﻮﻳﺖ ﻭﺏ ﺳـﺎﻳﺖ ﺗﻮﺳــﻂ  ﻳﻜﻲ ﺍﺯ .ﻫﺎ ﺗﺎﺋﻴﺪ ﺷﻮﺩAuthority ﻇﺎﻫﺮ ﺍﻣﺮ، ﺗﺮﺳــﻨﺎﻙ ﺗﺮ ﺍﺯ ﻛﺎﺭﻱ ﺍﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﻫﺎﻱ ﻣﺸــﻬﻮﺭ ﺑﺮﺍﻱ ﺍﺣﺮﺍﺯ ﻫﻮﻳﺖ ﻭCA ﺩﻫﻴﻢ. ﺑﻴﺸـﺘﺮ ﺍﻫﺪﺍﻱ ﮔﻮﺍﻫﻲ ﻫﺰﺍﺭﺍﻥ ﺩﻻﺭ ﭘﻮﻝ ﺩﺭﺧﻮﺍﺳﺖ ﻣﻲ ﻛﻨﻨﺪ. ﺍﮔﺮ  ﻫﻢ ﻣﻲ ﺷﻮﺩ،e-commerce ﻛﺎﺭ ﻭﺏ ﺳﺎﻳﺖ ﺷــﺎﻣﻞ ﺷــﺎﻳﺪ ﻣﻨﻄﻘﻲ ﺑﺎﺷــﺪ ﻛﻪ ﺑﺮﺍﻱ ﺩﺭﻳﺎﻓﺖ ﺁﻥ ﮔﻮﺍﻫﻲ ﺍﻗﺪﺍﻡ ﻛﺮﺩ، ﺍﻣﺎ ﺍﮔﺮ ﺳـﺎﻳﺖ ﻛﻮﭼﻜﻲ ﺍﺳﺖ ﻳﺎ ﻭﺍﻗﻌﺎ ﻫﺰﺍﺭﺍﻥ ﺩﻻﺭ.ﭘﻮﻝ ﻧﺪﺍﺭﻳﻢ، ﭼﻨﻴﻦ ﺧﺮﺟﻲ ﻧﻪ ﻣﻨﻄﻘﻲ ﺍﺳﺖ ﻭ ﻧﻪ ﻻﺯﻡ

 ﺑﻪ ﻃﻮﺭ ﺧﻼﺻﻪSSL / TLS Secure Sockets    ﻣﺨﻔــﻒ  ﻋﺒــﺎﺭﺕSSL  ﺍﻣﺮﻭﺯﻩ ﻛﻤﺘﺮ ﺍﺳﺘﻔﺎﺩﻩSSL  ﺍﺳﺖ. ﻫﺮ ﭼﻨﺪ ﺧﻮﺩLayer ﻣﻲ ﺷــﻮﺩ ﻭ ﺑﻪ ﺟﺎﻱ ﺁﻥ ﺭﻭﺵ ﭘﻴﭽﻴﺪﻩ ﺗﺮ ﻭ ﺍﻣﻦ ﺗﺮﻱ ﺑﻪ ﻧﺎﻡ  ﻣــﻮﺭﺩ ﺍﺳــﺘﻔﺎﺩﻩTransport Layer Security  ﺑﻴﺸـﺘﺮ ﺑﻪ  ﺍﻳﻦ ﺩﻟﻴﻞ ﺍﺳﺘﻔﺎﺩﻩSSL ﻗﺮﺍﺭ ﻣﻲ  ﮔﻴﺮﺩ. ﻋﺒﺎﺭﺕ

 ﻣﻲ ﺷــﻮﺩ ﻛﻪ ﺷﻨﺎﺧﺘﻪ ﺷﺪﻩ ﺍﺳﺖ ﻭ ﺩﺭ ﻃﻮﻝ ﺍﻳﻦ ﻣﻘﺎﻟﻪ، ﺍﺯ.  ﻳﺎﺩ ﺧﻮﺍﻫﻴﻢ ﻛﺮﺩSSL / TLS ﺍﻳﻦ ﻣﺒﺤﺚ ﺑﺎ ﻧﺎﻡ  ﺗﺮﻛﻴﺒـﻲ ﺍﺯ ﻓﻨﺎﻭﺭﻱ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺍﺳــﺖSSL / TLS ﺍﻣــﺎ ﺭﻭﺵ ﻛﺎﺭﻛﺮﺩ ﺁﻥ، ﻣﺸـﺎﺑﻪ ﻫﻤﺎﻥ ﻣﻔﻬــﻮﻡ ﻛﻠﻴﺪﻫﺎﻱ ﺭﻣﺰﮔﺬﺍﺭﻱ ﻋﻤﻮﻣﻲ ﻭ ﺧﺼﻮﺻﻲ ﺍﺳـﺖ. ﻳﻚ ﺳــﺮﻭﺭ ﻭﺏ، ﻳﻚ ﺟﻔﺖ ﻛﻠﻴﺪ ﻋﻤﻮﻣﻲ ﻭ ﺧﺼﻮﺻﻲ ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﺪ. ﻭﻗﺘﻲ HTTPS  ﺍﺯ ﻧﻮﻉSession ﻛﻼﻳﻨﺖ ﻣﻲ ﺧﻮﺍﻫﺪ ﻳــﻚ ﺍﻳﺠﺎﺩ ﻛﻨﺪ، ﮔﻮﺍﻫﻲ ﺳﺮﻭﺭ ﺭﺍ ﺩﺭﺧﻮﺍﺳﺖ ﻣﻲ ﻛﻨﺪ. ﺍﻳﻦ  ﺍﻗﺪﺍﻡ  ﺷﻮﺩﻲﺍﺯ ﻃﺮﻳﻖ ﻳﻜﻲ ﺍﺯ ﻣﻘﺎﻣﺎﺕ ﺗﺤﺖ ﻭﺏ ﻣﺪﺍﺭﻙ ﺍﻧﺠﺎﻡ ﻣ ﺗﺎ ﺁﺩﺭﺱ ﺩﺭﺧﻮﺍﺳـﺘﻲ ﻣﻌﺘﺒﺮ ﺷــﻮﺩ ﻭ ﻧﺸـﺎﻥ ﺩﻫﺪ ﮔﻮﺍﻫﻲ ﺩﺍﺭﻧﺪﻩ ﻭﺏ ﺳـﺎﻳﺖ ﻣﻨﻘﻀﻲ ﻳﺎ ﺑﺎﻃﻞ ﻧﺸــﺪﻩ ﺑﺎﺷﺪ. )ﺩﺭ ﺍﻳﻦ ﺯﻣﺎﻥ ﺍﺳﺖ ﻛﻪ ﺑﻴﺸﺘﺮ ﻫﺸــﺪﺍﺭﻫﺎﻱ ﻣﺮﻭﺭﮔﺮﻫﺎ ﻧﺸﺎﻥ ﺩﺍﺩﻩ  ﺷــﻮﺩ؛ ﭼﺮﺍ ﻛﻪ ﻣﺮﻭﺭﮔﺮ ﺩﺭ ﺍﻳﻦ ﻣﺮﺣﻠﻪ ﺍﺳﺖ ﻛﻪ ﺗﺼﻤﻴﻢﻲﻣ(. ﮔﻴﺮﺩ ﻣﺪﺭﻙ ﮔﻮﺍﻫﻲ ﻭﺏ ﺳﺎﻳﺖ ﺭﺍ ﻗﺒﻮﻝ ﻛﻨﺪ ﻳﺎ ﻧﻪﻲﻣ

 ﻛﻼﻳﻨﺖ ﺳــﭙﺲ ﺁﻳﺘﻢ ﺭﻣﺰﮔﺬﺍﺭﻱ ﺷﺪﻩ ﺍﻱ ﺭﺍ ﺑﺎ ﻋﻨﻮﺍﻥ  ﺍﻧﺘﺨــﺎﺏ ﻭ ﺁﻥ ﺭﺍ ﺑــﺎ ﻛﻠﻴــﺪpre-master secret

 ﻋﻤﻮﻣﻲ ﺳـﺮﻭﺭ ﺭﻣﺰﮔﺬﺍﺭﻱ ﻣﻲ ﻛﻨﺪ ﻭ ﺑﻪ ﺳــﻤﺖ ﺳــﺮﻭﺭ ﻣﻲ ﻓﺮﺳﺘﺪ. ﺑﻪ ﺩﻟﻴﻞ ﻃﺒﻴﻌﺖ ﺭﻣﺰﮔﺬﺍﺭﻱ ﻛﻠﻴﺪﻫﺎﻱ ﻋﻤﻮﻣﻲ، ﭼﻴﺰﻱ ﻛﻪ ﺑﺎ ﻛﻠﻴﺪ ﻋﻤﻮﻣﻲ ﺭﻣﺰﮔﺬﺍﺭﻱ ﺷﺪﻩ ﺑﺎﺷﺪ، ﺗﻨﻬﺎ ﺍﺯ ﻃﺮﻳﻖ ﻛﻠﻴﻫﺎﻱ ﺧﺼﻮﺻﻲ ﻣﺮﺗﺒﻂ ﺑﺎ ﺁﻥ ﻣﻲ ﺗﻮﺍﻧﺪ ﺧﻮﺍﻧﺪﻩ  ﺭﺍpre-master secret ﺷــﻮﺩ. ﺍﮔﺮ ﺳــﺮﻭﺭ ﺑﺘﻮﺍﻧﺪ ﺭﻣﺰﮔﺸــﺎﻳﻲ ﻛﻨــﺪ، ﺩﺭ ﻧﺘﻴﺠﻪ ﻛﻠﻴﺪ ﺧﺼﻮﺻــﻲ ﻓﻌﻠﻲ ﺩﺭ .ﺍﺧﺘﻴﺎﺭ ﺳﺮﻭﺭ ﺍﺳﺖ ﻭ ﺍﺭﺗﺒﺎﻁ ﺑﺮﻗﺮﺍﺭ ﻣﻲ ﺷﻮﺩ ( ﻛﻨﺪAsymmetric) ﺭﻣﺰﮔﺸــﺎﻳﻲ ﻏﻴﺮﻫﻤﺰﻣﺎﻥ ﺍﺳـﺖ ﻭ ﺳـﺮﻭﺭ ﻭ ﻛﻼﻳﻨﺖ ﺧﻴﻠﻲ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻧﺨﻮﺍﻫﺪ

 ﻛﺮﺩ. ﺩﺭ ﺣﻘﻴﻘﺖ ﺁﻧﻬﺎ ﺍﺯ ﺳــﺮﻱ ﻣﺮﺍﺣﻠﻲ ﭘﻴﺮﻭﻱ ﻛﺮﺩﻩ ﻛﻪ master secret ﺭﺍ ﺑـﻪpre-master secret

  ﺗﻮﻟﻴﺪSession ﺗﺒﺪﻳﻞ ﻣﻲ ﻛﻨــﺪ ﻭ ﺩﺭ ﻧﺘﻴﺠﻪ ﻳﻚ ﻛﻠﻴﺪ ﻣﻲ ﺷﻮﺩ. ﺍﻳﻦ ﻛﻠﻴﺪﻱ ﻫﻤﺰﻣﺎﻥ ﺍﺳﺖ ﻛﻪ ﺑﺮﺍﻱ ﺭﻣﺰﮔﺬﺍﺭﻱ .ﻭ ﺭﻣﺰﮔﺸﺎﻳﻲ ﺩﺭ ﺩﻭ ﻃﺮﻑ ﺍﺭﺗﺒﺎﻁ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩﺁﻳﺎ ﺑﻪ ﻣﺪﺭﻛﻲ ﻭﺍﻗﻌﻲ ﻧﻴﺎﺯ ﺩﺍﺭﻳﻢ؟

  ﺑﻪ ﻳﻚHTTPS ﺑﺮﺍﻱ ﺧﺪﻣﺖ ﺭﺳــﺎﻧﻲ ﺍﺯ ﻃﺮﻳــﻖ ﻫﺎ ﻧﻴﺎﺯﻱ ﻧﺪﺍﺭﻳﻢ. ﻫﺮﭼﻨﺪCA ﻣﺪﺭﻙ ﺗﻮﻟﻴﺪﺷﺪﻩ ﺍﺯ ﺳﻮﻱ

 ﺩﺍﺷﺘﻦ ﻳﻚ ﻣﺪﺭﻙ ﻭﺍﻗﻌﻲ )ﺑﻪ ﺟﺎﻱ ﺁﻥ ﻛﻪ ﺧﻮﺩﻣﺎﻥ ﺗﻮﻟﻴﺪ ﻛﺮﺩﻩ ﺍﻳﻢ( ﻣﻲ ﺗﻮﺍﻧﺪ ﻫﺸــﺪﺍﺭﻱ ﺭﺍ ﻛــﻪ ﻛﺎﺭﺑﺮﺍﻥ ﻫﻨﮕﺎﻡ ﺑﺎﺯ ﻛﺮﺩﻥ ﺻﻔﺤﻪ ﻣﻲ ﺑﻴﻨﻨﺪ، ﺣﺬﻑ ﻛﻨﺪ. )ﻫﺸﺪﺍﺭﻱ ﻛﻪ ﻣﻤﻜﻦ(.ﺍﺳﺖ ﻛﺎﺭﺑﺮﺍﻥ ﺭﺍ ﻓﺮﺍﺭﻱ ﺑﺪﻫﺪ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﻣﺪﺍﺭﻙ ﺧﻮﺩﺍﻣﻀﺎ ﻭ ﺧﻮﺩﺗﻮﻟﻴﺪ ﺑﺮﺍﻱ ﺗﺴﺖ ﻭ ﺍﺳــﺘﻔﺎﺩﻩ  ﺩﺭ ﺳــﺎﻳﺖ ﻫﺎﻱ ﺩﺍﺧﻠﻲ ﻛﺎﺭ ﺻﺤﻴﺤﻲ ﺍﺳﺖ، ﺍﻣﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﻫﻤﻴﻦ ﻣﺪﺍﺭﻙ ﺩﺭ ﻓﻀﺎﻱ ﺍﻳﻨﺘﺮﻧﺖ ﻧﻪ ﺗﻨﻬﺎ ﻣﻔﻴﺪ ﻧﻴﺴــﺖ ﺑﻠﻜـﻪ ﻳﻜﻲ ﺍﺯ ﺩﻭ ﻣﻮﻟﻔﻪ ﺍﺻﻠﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ  ﺭﺍ ﺯﻳﺮ ﺳﻮﺍﻝ ﻣﻲ ﺑﺮﺩ. ﻣﺪﺭﻛﻲ ﻛﻪ ﺗﻮﺳﻂ ﻳﻚHTTPS  ﺷــﻨﺎﺧﺘﻪ ﺷــﺪﻩ ﺍﻣﻀﺎ ﺷـﻮﺩ ﺑﻪ ﺍﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖ ﻛﻪCA ﺷــﻤﺎ )ﻭﺏ ﺳﺎﻳﺖ( ﻫﻤﺎﻥ ﻛﺴﻲ ﻫﺴﺘﻴﺪ ﻛﻪ ﺧﻮﺩ ﺭﺍ ﻣﻌﺮﻓﻲ ﻣﻲ ﻛﻨﻴﺪ. ﺣﺘﻲ ﻣﻬﻢ ﺗﺮ ﺍﺯ ﺁﻥ، ﻭﺏ ﺳـﺎﻳﺖ ﻫﺎﻱ ﺍﻳﻨﭽﻨﻴﻨﻲ ﺑﻴﺸـﺘﺮ ﺩﺭ ﻣﻌﺮﺽ ﺧﻄﺮ ﺗﻬﺪﻳﺪ ﻗــﺮﺍﺭ ﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ؛ ﺯﻳﺮﺍ ﻛﺎﺭﺑﺮﺍﻥ ﺑﺴﺎﺩﮔﻲ ﺁﻧﻬﺎ ﺭﺍ ﺭﺩ ﺧﻮﺍﻫﺪ ﻛﺮﺩ. ﺑﻨﺎﺑﺮﺍﻳﻦ، ﺑﻠﻪ، ﺑﻪ.ﻣﺪﺭﻙ ﻭﺍﻗﻌﻲ ﻧﻴﺎﺯ ﺩﺍﺭﻳﻢ

ﺍﻧﻮﺍﻉ ﻣﺪﺍﺭﻙ ﻫﺎﻱ ﻣﺨﺘﻠﻒ، ﻣﺪﺍﺭﻙ ﻣﺨﺘﻠﻔﻲ ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪCA ﻭ ﻣﻌﻤﻮﻻ ﺑﺮﺍﻱ ﻛﻼﺱ ﻫﺎﻱ ﺑﺎﻻﺗﺮ، ﻫﺰﻳﻨﻪ ﻫﺎﻱ ﺑﻴﺸــﺘﺮﻱ ﺩﺍﺭﻧــﺪ. ﺍﻣﺎ ﺗﻘﺮﻳﺒــﺎ ﺩﺭ ﻫﻤﻪ ﻣﻮﺍﺭﺩ، ﻣﻴـﺰﺍﻥ ﺭﻣﺰﺑﻨﺪﻱ ﺍﻳﻦ ﻣﺪﺭﻙ ﺑﺮﺍﺑﺮ ﺍﺳﺖ ﻭ ﻣﻴﺰﺍﻥ ﻛﺎﺭﻫﺎﻳﻲ ﻛﻪ ﺑﺮﺍﻱ ﻣﻌﺘﺒﺮﺳﺎﺯﻱ .ﺻﻔﺤﻪ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ، ﻣﺘﻔﺎﻭﺕ ﺧﻮﺍﻫﺪ ﺑﻮﺩ  ﺳـﺮ ﺑﺰﻧﻴﻢ،CA ﻭﻗﺘﻲ ﺑـﻪ ﺳـﺎﻳﺖ ﻫﺎﻱ ﻣﺨﺘﻠـﻒ ﻣﺘﻮﺟــﻪ ﺧﻮﺍﻫﻴﻢ ﺷــﺪ ﺭﻓﺮﻧﺲ ﻫﺎﻳﻲ ﺑــﻪ ﻛﻼﺱ 1/2 ﻳﺎ 3 ﺩﺍﺩﻩ ﻣﻲ ﺷـﻮﺩ. ﻫﻤﭽﻨﻴــﻦ ﻣﺪﺍﺭﻛــﻲ ﺑـﺎ ﻋﻨﻮﺍﻥ ﻫــﺎﻱ  ﻧﻴﺰ ﻭﺟﻮﺩ ﺩﺍﺭﺩ. ﻫﺮ ﭼﻨﺪextended  ﻳـﺎwildcard

 ﺍﺯ ﻧﻈﺮ ﻗﺪﺭﺕ ﻛﻠﻴﺪ ﺭﻣﺰﺑﻨﺪﻱ، ﻛﻼﺱ1 ﺍﺯ ﻛﻼﺱ2 ﺍﻣﻦ ﺗﺮ ﻧﻴﺴـﺖ، ﺍﻣﺎ ﻛﻼﺱ2 ﺑﻪ ﺩﻟﻴﻞ ﻣﺮﺣﻠﻪ ﻣﻌﺘﺒﺮﺳﺎﺯﻱ ﻫﻮﻳﺖ، ،SSL ﻛﻤﻲ ﻣﻄﻤﺌﻦ ﺗﺮ ﺍﺳــﺖ. ﺑﺴـﺘﻪ ﺑﻪ ﻋﺮﺿــﻪ ﻛﻨﻨﺪﻩ .ﻛﻼﺱ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺯﻳﺎﺩﻱ ﻭﺟﻮﺩ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ EV  ﻳــﺎextended validation ﻣـﺪﺭﻙ ﺑﻪ ﻳﻚ ﺍﺳــﺘﺎﻧﺪﺍﺭﺩ ﺗﺒﺪﻳﻞ ﺷﺪﻩ ﺍﺳــﺖ ﻭ ﺩﺭ ﻣﺮﻭﺭﮔﺮﻫﺎﻱ ﻣﺪﺭﻥ، ﺑﻪ ﺷـﻴﻮﻩ ﺑﻬﺘﺮﻱ ﻧﺸـﺎﻥ ﺩﺍﺩﻩ ﻣﻲ ﺷﻮﺩ ﻭ ﺑﻪ ﺭﻧﮓ .ﺳﺒﺰ ﺧﻮﺍﻫﺪ ﺑﻮﺩ

 ﻫــﺎ  ﺩﺭCA    ﺭﺍ  ﻣﻌﻤــﻮﻻ  ﺧــﻮﺩEV  ﻣـﺪﺍﺭﻙ ﻭﺏ ﺳﺎﻳﺖ ﻫﺎﻳﺸﺎﻥ ﺍﺳــﺘﻔﺎﺩﻩ ﻣﻲ ﻛﻨﻨﺪ. ﻭﺏ ﺳﺎﻳﺖ ﻫﺎﻳﻲ ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺮﺍﻱ ﺧﺮﻳﺪ ﻭ ﻓﺮﻭﺵ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ ﻧﻴﺰ ﻣﻌﻤﻮﻻ  ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﻛﻨﻨﺪ. ﺍﻳﻦ ﻧﻮﻉ ﻣﺪﺍﺭﻙ ﺍﺯ ﺑﻘﻴﻪ ﮔﺮﺍﻥ ﺗﺮEV ﺍﺯ ﺑﻮﺩﻩ ﻭ ﺩﺭﻳﺎﻓﺖ  ﺁﻧﻬﺎ ﻧﻴﺰ ﺑﺴـﻴﺎﺭ ﺩﺷﻮﺍﺭ ﺍﺳﺖ؛ ﺯﻳﺮﺍ ﻛﺎﺭﻫﺎﻱ .ﺯﻳﺎﺩﻱ ﺑﺮﺍﻱ ﺍﺣﺮﺍﺯ ﻫﻮﻳﺖ ﻭﺏ ﺳﺎﻳﺖ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ . ﻧﺪﺍﺭﻧﺪEV ﺍﻣﺎ ﻭﺏ ﺳــﺎﻳﺖ ﻫﺎﻱ ﻣﻌﻤﻮﻟﻲ ﻧﻴﺎﺯﻱ ﺑـﻪ ﻫــﺎ ﺗﺒﻠﻴﻎ ﻣﻲ ﻛﻨﻨﺪ ﻧﻴﺰCA ﺣﺘـﻲ ﺍﻓﺰﻭﻧﻪ ﻫﺎﻳﻲ ﻛﻪ ﺍﻏﻠﺐ  )ﻧﻮﻉ ﺧﺎﺻﻲ ﺍﺯwildcart ﺍﻟﺰﺍﻣﻲ ﻧﻴﺴـﺖ.ﺑﻪ ﻣــﺪﺍﺭﻙ

  ﻛـﻪ ﺑــﺮﺍﻱ ﺳـﺮﻭﺭﻫﺎﻱ ﻣﺨﺘﻠـﻒ ﺩﺭ ﻳﻚSSL / TLS ﺩﻭﻣﻴﻦ ﺍﺳــﺘﻔﺎﺩﻩ ﻣﻲ ﺷــﻮﺩ( ﻧﻴﺰ ﻧﻴﺎﺯﻱ ﻧﻴﺴﺖ. ﺩﺭ ﺣﻘﻴﻘﺖ ﺑﺮﺍﻱ ﻳﻚ ﻭﺏ ﺳــﺎﻳﺖ ﺷــﺨﺼﻲ ﺑﺠﺰ ﻳﻚ ﻣﺪﺭﻙ ﺳﺎﺩﻩ . ﺑﻪ ﭼﻴﺰ ﺩﻳﮕﺮﻱ ﻧﻴﺎﺯ ﻧﺪﺍﺭﻳﻢSSL / TLS ، ﺑﻪ ﻳﻚ ﭼﻴﺰSSL / TLS ﺑﺮﺍﻱ ﺩﺭﻳﺎﻓﺖ ﻳﻚ ﻣﺪﺭﻙ ﻧﻴﺎﺯ ﺩﺍﺭﻳﻢ. ﺳـﺮﻭﺭ ﻭﺏ ﺑﺎﻳﺪ ﻧﺎﻡ ﺩﺍﺷــﺘﻪ ﺑﺎﺷـﺪ. ﻧﺎﻡ ﺳﺮﻭﺭ ﭼﻴﺰﻱ ﺍﺳــﺖ ﻛﻪ ﺑﻪ ﻋﻨﻮﺍﻥ ﺑﺨﺸﻲ ﺍﺯ ﻫﻮﻳﺖ ﺁﻥ ﺷﻨﺎﺳﺎﻳﻲ  ﺭﺍ ﺛﺒﺖ ﻧﻜﺮﺩﻩﺍﻳﺪ،org.ﻳﺎcom.ﺧﻮﺍﻫﺪ ﺷـﺪ. ﺍﮔﺮ ﺩﺍﻣﻨﻪ .ﺑﺎﻳﺪ ﺍﺑﺘﺪﺍ ﺍﻳﻦ ﻛﺎﺭ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﻴﻢ ﺳـﺮﻳﻊ ﺗﺮﻳﻦ ﻛﺎﺭ ﺑـﺮﺍﻱ ﺛﺒﺖ ﺁﻥ، ﺍﺳــﺘﻔﺎﺩﻩﺍﺯﮔﻮﮔﻞ ﺍﺳﺖ. ﮔﻮﮔﻞ ﺑﺎ ﻫﺰﻳﻨﻪ ﻫﺸـﺖ ﺩﻻﺭ ﻣﻲ ﺗﻮﺍﻧﺪ ﺍﻳﻨﺘﺮﻓﻴﺴﻲ ﺷــﺒﻴﻪ ﮔﻮﮔﻞ ﺩﺭﺍﺧﺘﻴﺎﺭ ﻛﺎﺭﺑﺮ ﻗـﺮﺍﺭ ﺩﻫﺪ ﻭ ﺗﺎ ﺩﻩ ﻛﺎﺭﺑﺮ ﻧﻴﺰ .ﻣﻲ ﺗﻮﺍﻧﺪ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﺪ   ﺑﻌـﺪ ﺍﺯ ﺍﻧﺠـﺎﻡ ﻛﺎﺭﻫﺎﻱ ﻓﻮﻕ،SSL ﺑـﺮﺍﻱ ﺩﺭﻳﺎﻓﺖ ﺑﻪ ﻧﺸــﺎﻧﻲ ﺯﻳﺮ ﺑﺮﻭﻳﺪ ﺗﺎ ﺍﻃﻼﻋﺎﺕ ﺑﻴﺸـﺘﺮﻱ ﺍﺯ ﺷــﻴﻮﻩ ﻭ: ﻛﺴﺐ ﻛﻨﻴﺪSSL ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﺩﻥ ﻣﺪﺭﻙhttp://arstechnica.com/

security/2009/12/how-to-get-set-with-

a-secure-sertificate-for-free/

 ﺑﻌـﺪ ﺍﺯ ﺍﻳﻦ ﻛﻪ ﻛﻠﻴﺪ ﺭﺍ ﺑﻪ ﺩﺳــﺖ ﺁﻭﺭﺩﻳــﺪ، ﺑﺎ ﺍﺟﺮﺍﻱ

 ﺩﺳـﺘﻮﺭﻫﺎﻱ ﺯﻳﺮ ﺩﺭ ﺳــﺮﻭﺭ ﻣﻲ ﺗﻮﺍﻧﻴﻢ ﻛﻠﻴﺪﻫﺎ ﺭﺍ ﺑﻪ ﺳﺮﻭﺭ

 .ﻭﺻﻞ ﻛﻨﻴﻢ

scp ssl.key yourname@webserver:~

scp ssl.crt yourname@webserver:~

  ﻭ ﻓﺎﻳﻞssl.key ﺩﺭ ﺩﺳــﺘﻮﺭ ﺑﺎﻻ، ﻓﺎﻳﻞ ﻛﻠﻴﺪ ﺑﺎ ﻧـﺎﻡ

  ﻣﺸــﺨﺺ ﺷــﺪﻩ ﺍﺳــﺖ. ﺷﻨﺎﺳﻪssl.crt ﻣﺪﺭﻙ ﺑﺎ ﻧﺎﻡ

  ﻭwebserver ﻛﺎﺭﺑــﺮﻱ ﻭ ﻧﺎﻡ ﺳــﺮﻭﺭ ﺭﺍ ﺩﺭ ﺑﺨــﺶ

 .  ﻗﺮﺍﺭ ﺩﻫﻴﺪusername

 ﺑﻌـﺪ ﺍﺯ ﺍﻳﻦ ﻛـﻪ ﻛﻠﻴﺪ ﻭ ﻣﺪﺭﻙ ﻛﭙﻲ ﺷــﺪ، ﺑﺎﻳﺪ ﻛﻠﻴﺪ

 ﺭﺍ ﺭﻣﺰﮔﺸـﺎﻳﻲ ﻛﻨﻴﻢ. ﺑﺮﺍﻱ ﺍﻳﻦ ﻛﺎﺭ، ﺩﺳــﺘﻮﺭ ﺯﻳﺮ ﺭﺍ ﺍﺟﺮﺍ

 :ﻛﻨﻴﺪ

sudo openssl rsa -in ssl.key -out /etc/

nginx/conf/ssl.key

 ﻧﺨﺴــﺘﻴﻦ ﺑﺎﺭ ﻛﻪ ﺍﻳﻦ ﺩﺳــﺘﻮﺭ ﺍﺟﺮﺍ ﻣﻲ ﺷﻮﺩ، ﺷﻨﺎﺳﻪ

  ﻳﻚopenssl .ﻭ ﺭﻣﺰ ﻋﺒﻮﺭﺗﺎﻥ ﺩﺭﺧﻮﺍﺳــﺖ ﻣﻲ ﺷــﻮﺩ

 ﻛﭙﻲ ﺭﻣﺰﮔﺸــﺎﻳﻲ ﺷــﺪﻩ ﺍﺯ ﻛﻠﻴﺪ ﺧﺼﻮﺻﻲ ﺭﺍ ﺩﺭ ﻣﺴــﻴﺮ

  ﻗــﺮﺍﺭ ﻣﻲ ﺩﻫﺪ. )ﺑﻪ ﻫﻤﻴﻦ ﺩﻟﻴﻞ ﺍﺯetc / nginx / conf / 

  ﺍﺳــﺘﻔﺎﺩﻩ ﺷــﺪ، ﭼﺮﺍ ﻛﻪ ﻛﺎﺭﺑﺮ ﺑﺎ ﺩﺳﺘﺮﺳﻲ ﻋﺎﺩﻱsudo

(ﻧﻤﻲ ﺗﻮﺍﻧﺪ ﻓﺎﻳﻞ ﺩﺭ ﺁﻥ ﻣﺤﻞ ﻗﺮﺍﺭ ﺩﻫﺪ

 ﺣﻔﻆ ﺍﻳﻦ ﻛﻠﻴﺪ ﺑﺴﻴﺎﺭ ﻣﻬﻢ ﺍﺳﺖ، ﭼﺮﺍ ﻛﻪ ﭘﺎﻳﻪ ﻫﻮﻳﺖ

 ﺳــﺮﻭﺭ ﺭﺍ ﺗﺸـﻜﻴﻞ ﻣﻲ ﺩﻫﺪ ﻭ ﻫﺮ ﻛﺴــﻲ ﺑﻪ ﺁﻥ ﺩﺳــﺖ

 ﭘﻴــﺪﺍ ﻛﻨﺪ ﻣﻲ ﺗﻮﺍﻧـﺪ ﺍﺯ ﻧﻈﺮ ﺭﻣﺰﮔﺬﺍﺭﻱ، ﻫﻮﻳﺖ ﺳــﺮﻭﺭ ﺭﺍ

  ﻭNginx ﺍﺯ ﺁﻥ ﺧــﻮﺩ ﻛﻨـﺪ. ﺑﻨﺎﺑﺮﺍﻳﻦ ﺑﻬﺘﺮ ﺍﺳــﺖ ﺑـﻪ

 .ﭘﺮﻭﺳﺲ ﻫﺎﻱ ﺁﻥ ﺩﺳﺖ ﭘﻴﺪﺍ ﻛﻨﻨﺪ

sudo chown www-data:www-data /

etc/nginx/conf/ssl.key

sudo chmod 600 /etc/nginx/conf/ssl.key

  ﻗﺮﺍﺭwww-data ﺩﺳــﺘﻮﺭ ﺍﻭﻝ، ﻓﺎﻳﻞ ﺭﺍ ﺩﺭ ﺍﺧﺘﻴﺎﺭ ﻣﻲ ﺩﻫﺪ. ﺩﺳــﺘﻮﺭ ﺩﻭﻡ ﺳــﻄﻮﺡ ﺩﺳﺘﺮﺳــﻲ ﺁﻥ ﺭﺍ ﻃﻮﺭﻱ ﺗﻌﻴﻴــﻦ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺗﻨﻬﺎ ﺻﺎﺣــﺐ ﺁﻥ ﺑﺘﻮﺍﻧﺪ ﺁﻥ ﺭﺍ ﺧﻮﺍﻧﺪﻩ.ﻳﺎ ﺩﺭ ﺁﻥ ﺑﻨﻮﻳﺴﺪ root  ﻭintermediate ﺑﻌﺪ ﺑﺎﻳﺪ ﺑﺎﻳﺪ ﻣـﺪﺍﺭﻙ   ﺩﺭﻳﺎﻓـﺖ ﻛﺮﺩﻩ ﻭ ﺁﻧﻬﺎ ﺭﺍ ﺑﺎ ﻣﺪﺭﻙ ﺳـﺮﻭﺭ ﻳﻜﻲCAﺭﺍ ﺍﺯ ﻛﻨﻴـﻢ ﻭ ﺩﺭ ﻳﻚ ﺯﻧﺠﻴﺮ ﺑﺰﺭگ ﺗﺮ ﻗﺮﺍﺭ ﺩﻫﻴﻢ. ﺍﻳﻦ ﻣﻮﺿﻮﻉ ﻋﻼﻭﻩ ﺑﺮ ﺍﻳﻦ ﻛﻪ ﺩﺭﻙ ﻫﻮﻳﺖ ﺍﺯ ﺳﻮﻱ ﻣﺮﻭﺭﮔﺮ ﺭﺍ ﺭﺍﺣﺖ ﺗﺮ ﻣﻲ ﻛﻨﺪ، ﺳــﺎﺩﻩ ﺗﺮﻳﻦ ﺭﻭﺵ ﻣﻤﻜﻦ ﺩﺭ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﮔﻮﺍﻫﻲ . ﻫﻢ ﻫﺴﺖNginx  ﺩﺭSSLcd /etc/nginx/confsudo wget http://www.startssl.com/certs/ca.pemsudo wgethttp://www.startssl.com/certs/sub.class1.server.ca.pem ﺳﻪ ﺩﺳﺘﻮﺭ ﺑﺎﻻ، ﻣﺴﺘﻘﻴﻤﺎ ﻣﺎ ﺭﺍ ﺑﻪ ﻣﻘﺼﺪ ﻣﻲ ﺭﺳﺎﻧﺪ. ﺑﺎ ﻛﻤﻚ ﺩﺳــﺘﻮﺭ ﺯﻳﺮ، ﻫﺮ ﺳــﻪ ﻓﺎﻳﻞ ﺭﺍ ﺑﻪ ﻳﻚ ﻓﺎﻳﻞ ﺗﺒﺪﻳﻞ .ﻣﻲ ﻛﻨﻴﻢ

sudo cat ~/ssl.crt sub.class1.server.

ca.pem ca.pem > /etc/nginx/conf/ssl-

unified.crt

 ﻓﺎﻳﻞ ﻫﺎﻱ ﮔﻮﺍﻫﻲ ﺑﻪ ﺻﻮﺭﺕ ﻣﺘﻨﻲ ﺍﺳﺖ ﻭ ﺑﺴﺎﺩﮔﻲ ﺑﺎ . ﺁﻧﻬﺎ ﺭﺍ ﻳﻜﻲ ﻣﻲ ﻛﻨﻴﻢcat ﺩﺳﺘﻮﺭnginx ﺍﺗﺼﺎﻝ ﺑﻪ ﺣـﺎﻻ ﻛﻪ ﻓﺎﻳﻞ ﻫﺎﻱ ﻛﻠﻴــﺪ ﺭﺍ ﺑﺎﺯ ﻛــﺮﺩﻩ ﻭ ﻣﺪﺭﻛﻤﺎﻥ  ﺑﮕﻮﻳﻴﻢ ﭼﻄــﻮﺭ ﺍﺯ ﺁﻧﻬﺎnginx ﺁﻣﺎﺩﻩ ﺍﺳــﺖ، ﺑﺎﻳﺪ ﺑــﻪ ﺍﺳــﺘﻔﺎﺩﻩ ﻛﻨــﺪ. ﺩﻭ ﻓﺎﻳﻞ ﺭﺍ ﺑـﺮﺍﻱ ﺍﻧﺠﺎﻡ ﺍﻳـﻦ ﻛﺎﺭ ﺑﺎﻳﺪ nginx.conf ﻭﻳﺮﺍﻳﺶ ﻛﻨﻴﻢ. ﻧﺨﺴــﺖ ﻓﺎﻳﻞ ﺍﺻﻠــﻲ . ﺍﮔﺮ ﭼﻨﺪ ﻭﺏ ﺳــﺎﻳﺖ ﻭVitrual Host ﻭ ﺑﻌــﺪ ﻓﺎﻳﻞ  ﺩﺍﺭﻳﺪ، ﺑﺎﻳﺪ ﻳﻜﻲ ﻳﻜﻲ ﺁﻧﻬﺎ ﺭﺍVirtual Host ﻓﺎﻳــﻞ Virtual ﻭﻳﺮﺍﻳـﺶ ﻛﻨﻴﺪ. ﻓﺮﺽ ﻣﻲ ﮔﻴﺮﻳﻢ ﺗﻨﻬــﺎ ﻳﻚ . ﺩﺍﺭﻳﺪHost  ﺭﺍ ﺑﺎﺯ ﻛﺮﺩﻩ ﻭ ﺩﺳﺘﻮﺭ ﺯﻳﺮ ﺭﺍ ﺩﺭnginx.conf ﻓﺎﻳﻞ :ﺍﻧﺘﻬﺎﻱ ﺁﻥ ﻭﺍﺭﺩ ﻛﻨﻴﺪssl_session_cache shared:SSL:10m;

  ﺧﻮﺩ ﺭﺍ ﺑﺎﺯ ﻛﻨﻴﺪ. ﺩﺭ ﺍﻳﻦvirtual host ﺑﻌــﺪ ﻓﺎﻳﻞ  ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﻛﻪ ﺩﺭ ﭘﻮﺭﺕSSL ﻓﺎﻳﻞ ﺗﻨﻬﺎ ﻳﻚ ﻣﻴﺰﺑﺎﻥ ﻏﻴﺮ

 08 ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﺍﺳــﺖ. ﻣﻲ ﺧﻮﺍﻫﻴـﻢ ﻣﻴﺰﺑﺎﻥ ﺟﺪﻳﺪﻱ ﺩﺭ .ﺍﻳــﻦ ﻓﺎﻳﻞ ﺍﻳﺠﺎﺩ ﻛﻨﻴﻢ ﻛﻪ ﺩﺭ ﭘﻮﺭﺕ 344 ﮔﻮﺵ ﻣﻲ ﻛﻨﺪ :ﺑﺨﺶ ﺯﻳﺮ ﺭﺍ ﺯﻳﺮ ﺳﺮﻭﺭ ﻓﻌﻠﻲ ﻗﺮﺍﺭ ﺩﻫﻴﺪ

server {

    listen 443 ssl;

    root /usr/share/nginx/html;

    index index.html index.htm;

     server_name your-server-name;

    ssl on;

    ssl_certificate /etc/nginx/conf/ssl-

unified.crt;

    ssl_certificate_key /etc/nginx/conf/

ssl.key;

    ssl_protocols SSLv3 TLSv1 TLSv1.1 

TLSv1.2;

    ssl_ciphers ECDHE-RSA-AES256-

SHA384:AES256-SHA256:RC4: 

HIGH:!MD5:!aNULL:!EDH:!AESGCM;

    ssl_prefer_server_ciphers on;

    ssl_ecdh_curve secp521r1;

}

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد