รหัสผ่านในการสมัครอีเมล์ การปฏิบัติที่ไม่ดี? รองรับ PCI?


49

เราใช้ Magento Enterprise (1.12) และฉันมีลูกค้าหลายคนส่งอีเมลถึงฉันบ่นว่าพวกเขาได้รับรหัสผ่านทางอีเมลเมื่อพวกเขาสมัครใช้งานบัญชี ฉันรู้ว่านี่ถือว่าเป็นการปฏิบัติที่ไม่ดี แต่มาพร้อมกับวีโอไอพีนอกกรอบ

ฉันจะเปลี่ยนและลบมันออกจากเทมเพลตอีเมลซึ่งง่ายพอ แต่ฉันแค่สงสัยว่าทำไม Magento ถึงทำสิ่งนี้ถ้ามันถือว่าเป็นการปฏิบัติที่ไม่ดีมานาน ฉันรู้ว่ามีข้อมูลที่ละเอียดอ่อนเพียงเล็กน้อยที่เก็บไว้ในบัญชีผู้ใช้และเราทำการตรวจสอบความถูกต้องของบัตรเครดิต แต่ "Magento Enterprise ทำเช่นนั้นดังนั้นจะต้องใช้ได้" ดูเหมือนว่าคำตอบที่ไม่ดีสำหรับฉันที่จะให้ ..

นักพัฒนาของวีโอไอพีหลายคนทำสิ่งนี้บ่อยครั้งในการสร้าง 'รายการที่ต้องทำ' เมื่อสร้างเว็บไซต์ใหม่เช่นลบการตรวจสอบทางโทรศัพท์


EE รุ่นใด
benmarks

@benmarks เวอร์ชันของ EE ไม่สำคัญในกรณีนี้พวกเขาทั้งหมดส่งรหัสผ่านในอีเมลการลงทะเบียนบัญชี :)
davidalger

@davidalger เห็นคำตอบของฉัน ตั้งแต่ EE 1.10 มีเท็มเพลตการรีเซ็ตรหัสผ่านสองเวอร์ชัน
philwinkle

1
@philwinkle ถูกต้อง แต่อีเมลรีเซ็ตไม่ใช่หนึ่งใน OP ที่ถาม พวกเขาถามถึงอีเมลสมัคร ...
davidalger

@Davidalger ความดีเป็นอย่างดี ฉันสมควรได้รับ downvotes ทุกประเภท :) จะแก้ไขและ upvote คุณเพราะคุณใช้เวลาในการอ่านจริง
philwinkle

คำตอบ:


32

มันเป็นวิธีปฏิบัติที่ดี (จากมุมมองด้านความปลอดภัย) ในการส่งรหัสผ่านที่ลูกค้าให้ไว้ในระหว่างการลงทะเบียนทางอีเมลหรือไม่?

ไม่ไม่แน่นอนที่สุด!

เราเปลี่ยนแปลงสิ่งนี้บ่อยครั้งสำหรับลูกค้าหรือไม่?

ไม่น่าเสียดายที่เราทำไม่ได้ เราน่าจะควร แต่โดยทั่วไปแล้วมันเป็นหนึ่งในรายการที่ต่ำที่สุดในรายการกังวล ใน 5 ปีที่ผ่านมาฉันจำได้ว่ามีลูกค้าเพียงคนเดียวที่ถามเกี่ยวกับเรื่องนี้ หลังจากได้รับอีเมลที่ร้อนแรงจากลูกค้าที่ไม่พอใจรหัสผ่านที่ถูกส่งไปยังอีเมลของพวกเขาและผู้ที่ถูกถามถึงความปลอดภัยของการให้ข้อมูล CC แก่ไซต์เพื่อสั่งซื้อ

ฉันขอแนะนำให้ทำการเปลี่ยนแปลงนี้สำหรับร้านค้าใหม่ ๆ มันคุ้มค่ากับเวลาเล็กน้อยและ "ประโยชน์" ที่ฉันพูดถึงด้านล่างไม่คุ้มกับความเสี่ยงของการส่งรหัสผ่านที่ไม่ปลอดภัย

การรวมรหัสผ่านในอีเมลบัญชีใหม่มีประโยชน์หรือไม่

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

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

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


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

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


การป้องกันรหัสผ่านจากการส่งออกในอีเมลลงทะเบียนบัญชีนั้นค่อนข้างง่ายและสามารถทำได้จากผู้ดูแลระบบ Magento โดยทำตามขั้นตอนง่าย ๆ ดังนี้:

  1. ไปที่ระบบ> อีเมลธุรกรรม

  2. คลิกปุ่มเพิ่มเทมเพลตใหม่

  3. จากเมนูแบบเลื่อนลงเลือก "บัญชีใหม่"

  4. โหลดเทมเพลตลงในแบบฟอร์มโดยคลิกที่ปุ่มโหลดเทมเพลต

  5. ค้นหาบรรทัดของรหัสต่อไปนี้ในเทมเพลตและลบออก:

    <strong>Password</strong>: {{htmlescape var=$customer.password}}<p>
  6. แก้ไขสำเนาในเทมเพลตเพื่อสะท้อนลักษณะของอีเมลได้ดียิ่งขึ้น ส่วนของเทมเพลตเริ่มต้น (เช่น: "ค่าต่อไปนี้") จะไม่สมเหตุสมผลหากไม่มีรหัสผ่านอยู่ ...


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

1
หากคุณสร้างเทมเพลตอีเมลใหม่คุณอาจต้องเลือกเทมเพลตใหม่นี้ที่:System > Configuration > Customers > Customer Configuration > Create New Account Options > Welcome Email
Willster

9

ตั้งแต่ ~ 1.6.1-RC เรือซีอีวีโอไอพีกับสองแม่รีเซ็ตรหัสผ่านที่แตกต่างกัน หนึ่งมีรหัสผ่านธรรมดาอีกลิงค์รีเซ็ต ชื่อไฟล์เทมเพลตลิงค์รีเซ็ตคือaccount_password_reset_confirmation.htmlในขณะที่ไฟล์อีเมลรหัสผ่านแบบธรรมดาถูกเรียกpassword_new.html

ไปที่:

System > Configuration > Customers > Customer Configuration > Password Options

เปลี่ยนค่าของ "ลืมเทมเพลตอีเมล" เป็น "ลืมรหัสผ่าน (เทมเพลตเริ่มต้นจากที่ตั้ง")

แก้ไข

เมื่ออ่านอีกครั้ง (และ @davidalger เป็นคนที่สุภาพมาก) ฉันอาจตีความผิด อย่างไรก็ตามมันเป็นเรื่องง่ายมากที่จะลบฟิลด์การแจ้งเตือนรหัสผ่านในอีเมลการสมัครใช้งานของลูกค้าใหม่เช่นกัน แก้ไขบรรทัด (~ บรรทัดที่ 34):

<strong>Password</strong>: {{htmlescape var=$customer.password}}<p>

app/locale/en_US/template/email/account_new.htmlในแฟ้ม

หรือเพียงแค่ upvote และยอมรับคำตอบของ @ davidalger เพราะเขาสมควรได้รับ!


1

โปรดทราบว่าใน 1.9.x (และอาจก่อนหน้านี้) มีเทมเพลตอื่นหนึ่งอัน (นอกเหนือจาก

เทมเพลตบัญชีใหม่) ที่จะเปลี่ยนแปลง: รหัสการยืนยันบัญชีใหม่ชั่วคราว

ล่าช้ายังส่งรหัสผ่านในข้อความที่ชัดเจน


0

โปรดทราบว่าใน 1.9.x (และอาจก่อนหน้านี้) มีเทมเพลตอื่น (นอกเหนือจากNew Accountเทมเพลต) ที่จะเปลี่ยนแปลง: New Account Confirmation Keyเทมเพลตยังส่งรหัสผ่านเป็นข้อความธรรมดา

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