Та дэмжлэгийн тасалбар нээж, клиентийн үүсгэсэн диагностикийн экспортыг хавсаргаад хүлээнэ. Файлд хөтлөлтийн түүх огт байхгүй байх магадлалтай бөгөөд энэ нь түүнийг аюулгүй мэт харагдуулдаг. Гэсэн хэдий ч таны хэн болох, ямар машин ашигласан, ямар дотоод хаягт хэзээ хүрсэн, заримдаа өөрийн тохиргоог логддог клиентийн хуулсан хувийн түлхүүр багтсан байдаг. Файлыг илгээхээс өмнө гүйлгэхэд таван минут орчим зарцуулагдаж, байнгын ил болохоос сэргийлнэ.

Үүнийг нээж, эхний дөчин мөрийг уншина уу

Дээрээс эхэл, клиентүүд ихэвчлэн хувилбар, платформ, тохиргоог тэнд асгадаг. Эхний мөрүүд файл хэр дэлгэрэнгүйг хэлж, үлдсэн хэсгийн хэр ихийг анхаарахыг тодорхойлно. Өгөгдмөл лог ба дибаг лог нь өөр өөр илэрхийлэлтэй өөр өөр артефакт юм.

head -n 40 vpn-support.log
sed -n '1,40p' vpn-support.log | grep -nE 'version|platform|config|option'

Үүнээс ямар нэг зүйл уншихаас өмнө файлын хэмжээ, хэлбэрийг шалгана уу. Нэг үйл явдал давтагддаг хоёр мегабайтын текст файлыг тайрах хялбар. Мөн хавтас дахь хоёртын бичлэг огт өөр асуудал бөгөөд экспортыг хүссэн хүнтэй өөр яриа шаарддаг.

Windows дээр эквивалентууд нь тус бүр нэг cmdlet бөгөөд эхнийхийг өөрөө үүсгээгүй аливаа файл дээр ажиллуулах нь зүйтэй:

Get-Content .\vpn-support.txt -TotalCount 40
Get-Item .\vpn-support.txt | Select-Object Length,LastWriteTime

Хүнийг таних талбарууд

Хэрэглэгчийн нэрс хүмүүсийн хүлээгээгүй газруудад гарч ирдэг: баталгаажуулалтад ашигладаг бүртгэл, гэрчилгээний субъект, гэрийн лавлах доорх профайлын зам, мөн бодит нэрийг кодчилдог машины нэр. Бүртгэлийн талбарыг засварлаж, гэрийн замыг хөндөөгүй орхидог лог юу ч засварлаагүй.

FieldWhat it identifiesPractical treatment
Account or usernameA person, and often an employerReplace consistently, keep the mapping
Certificate subject and CNDevice or user identityKeep the structure, replace the value
Home directory pathA login name, sometimes a full nameReplace the segment, not the whole path
Machine or hostnameA person or a physical locationReplace with a stable pseudonym

Дэмжлэгийн инженер файлаар нэг сессийг дагах шаардлагатай үед бүрэн байдлаас илүү тууштай байдал чухал. Утгуудыг устгахын оронд тогтвортой шошгоор соль, нэг хэрэглэгчийн бүр илрэл өнөөг хүртэл тэр хэрэглэгч гэж уншигдахын тулд. Талбарыг бүрмөсөн устгах нь инженерт хэрэгтэй утсыг тасалж, файлыг илүү аюулгүй болгодоггүй.

Цагны тэмдэг нь нийлбэрээрээ мөн хувийн мэдээлэл юм. Бүртгэл холбогдсон цагуудыг нэг сарын турш авбал ажлын цаг, аяллыг дүрсэлнэ. Асуултад бүх хүрээ хэрэггүй бол файлыг үйл явдлын эргэн тойрны цонх хүртэл тайр.

Сүлжээг таних талбарууд

Төгсгөлийн цэгийн хаягууд, дотоод маршрутууд, түлхэгдсэн сонголтууд нь хувийн сүлжээний хэлбэрийг дүрсэлдэг. Энэ нь довтлогчийн авахыг хүсдэг яг тэр мэдээлэл бөгөөд ихэвчлэн тасалбарт хэрэгтэйгээс хамаагүй дэлгэрэнгүй байдаг.

Ашиглагдаж буй хаягийн гэр бүлийг хай, зөвхөн хүлээсэн хаягийг бус. Хос стект клиент IPv6 төгсгөлийн цэг болон хяналт зөвхөн цэгтэй дөрвөлжин хайсан тул хэн ч засварлахыг бодоогүй IPv6 маршрутын багцыг логдож болно.

grep -nEo '([0-9]{1,3}\.){3}[0-9]{1,3}' vpn-support.log | sort -u | head -n 40
grep -nEo '([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4}' vpn-support.log | sort -u | head -n 20

Давтагдашгүй жагсаалт бол гол нь. Файл хэдэн өөр хаягийг дурдсаныг хэлж, энэ нь ихэвчлэн гүйлгэх үед мэдрэгдэхээс хамаагүй бага байдаг. Мөн засварлах хяналтын хуудас, бүгдийг хамруулснаа батлах аргыг өгдөг. Арван хаяг бол таван минутын ажил, зуу бол экспорт асуултаас өргөн гэдгийг хэлнэ.

Инженерт хэрэгтэй бол топологийг хадгал. Дэд сүлжээний харилцааг хадгалж, хоёр, гуравдугаар октетийг солих нь хүрээг нийтлэхгүйгээр асуултад хариулна. Мөн заль IPv6 угтварт ч ажиллана. Инженерт хэрэгтэй зүйл бол гэмтлийн хэлбэр бөгөөд хэлбэр нь тууштай орлуулалтын дараа ч үлддэг.

Нууцууд шошгонд биш, хэлбэрт нуугддаг

Хувийн түлхүүрт ойрхон “password” гэдэг үг хэрэггүй. Энэ нь тэмдэглэгээний мөрүүдийн хоорондох блок, урт base64 мөр, эсвэл доторх тохиргооны дамп хэлбэрээр гарч ирдэг. Токенууд асуулгын параметр хэлбэрээр, бүртгэлийн мэдээлэл нь клиентийн үгчлэн логдсон URL дотор гарч ирдэг.

grep -nE 'BEGIN [A-Z ]*PRIVATE KEY|password|passwd|token|secret|psk|auth-user-pass' vpn-support.log
grep -nE 'https?://[^ ]*:[^ ]*@' vpn-support.log

Хоёр дахь загвар нь хүмүүсийн мартдаг загвар юм. Схем, хэрэглэгч, нууц үг, хост хэлбэрийн URL нь бүрэн бүртгэлийн мэдээлэл бөгөөд прокси эсвэл урсгал доторх баталгаажуулалтаар тохируулагдсан үед клиентүүд ийм URL-уудыг логддог.

Файлыг засварлаагүйгээ батлахын тулд эх файлыг хэзээ ч бүү илгээ. Хэрэв оператор өөрчлөгдөөгүй экспорт шаардвал юунд хэрэгтэйг асууж, тэдний баталгаажсан дэмжлэгийн сувгаар илгээж, дараа нь локал хуулбараа устга. Энэ хүсэлт хууль ёсны; олон нийтэд буулгах нь тийм биш.

Засварласан хуулбарыг бүтээж, ишлэлийг илгээнэ үү

Хуулбар дээр ажиллаж, эхийг хамгаалагдсан газар хадгалж, гараар биш давтагдах командаар засварла. Хаягийн загваруудыг нэг удаа гүйлгэхэд ихэнх хэсгийг барьж авна:

cp vpn-support.log vpn-support.original.log
sed -E 's/([0-9]{1,3}\.){3}[0-9]{1,3}/ADDR/g; s/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+/USER@DOMAIN/g' \
  vpn-support.original.log > vpn-support.redacted.log
grep -cE 'PRIVATE KEY|password|token' vpn-support.redacted.log

Эцсийн тоо тэг байх ёстой. Хэрэв тийм биш бол засварлах гүйлт нэг хэлбэрийг алгасаж, ямар нэг зүйл илгээхээс өмнө тэдгээр мөрийг харах хэрэгтэй. Засварласан файлыг нэг удаа өөрийн нүдээр ч унш; скрипт загварыг барьдаг, контекстийг биш.

Алдааг одоо ч харуулж буй хамгийн жижиг ишлэлийг илгээ. Алдааны эргэн тойрны арван мөр ихэвчлэн хангалттай бөгөөд тэдгээрийг хоёр мегабайтын файлаас хамаагүй хялбар хянана. Дараа нь шошго ба бодит утгын хоорондын тохирлыг өөрийн хяналтад байгаа газарт хадгал, учир нь дараагийн асуултад хэрэг болно.

OpenVPN-ийн лог хөтлөлтийн баримт бичиг нь дэлгэрэнгүй байдлын түвшин юу бүртгэгдэхийг хэрхэн өөрчлөхийг тайлбарладаг бөгөөд энэ нь асуудал файлын хэдэн хэсгийг үнэхээр шаарддагийг шийдэхэд хэрэгтэй контекст юм.

Холбоотой нийтлэлүүд