sshuttle се избира затоа што SSH веќе работи и криптографијата изгледа познато, а тоа размислување го прескокнува единственото прашање што одлучува дали е соодветен. Кои пакети ја напуштаат машината, кој профил ги носи на другата страна и колку локална привилегија бара алатката. Овие три одговори се разликуваат според методот на препраќање, па поставка што работи за една апликација може тивко да потфрли за следната. Прегледот подолу започнува со протоколот што на апликацијата навистина ѝ е потребен.

Започнете со протоколот што на апликацијата ѝ е потребен

Поддршката за протоколи во sshuttle 2.0 зависи од методот што ќе го изберете. Методите NAT и nft во Linux работат со TCP и DNS, а TPROXY додава општ UDP. Секоја платформа и метод имаат свои граници, а macOS пресретнува преку сосема поинаков механизам. Забележете ја инсталираната верзија, избраниот метод и протоколите што на апликацијата ѝ се потребни пред да изберете нешто.

Затоа успешното барање TCP докажува многу малку за апликација со UDP или за секое барање DNS. sshuttle го третира и TCP како текови наместо да тунелира цели IP пакети, па заклучокот за пропусност позајмен од обичен VPN не се пренесува. Споредете го механизмот што навистина го извршувате со оптоварувањето што навистина го имате.

ApproachWhat it carriesWhat it needs locally
SSH local forwardOne explicitly named TCP destinationNothing beyond the SSH client
sshuttle, nft or nat methodTCP and DNS to the routed prefixesRoot or sudo for firewall rules
sshuttle, tproxy methodTCP, DNS and general UDPRoot or sudo, and kernel support
IP VPNRouted IP traffic in a tunnelA client with the required privileges

Што му е потребно на клиентот локално

Документираната клиентска поставеност бара root или sudo, бидејќи инсталира локални правила за пресретнување наместо да создаде тунелски интерфејс. Тој единствен факт ја менува безбедносната приказна: процес со таа привилегија може да го пренасочи сообраќајот на целата машина, не само на една апликација. Третирајте ја привилегијата како дел од дизајнот, а не како детал од инсталацијата.

Потврдете кои правила ги инсталирала алатката и дека исчезнуваат кога таа излегува. Сесија што паднала и оставила правила за пресретнување може да го испрати сообраќајот во црна дупка долго откако операторот ќе помисли дека врската ја нема, а симптомот изгледа како мрежен дефект, не како преостанато правило.

sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route

Првата команда е форма на типичен повик, со префиксот што навистина ви треба. Втората покажува што инсталирала алатката, а третата потврдува дека не се појавил тунелски интерфејс, што е очекуваниот резултат за овој дизајн.

Што извршува далечната страна

Далечната страна е овластен SSH профил плус компатибилна Python околина за помошник. Најавата што успева во ограничена обвивка не дава автоматски дозвола да се изврши тој помошник, а профилот што може да го изврши помошникот не стигнува автоматски до секоја целна услуга. Двата факти припаѓаат во барањето за пристап, а не во белешките за решавање проблеми.

Заштитете ја проверката на идентитетот на домаќинот и автентикацијата на профилот. Прифаќањето непознат клуч на домаќин за првата врска да работи ја отстранува проверката дека далечната страна е машината што ја имавте на ум, а тоа овде тежи повеќе отколку при препраќање за една цел.

Ограничете го далечниот профил на услугите што му се потребни на работниот тек и договорете го тој опсег со оние што го управуваат домаќинот. Тие се дел од односот на доверба и ниедна поставка на клиентската страна тоа не го менува.

Каде лежи границата на доверба

Препраќањето приватна врска API преку SSH не овластува секоја операција API. TLS на апликацијата и најавата во апликацијата и понатаму важат, а алатката не може да ја направи безбедна услуга без автентикација. Ниту следниот скок од далечниот домаќин не е автоматски истиот заштитен сегмент како каналот SSH, бидејќи таа втора врска следи каква политика има далечниот домаќин.

Запишете ја границата во една реченица: сообраќајот кон овие префикси излегува преку овој профил на тој домаќин. Ако реченицата бара пасус исклучоци, дизајнот прави повеќе отколку што тврди неговата документација и заслужува втор поглед пред да стигне до продукција.

Докажете го по протокол, потоа изберете ја алатката

Тестирајте го секој потребен протокол со безопасно барање, вклучително патеката на резолверот и семејствата адреси што ги користи апликацијата. Вклучете и прекин во тестот, за да стане дозволеното однесување при дефект познат резултат, а не изненадување за време на инцидент. Сесијата што правилно препраќала додека била активна не кажува ништо за тоа што се случува кога ќе падне.

За неколку изречно именувани услуги обичното локално препраќање е полесно за управување и полесно за ревизија. За сообраќајот на апликации што одговара на неговиот метод, sshuttle нуди легитимна средина. Кога барањето е широка IP поврзаност, дизајнот на VPN е чесниот одговор, а изборот следи покриеност и оперативна одговорност, а не рангирање на алгоритмите за шифрирање.

Поврзани статии