Kodokon kodokon.com

ความปลอดภัยขั้นพื้นฐานสำหรับนักพัฒนา

ปกป้องบัญชี คีย์ลับ และเครื่องของคุณด้วยนิสัยง่าย ๆ ไม่กี่อย่างที่ติดตัวไปตลอด

8 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

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

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

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

BASH
# .env: อยู่บนเครื่องของคุณ ไม่แชร์ให้ใครเด็ดขาด
API_KEY=secret_key_do_not_publish
DB_PASSWORD=local_password

# .gitignore: บอก Git ให้เมินเส้นทางเหล่านี้
.env
node_modules/
ข้อมูลลับอาศัยอยู่ใน .env และ .gitignore กัน Git ไม่ให้ติดตามมัน

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

BASH
# ควรเลี่ยง: สั่งรันทั้งที่ยังไม่ได้อ่านอะไรเลย
curl https://example.test/install.sh | bash

# ดีกว่า: ดาวน์โหลดมา อ่านมัน แล้วค่อยตัดสินใจ
curl -o install.sh https://example.test/install.sh
less install.sh
bash install.sh
การดาวน์โหลดแล้วอ่านสคริปต์ก่อนสั่งรันใช้เวลาสามสิบวินาที

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. คุณควรเก็บคีย์ API ไว้ที่ไหนในโปรเจกต์?
    • ในไฟล์โค้ดตรง ๆ เลย แบบนั้นง่ายกว่า
    • ในไฟล์ .env บนเครื่อง ซึ่งถูกกันออกจากรีโพซิทอรีด้วย .gitignore
    • ในข้อความของคอมมิต จะได้กลับมาหาเจอง่าย ๆ
  2. คุณเผยแพร่คีย์ลับไปโดยผิดพลาด แล้วลบไฟล์ทิ้ง คุณจะทำอย่างไรต่อ?
    • ไม่ต้องทำอะไรเพิ่ม เพราะไฟล์หายไปแล้ว
    • เพิกถอนคีย์นั้นกับผู้ให้บริการ แล้วสร้างคีย์ใหม่
    • เปลี่ยนชื่อรีโพซิทอรีเพื่อกลบร่องรอย
  3. ทำไมต้องระแวงคำสั่งที่คัดลอกจากอินเทอร์เน็ตซึ่งขึ้นต้นด้วย sudo?
    • เพราะมันทำงานช้ากว่าเสมอ
    • เพราะมันรันด้วยสิทธิ์ผู้ดูแลระบบและเปลี่ยนอะไรก็ได้
    • เพราะมันใช้ได้บน Windows เท่านั้น