ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

กันโดเมนหมดอายุ ด้วยระบบเตือนและรายการตรวจสอบ
Home กันโดเมนหมดอายุ ด้วยระบบเตือนและรายการตรวจสอบ

กันโดเมนหมดอายุ ด้วยระบบเตือนและรายการตรวจสอบ

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

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

สิ่งที่ต้องเตรียม

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

ขั้นตอนที่ 1: ทำบัญชีรายการโดเมนทั้งหมด

องค์กรจำนวนมากไม่รู้ว่าตัวเองมีโดเมนกี่ชื่อ เพราะจดกระจายกันหลายคนหลายที่

#!/bin/bash
# ตรวจวันหมดอายุของโดเมนในรายการ
for d in example.com example.co.th example.net brand.co.th; do
  exp=$(whois "$d" 2>/dev/null \
    | grep -iE 'expir|Exp date|paid-till' \
    | head -1 | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}|[0-9]{2}-[A-Za-z]{3}-[0-9]{4}')
  reg=$(whois "$d" 2>/dev/null | grep -i 'Registrar:' | head -1 | cut -d: -f2- | xargs)
  printf '%-24s %-14s %s\n' "$d" "${exp:-ไม่ทราบ}" "${reg:-ไม่ทราบ}"
done

บันทึกผลลงเอกสารกลางพร้อมข้อมูลเหล่านี้

  • ชื่อโดเมนและวันหมดอายุ
  • ผู้รับจดทะเบียนและบัญชีที่ใช้จัดการ
  • ผู้รับผิดชอบในองค์กร
  • ระบบที่พึ่งพาโดเมนนั้น เช่น เว็บหลัก อีเมล หรือ API

ขั้นตอนที่ 2: ย้ายอีเมลผู้ติดต่อไปที่บัญชีกลาง

นี่คือการแก้ที่ต้นเหตุที่แท้จริง ตั้งอีเมลผู้ติดต่อของทุกโดเมนเป็นบัญชีกลางที่ไม่ผูกกับตัวบุคคล

[email protected]
[email protected]

ตั้งให้อีเมลนี้ส่งต่อไปยังหลายคน อย่างน้อยสองคนที่รับผิดชอบ และตรวจว่าอีเมลนี้ยังทำงานอยู่จริง

whois example.com | grep -iE 'registrant email|admin email|tech email'

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

ขั้นตอนที่ 3: เปิดต่ออายุอัตโนมัติและตรวจบัตร

เปิดที่ผู้รับจดทะเบียนทุกราย แล้วตรวจว่าบัตรเครดิตที่ผูกไว้ยังไม่หมดอายุ

บัตรเครดิตมีอายุ 3-5 ปี ในขณะที่โดเมนอาจต่ออายุทุก 1-10 ปี จึงเกิดกรณีที่เปิดต่ออายุอัตโนมัติไว้แต่ชำระเงินไม่สำเร็จเพราะบัตรหมดอายุ

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

ขั้นตอนที่ 4: ล็อกโดเมน

whois example.com | grep -i status

สถานะที่ควรเห็น

  • clientTransferProhibited ป้องกันการย้ายผู้รับจดทะเบียนโดยไม่ได้รับอนุญาต
  • clientUpdateProhibited ป้องกันการแก้ไขข้อมูล
  • clientDeleteProhibited ป้องกันการลบ

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

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

ขั้นตอนที่ 5: ตั้งระบบเฝ้าดูจากภายนอก

อย่าพึ่งการแจ้งเตือนจากผู้รับจดทะเบียนอย่างเดียว ตั้งระบบของตัวเองที่ตรวจสอบอิสระ

#!/bin/bash
# /usr/local/bin/check-domain-expiry.sh
set -uo pipefail

DOMAINS="example.com example.co.th example.net"
WARN_DAYS=60
ALERT=""

for d in $DOMAINS; do
  raw=$(whois "$d" 2>/dev/null | grep -iE 'expir|paid-till' | head -1)
  date_str=$(echo "$raw" | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}')
  [ -z "$date_str" ] && { ALERT="$ALERT\n$d: อ่านวันหมดอายุไม่ได้"; continue; }

  exp_epoch=$(date -d "$date_str" +%s 2>/dev/null) || continue
  now_epoch=$(date +%s)
  days=$(( (exp_epoch - now_epoch) / 86400 ))

  printf '%-24s หมดอายุ %s (อีก %d วัน)\n' "$d" "$date_str" "$days"
  if [ "$days" -lt "$WARN_DAYS" ]; then
    ALERT="$ALERT\n$d หมดอายุในอีก $days วัน ($date_str)"
  fi
done

if [ -n "$ALERT" ]; then
  echo -e "$ALERT" | mail -s "เตือน: โดเมนใกล้หมดอายุ" [email protected]
fi
sudo chmod +x /usr/local/bin/check-domain-expiry.sh
sudo /usr/local/bin/check-domain-expiry.sh

ตั้งรันทุกวันด้วย systemd Timer และส่งผลเข้าแชทของทีมด้วย ไม่ใช่แค่อีเมล

ขั้นตอนที่ 6: เฝ้าดูใบรับรอง SSL ควบคู่กัน

ใบรับรองหมดอายุสร้างปัญหาคล้ายกันและเกิดบ่อยกว่าเพราะมีอายุสั้นกว่ามาก

#!/bin/bash
for d in example.com www.example.com mail.example.com; do
  exp=$(echo | openssl s_client -connect "$d:443" -servername "$d" 2>/dev/null \
        | openssl x509 -noout -enddate | cut -d= -f2)
  exp_epoch=$(date -d "$exp" +%s)
  days=$(( (exp_epoch - $(date +%s)) / 86400 ))
  printf '%-28s อีก %d วัน  (%s)\n' "$d" "$days" "$exp"
done

เพิ่มการตรวจสอบทั้งสองอย่างเข้า Uptime Kuma ซึ่งมีการแจ้งเตือนวันหมดอายุของใบรับรองในตัว

ขั้นตอนที่ 7: เข้าใจช่วงเวลาหลังหมดอายุ

เมื่อโดเมนหมดอายุ ยังมีโอกาสกู้คืนแต่ยากขึ้นและแพงขึ้นตามลำดับ

  • ช่วงผ่อนผัน ประมาณ 0-30 วันหลังหมดอายุ ต่ออายุได้ในราคาปกติ เว็บและอีเมลหยุดทำงานแล้วในช่วงนี้
  • ช่วงไถ่ถอน ประมาณ 30-60 วัน ต่อได้แต่มีค่าธรรมเนียมสูง มักหลายพันบาท
  • ช่วงรอปล่อย ประมาณ 5 วันก่อนกลับสู่ตลาด ทำอะไรไม่ได้แล้ว
  • ปล่อยสู่สาธารณะ ใครก็จดได้ มักมีบริการที่คอยจับโดเมนหมดอายุจดทันทีเพื่อนำมาขายต่อ

ระยะเวลาต่างกันตามนามสกุลโดเมน สำหรับ .th ควรสอบถามผู้รับจดทะเบียนโดยตรง

ขั้นตอนที่ 8: รายการตรวจสอบประจำปี

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

ปัญหาที่พบบ่อย

whois อ่านวันหมดอายุไม่ได้

รูปแบบข้อมูลต่างกันในแต่ละรีจิสทรี โดยเฉพาะ .th ปรับสคริปต์ให้รองรับรูปแบบที่ใช้จริง หรือใช้ API ของผู้รับจดทะเบียนแทนซึ่งเชื่อถือได้กว่า

โดเมนหมดอายุแล้วแต่เพิ่งรู้

ติดต่อผู้รับจดทะเบียนทันที ยิ่งเร็วยิ่งมีโอกาสและค่าใช้จ่ายน้อย และตรวจว่าอยู่ในช่วงใดตามขั้นตอนที่ 7

ไม่รู้ว่าใครเป็นเจ้าของบัญชีที่จดโดเมนไว้

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

ต้องการย้ายโดเมนมารวมที่เดียว

ทำได้แต่ต้องปลดล็อกการย้ายชั่วคราวและขอ Auth Code ระวังว่าการย้ายใกล้วันหมดอายุมีความเสี่ยง ควรต่ออายุก่อนแล้วค่อยย้าย

ต้องการบริการจดและดูแลโดเมนขององค์กรแบบครบวงจร ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security