การเฝ้าระวังวิดีโอที่บ้าน โครงการรักษาไฟล์วิดีโอโดยไม่ต้องมีผู้รับจดทะเบียนบ้าน

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

เรามี 2 แพ็คเกจ... เดี๋ยวก่อน นี่ไม่ใช่เรื่องเดียวกัน
เรามีเราเตอร์ 2 ตัวจาก TP-LINK การเข้าถึงอินเทอร์เน็ตด้านหลังผู้ให้บริการ NAT กล้องวงจรปิด Partizan ฉันจำไม่ได้ว่ารุ่นอะไร (กล้อง IP ใด ๆ ที่รองรับ RSTP ผ่าน TCP หรือ DVRIP จะทำ) และ VPS ราคาถูกราคา 4 ยูโรพร้อม ลักษณะเฉพาะ: CPU 2 คอร์ 2.4GHz, RAM 4GB, HDD 300 GB, พอร์ต 100 Mbit/s และยังลังเลที่จะซื้ออะไรเพิ่มเติมซึ่งมีราคาสูงกว่าสายแพทช์

คำปรารภ

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

ฉันได้ยินมาโดยไม่ได้ตั้งใจว่ามีตัวเลือกบางอย่างสำหรับ IPv6 tunneling ซึ่งดูเหมือนว่าทุกอย่างสามารถทำได้เพื่อให้อุปกรณ์ทั้งหมดบนเครือข่ายได้รับที่อยู่ IPv6 ภายนอก และนี่จะทำให้สิ่งต่าง ๆ ง่ายขึ้นเล็กน้อย แม้ว่าจะยังคงเหลือความปลอดภัยอยู่ก็ตาม ของเหตุการณ์นี้ที่เป็นปัญหา และการสนับสนุนปาฏิหาริย์นี้ในเฟิร์มแวร์มาตรฐาน TP-LINK นั้นค่อนข้างแปลก แม้ว่าจะมีความเป็นไปได้ที่ประโยคที่แล้วฉันกำลังพูดถึงเรื่องไร้สาระโดยสิ้นเชิง ดังนั้นอย่าไปสนใจมันเลย

แต่โชคดีสำหรับเรา เฟิร์มแวร์เกือบทุกตัวสำหรับเราเตอร์ (อันที่จริงแล้วเป็นคำสั่งที่ค่อนข้างไม่มีมูลความจริง) มีไคลเอนต์ PPTP/L2TP หรือความสามารถในการติดตั้งเฟิร์มแวร์แบบกำหนดเองด้วย และจากนี้เราสามารถสร้างกลยุทธ์ด้านพฤติกรรมบางอย่างได้แล้ว

โทโพโลยี

ด้วยความที่เป็นไข้ สมองของฉันจึงเกิดบางอย่างคล้ายแผนภาพการเดินสายไฟนี้:

และในระหว่างการโจมตีอีกครั้งหนึ่ง ฉันก็วาดมันเพื่อโพสต์บนฮาเบอร์การเฝ้าระวังวิดีโอที่บ้าน โครงการรักษาไฟล์วิดีโอโดยไม่ต้องมีผู้รับจดทะเบียนบ้าน

ที่อยู่ 169.178.59.82 ถูกสร้างขึ้นแบบสุ่มและเป็นเพียงตัวอย่างเท่านั้น

หรือถ้าเป็นคำพูดแล้ว:

  • เราเตอร์ ทีพีลิงค์ 1 (192.168.1.1)โดยเสียบสายเคเบิลที่ยื่นออกมาจากผนัง ผู้อ่านที่อยากรู้อยากเห็นจะเดาได้ว่านี่คือสายเคเบิลของผู้ให้บริการที่ฉันเข้าถึงอินเทอร์เน็ต อุปกรณ์ภายในบ้านต่างๆ เชื่อมต่อกับเราเตอร์นี้ผ่านสายแพทช์หรือ Wi-Fi นี่คือเครือข่าย 192.168.1.0
  • เราเตอร์ ทีพีลิงค์ 2 (192.168.0.1, 192.168.1.200)ซึ่งเสียบสายเคเบิลที่ยื่นออกมาจากเราเตอร์ TP-LINK 1 ด้วยสายเคเบิลนี้เราเตอร์ TP-LINK 2 รวมถึงอุปกรณ์ที่เชื่อมต่ออยู่จึงสามารถเข้าถึงอินเทอร์เน็ตได้เช่นกัน เราเตอร์นี้ได้รับการกำหนดค่าด้วยการเชื่อมต่อ PPTP (10.0.5.100) ไปยังเซิร์ฟเวอร์ 169.178.59.82 กล้อง IP 192.168.0.200 เชื่อมต่อกับเราเตอร์นี้ด้วยและพอร์ตต่อไปนี้จะถูกส่งต่อ
    • 192.168.0.200:80 -> 49151 (เว็บมอร์ด)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • เซิร์ฟเวอร์ (169.178.59.82, 10.0.5.1)ซึ่งเชื่อมต่อเราเตอร์ TP-LINK 2 เซิร์ฟเวอร์รัน pptpd, shadowsocks และ 3proxy ซึ่งคุณสามารถเข้าถึงอุปกรณ์บนเครือข่าย 10.0.5.0 และสามารถเข้าถึงเราเตอร์ TP-LINK 2 ได้

ดังนั้น อุปกรณ์ภายในบ้านทั้งหมดบนเครือข่าย 192.168.1.0 จะสามารถเข้าถึงกล้องผ่าน TP-LINK 2 ที่ 192.168.1.200 และอุปกรณ์อื่นๆ ทั้งหมดสามารถเชื่อมต่อผ่าน PPTP, Shadowsocks หรือ Socks5 และเข้าถึง 10.0.5.100

การตั้งค่า

ขั้นตอนแรกคือการเชื่อมต่ออุปกรณ์ทั้งหมดตามแผนภาพในรูปด้านบน

  • การตั้งค่าเราเตอร์ TP-LINK 1 ลงมาเพื่อจองที่อยู่ 192.168.1.200 สำหรับ TP-LINK 2 เป็นทางเลือกหากคุณต้องการที่อยู่คงที่สำหรับการเข้าถึงจากเครือข่าย 192.168.1.0 และหากต้องการคุณสามารถสำรอง 10-20 Mbit ได้ (10 ก็เพียงพอสำหรับสตรีมวิดีโอ 1080 หนึ่งสตรีม)
  • คุณต้องติดตั้งและกำหนดค่า pptpd บนเซิร์ฟเวอร์ ฉันมี Ubuntu 18.04 และขั้นตอนมีดังต่อไปนี้โดยประมาณ (ผู้บริจาคเป็นตัวอย่าง blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • ติดตั้งแพ็คเกจที่จำเป็น:
      sudo apt install pptpd iptables-persistent
    • เรานำมาเป็นแบบฟอร์มต่อไปนี้

      /etc/pptpd.conf

      option /etc/ppp/pptpd-options
      bcrelay eth0 # Интерфейс, через который ваш сервер ходит в интернеты
      logwtmp
      localip 10.0.5.1
      remoteip 10.0.5.100-200

    • เราแก้ไข

      /etc/ppp/pptpd-ตัวเลือก

      novj
      novjccomp
      nologfd
      
      name pptpd
      refuse-pap
      refuse-chap
      refuse-mschap
      require-mschap-v2
      #require-mppe-128 # Можно раскомментировать, но мой TP-LINK c ним не дружит
      
      ms-dns 8.8.8.8
      ms-dns 1.1.1.1
      ms-dns  77.88.8.8
      ms-dns 8.8.4.4
      ms-dns 1.0.0.1
      ms-dns  77.88.8.1
      
      proxyarp
      nodefaultroute
      lock
      nobsdcomp
      
    • กำลังเพิ่มข้อมูลรับรองให้กับ

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • เพิ่ม

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      และโหลด sysctl ใหม่

      sudo sysctl -p
    • รีบูต pptpd และเพิ่มลงในการเริ่มต้น
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • เราแก้ไข

      iptables

      sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      sudo iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
      sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      sudo iptables --table nat --append POSTROUTING --out-interface ppp+ -j MASQUERADE
      sudo iptables -I INPUT -s 10.0.5.0/24 -i ppp+ -j ACCEPT
      sudo iptables --append FORWARD --in-interface eth0 -j ACCEPT

      และบันทึก

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • การตั้งค่า TP-LINK 2
    • เราขอสงวนที่อยู่ 192.168.0.200 สำหรับกล้องของเรา:

      DHCP -> การจองที่อยู่ — ที่อยู่ MAC — กล้อง MAC สามารถดูได้ใน DHCP -> รายการไคลเอนต์ DHCP
      — ที่อยู่ IP ที่สงวนไว้ — 192.168.0.200

    • พอร์ตการส่งต่อ:
      การเปลี่ยนเส้นทาง -> เซิร์ฟเวอร์เสมือน — พอร์ตบริการ: 49151, พอร์ตภายใน: 80, ที่อยู่ IP: 192.168.0.200, โปรโตคอล: TCP
      — พอร์ตบริการ: 49152, พอร์ตภายใน: 34567, ที่อยู่ IP: 192.168.0.200, โปรโตคอล: TCP
      — พอร์ตบริการ: 49153, พอร์ตภายใน: 554, ที่อยู่ IP: 192.168.0.200, โปรโตคอล: TCP
    • การตั้งค่าการเชื่อมต่อ VPN:

      เครือข่าย -> WAN — ประเภทการเชื่อมต่อ WAN: PPTP
      — ชื่อผู้ใช้: ชื่อผู้ใช้ (ดู /etc/ppp/chap-secrets)
      — รหัสผ่าน: รหัสผ่าน (ดู /etc/ppp/chap-secrets)
      — ยืนยันรหัสผ่าน: รหัสผ่าน (ดู /etc/ppp/chap-secrets)
      - ไดนามิกไอพี
      — ที่อยู่ IP/ชื่อเซิร์ฟเวอร์: 169.178.59.82 (แน่นอนว่าเป็น IP ภายนอกของเซิร์ฟเวอร์ของคุณ)
      — โหมดการเชื่อมต่อ: เชื่อมต่ออัตโนมัติ

    • อีกทางหนึ่ง เราอนุญาตให้เข้าถึงเว็บเพจของเราเตอร์จากระยะไกลได้
      ความปลอดภัย -> การจัดการระยะไกล - พอร์ตการจัดการเว็บ: 80
      — ที่อยู่ IP การจัดการระยะไกล: 255.255.255.255
    • รีบูตเราเตอร์ TP-LINK 2

แทนที่จะใช้ PPTP คุณสามารถใช้ L2TP หรือหากคุณมีเฟิร์มแวร์ที่กำหนดเอง อะไรก็ได้ที่คุณปรารถนา ฉันเลือก PPTP เนื่องจากโครงร่างนี้ไม่ได้สร้างขึ้นด้วยเหตุผลด้านความปลอดภัย และจากประสบการณ์ของฉัน pptpd ก็เป็นเซิร์ฟเวอร์ VPN ที่เร็วที่สุด นอกจากนี้ ฉันไม่ต้องการติดตั้งเฟิร์มแวร์แบบกำหนดเองจริงๆ ซึ่งหมายความว่าฉันต้องเลือกระหว่าง PPTP และ L2TP

หากฉันไม่ได้ทำผิดพลาดทุกที่ในคู่มือและคุณทำทุกอย่างถูกต้องและโชคดีจากนั้นหลังจากการยักย้ายเหล่านี้

  • ประการแรก
    ifconfig

    จะแสดงอินเทอร์เฟซ ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • ประการที่สอง 10.0.5.100 ต้อง ping
  • และประการที่สาม
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    ควรตรวจจับกระแส
    คุณสามารถค้นหาพอร์ต rtsp การเข้าสู่ระบบ และรหัสผ่านได้ในเอกสารประกอบสำหรับกล้องของคุณ

ข้อสรุป

โดยหลักการแล้วนี่ก็ไม่เลวเลย มีการเข้าถึง RTSP หากซอฟต์แวร์ที่เป็นกรรมสิทธิ์ทำงานผ่าน DVRIP คุณก็สามารถใช้งานได้ คุณสามารถบันทึกสตรีมโดยใช้ ffmpeg, เร่งความเร็ววิดีโอ 2-3-5 ครั้ง, แบ่งเป็นตอนๆ ยาวเป็นชั่วโมง, อัปโหลดทั้งหมดไปยัง Google Drive หรือโซเชียลเน็ตเวิร์ก และอื่นๆ อีกมากมาย

ฉันไม่ชอบ RTSP บน TCP เพราะมันใช้งานไม่ได้เสถียรมาก แต่ใช้ UDP ด้วยเหตุผลที่เราไม่สามารถ (หรือเราทำได้ แต่ฉันไม่ต้องการทำ) ส่งต่อช่วงของพอร์ต ซึ่ง RTSP จะพุชวิดีโอสตรีม มันใช้งานไม่ได้ฉันเขียนสคริปต์ที่ลากสตรีมผ่าน TCP ผ่าน DVRIP ปรากฏว่ามีเสถียรภาพมากขึ้น

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

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

ที่มา: will.com

เพิ่มความคิดเห็น