HTTP прокси, SSH туннель эсвэл VPN: зөв давхаргыг сонгоно уу
Прокси, SSH туннель, VPN нь өөр өөр урсгалыг зөөдөг. Даалгаварт хэрэгтэй протокол, нэрийн шийдэлд давхаргыг тааруулж, дараа нь замыг шалгана уу.
Дотоод үйлчилгээнд хэрхэн хүрэх талаар гурван инженерээс асуувал гурван шийдэл гарна: вэб прокси, SSH туннель эсвэл бүрэн VPN. Гурвуулаа алсын үйлчилгээг хүртээмжтэй болгож чадна, гурвуулаа урсгалыг өөр газраас ирж байгаа мэт харуулж чадна. Ялгаа нь дараа, хэрэглэж буй протокол сонгосон хэрэгсэл таамаглаж байгаа протокол биш үед илэрнэ. Хөтөч дээрх хурдан шалгалтыг давсан шийдэл хүсэлтийг үүсгэсэн програму дээр тогтмол бүтэлгүйтдэг.
Хоёр баримтаас шийд: ямар протоколууд нэвтрэх ёстой, холбогдох нэрсийг хэн шийдэж чадах вэ. Бусад бүхэн сонголт.
Прокси зөвхөн ойлгосноо зөөдөг
Вэб прокси өөрийн зориулалтаар бүтээгдсэн протоколыг шинжилдэг. Клиент түүнд хүсэлт өгч, тэр хүсэлтийг цааш дамжуулдаг тул прокси тохиргоогүй програм огт оролцохгүй. HTTPS-ийн хувьд клиентэд тунгалаг бус суваг хэрэгтэй бөгөөд прокси үүнийг хүсэлтийг уншиж биш, CONNECT-ээр дамжуулан өгдөг.
SSH динамик дамжуулалт SOCKS ярьдаг локал порт нээж, тэр порт TCP урсгалыг клиентийн нэрлэсэн дурын хүрэх газар руу дамжуулна. TCP дээр бүтээгдсэн протоколууд ихэвчлэн түүгээр ажилладаг. UDP ажиллахгүй, хэрэгсэл дэмжлэгийг тодорхой нэмбэл л. Локал дамжуулалт бүр ч нарийн: нэг локал порт нэг тогтмол хост, порт руу бууулж, нэг мэдэгдэх үйлчилгээг л үйлчилнэ.
ssh -D 1080 user@bastion
ssh -L 8443:fileserver.internal:443 user@bastionVPN пакетуудыг зөөдөг. Клиент туннель рүү чиглүүлсэн бүхэн түүгээр дамжина, UDP болон ICMP орно, тиймээс энэ нь ганц холболт биш сүлжээний шаардлагад тохирно.
Хэн нэгэн нэрийг шийдэх ёстой
Зорилтот нэр зөвхөн алсын сүлжээний DNS дээр байгаа үед хайлт хийж буй машин тэр бүсийг харах ёстой. Вэб прокси хайлтыг өөрөө хийдэг тул дотоод нэр нь зөөврийн компьютер нэрийг огт шийдэж чадахгүй байсан ч түүгээр ажиллана. SOCKS ч мөн адил ажиллаж болох ч клиент нэрийг цааш дамжуулбал л, аль хэдийн шийдсэн хаяг руу холбогдохын оронд. Энэ сонголт серверт биш, клиентэд байна.
curl ялгааг тодорхой харуулна: нэг флаг хостын нэрийг прокси руу дамжуулж, нөгөө нь эхлээд локалаар шийднэ. Локалаар шийдэх үед зөвхөн дотоод нэр ямар ч туннель хүрэхээс өмнө бүтэлгүйтэж, алдаа нь үнэндээ DNS шийдвэр байсан зүйлийг проксид буруутгана.
VPN гурав дахь замыг сонгоно: маршрутын хажууд хувийн шийдэгч болон хайлтын домэйныг суулгана. Энэ нь тохиромжтой бөгөөд танил хуурмаг үүсгэдэг: хариу өгөхгүй шийдэгчтэй хамт байгаа маршрут пакетууд нөгөө тал руу хүрч байгаа ч үхсэн туннель мэт харагдана.
Сүлжээ зөвхөн нэг гарц зөвшөөрөх үед
Олон байгууллагын сүлжээ гадагш холболтыг зөвхөн баталгаажсан вэб проксигоор зөвшөөрдөг. OpenVPN болон SSH хоёулыг тэнд ажиллуулж болно: эхнийх нь өөрийн тээврийг проксигоор туннелдүүлж, хоёр дахь нь жижиг CONNECT туслах ажиллуулдаг прокси командаар.
TCP дээр бүтээгдсэн туннель энэ хязгаарлалтыг даадаг, UDP-д суурилсан VPN даадаггүй бөгөөд энэ нь гэрт ажиллаж, оффист бүтэлгүйтдэг олон тохиргоог тайлбарлана. Хоёр дахь өртгийг анзаарахад хялбар байдаггүй: проксигоор явдаг TCP холболтын дотор зөөгдсөн TCP туннель одоо дахин дамжуулдаг хоёр давхаргатай болж, алдагдал дор тэр хос аль ч давхарга дангаараа үүсгэдэггүй байдлаар гацана.
Зуучлагчдыг гинжилж холбох нь давхарга сонгохоос өөр асуулт. Хоёр дахь прокси эсвэл Tor нэмэх нь хэн юуг ажиглахыг өөрчилж, гинжин дэх байрлал аль үсрэлт шифрлэгдсэн текстийг харахыг тодорхойлно.
Дараалал нь үсрэлтийн тооноос илүү чухал. Гаднах үсрэлт шифрлэгдсэн урсгалыг ажиглаж, дотоод үсрэлт түүний зөөж буй энгийн текстийг хардаг тул гинж нь хамгийн болгоомжгүй холбоосоороо л нууцлагдана. Үсрэлтүүдийн хооронд протокол холих нь үүнийг автоматаар сайжруулахгүй. Энэ нь ихэвчлэн эвдрэлийн хэлбэрийн талаар бодохыг хүндрүүлдэг.
Хуурамч хаяг бол сонголтуудын нэг биш
Бусдын эх хаягаар пакет бүтээх нь ямар ч ашигтай зүйлд хүрэхгүй: хариу жинхэнэ эзэн рүү явж, ихэнх сүлжээ урсгалыг шууд хаядаг. Зуучлагч нь эх сурвалжийг зохиож болохгүйгээс л шаардлагатай бөгөөд энэ нь гурван шийдлийн шударга үндэслэл юм.
Энэ нь мөн тэдний хэн нь юу гэж мэдэгдэж болохыг хязгаарлана. Тодорхой хаягаас гаралтай мэт харагдах нь тухайн хаяг хуулийн дагуу хаана олгогдсон, хэн түүнийг чиглүүлж болох тухай асуудал бөгөөд аль хэрэгсэл толгойг хуурамчаар хийж чадах тухай биш. Хэрэв шийдэл эсрэгээр таамаглавал таамаг нь түүнийг шүүдэг эхний үйлчилгээ үзүүлэгч дээр нуран унана. Таамаглалаа бичээрэй, ингэснээр эвдрэл ирэхэд танигдана.
Протокол, нэрээр шийд
Нэг вэб клиентэд нэг вэб үйлчилгээ хэрэгтэй бөгөөд прокси тохиргоотой бол прокси сонгоно уу. Цөөн мэдэгдэх TCP үйлчилгээ хангалттай бөгөөд SSH хандалт аль хэдийн байгаа бол SSH туннель сонгоно уу. Хэд хэдэн програм, TCP бус урсгал, хувийн DNS эсвэл дахин ашиглах боломжтой зам шаардлагын хэсэг бол VPN сонгоно уу.
Дараа нь жинхэнэ клиент, жинхэнэ нэрээр шалгана уу. Проксигоор хуудас ачаалснаар UDP-ийн талаар юу ч мэдэхгүй, нэг хэрэгслийг SOCKS дээр ажиллуулснаар системийн шийдэгчийн талаар юу ч мэдэхгүй. Процесс аль локал хаягт холбогдсон, аль шийдэгч хариулсныг уншаарай. Ажилладаг зам ба нэг удаа санамсаргүй ажилласан замын ялгаа энэ.