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

Сокет холбогдсон эсвэл холбогдоогүй

Идэвхтэй гэж мэдээлдэг үйлчилгээ таны хэзээ ч санаагүй хаяг эсвэл тээвэрт холбогдсон хэвээр байж болно. Сокетоос өөрөөс нь асуу: ss -lunp UDP сонсогчдыг, ss -ltnp TCP-г жагсаадаг бөгөөд уншихад үнэ цэнэтэй багана нь локал хаяг, төлөв биш.

Хоосон хариулт ихэвчлэн гурвын нэгийг илэрхийлдэг: процесс эхэлсний дараа гарсан, өөр тохиргооны файл ачаалсан, эсвэл дуудагдаж буй хаягаас өөр хаяг дээр сонсож байна.

ss -lunp | grep 1194
ss -ltnp | grep 1194

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

Гадаад пакетыг барьж ав, туннель биш

Физик интерфэйс болон бодит порт дээр шүүж, өөрийн интерфэйсийг тавьж: tcpdump -ni eth0 udp port 1194. Буцаж юу ч ирэхгүй гарч буй пакетууд дээр байгаа зүйл рүү заана: үйлчилгээ үзүүлэгчийн шүүлт, NAT төхөөрөмж, эсвэл таны бодож байгаагаас өөр алсын хаяг. Хоёр чиглэлд чимээгүй байх нь клиентийн маршрутлалт эсвэл локал галт хана руу заана. Туннелийн ахицгүйгээр ирж буй хариултууд хяналтын суваг руу, өөрөөр хэлбэл түлхүүр эсвэл шифрийн зөрүү рүү заана, шүүлт рүү биш.

Хоёр чиглэлийг барьж аваад файлыг богино байлга. Урт бичлэг сонирхолтой гурван секундыг булдаг, хариулт бараг үргэлж эхний солилцоонд байдаг.

Эхлээд тоолуурууд, мөрдөлт зөвхөн тэд худал хэлэх үед

Тоолууруудаас эхэл, учир нь тэд юу ч зарцуулдаггүй. nft list ruleset эсвэл iptables -L -n -v энд чухал цорын ганц асуултад хариулна: дүрэм тохирсон уу? Дараалал үр дүнг шийддэг, эхний тохирол ялдаг тул хожим ACCEPT-ийн өмнө өргөн DROP тэр ACCEPT-ийг үхсэн орхиж, тиймээс дүрэм нэмэх нь маш ховор ямар нэг зүйлийг засдаг.

Эзэмшил нь бас хүмүүсийг төөрөгдүүлдэг. Цөм локалаар үүсгэсэн пакетуудыг сокет нээсэн процесст хамааруулдаг, OpenVPN ихэвчлэн root-оор ажилладаг тул энгийн хэрэглэгчийн ID-д холбосон дүрэм туннелийн өөрийн трафикийг хэзээ ч хардаггүй. Дүрэм буруу гэж шийдэхээс өмнө эзэмшигчийн UID-г шалга.

Зөвхөн тоолуурууд хоёрдмол утгатай хэвээр байх үед лог чимээний үнэ цэнэтэй, тэр ч байтугай зөвхөн нарийн хэсэгт: хурдыг хязгаарлаж, лог мөрүүдэд угтвар нэмдэг iptables дүрэм, эсвэл nft monitor trace ажиллаж байхад meta nftrace set 1 агуулсан nftables дүрэм. Мөрдөлт нь пакетыг хүлээн авсан эсвэл хаясан гинжин хэлхээ болон дүрмийг нэрлэнэ. Дараа нь хоёуланг нь авч хая, ачааллын логыг гадуур байлга.

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

Маршрутлалт ба буцах зам

Хүлээн авсан ч алга болж буй пакетын очих замыг шалгах шаардлагатай. ip route get нэг хаягийн хувьд сонгогдсон маршрутыг мэдээлдэг, урвуу замын шүүлт нь үндсэн хүснэгтийн хэзээ ч сонгохгүй интерфэйсээр ирж буй хариултыг хаяж болно. Шинж тэмдэг нь яг галт хана хаясантай адил харагдана, тиймээс энэ шалгалт өөр NAT дүрмийн өмнө ирдэг.

Гарц дээр input гинжний оронд дамжуулалт болон forward гинжийг шалга. Дараа нь алсын тал эх хаягт хэрхэн хүрэхээ мэдэж байгааг батал, учир нь ажиллаж буй гарц замаас юу ч буцаж ирэхгүй бол хоёр тохиолдолд чимээгүй байдал.

Бичлэг юу гэж хэлэх ёстой

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

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

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