muzruno.com

SSH тунели: настройка, използване

SSH тунелирането е метод за транспортиране на произволни мрежови данни чрез криптирана SSH връзка. Той може да се използва за добавяне на криптиране към стари приложения. Той може да се използва и за внедряване на VPN (виртуални частни мрежи) и достъп до услуги за интранет чрез защитни стени.

въведение

Пренасочването на портове през SSH създава сигурна връзка между локалния компютър и отдалечената машина, чрез която могат да се прехвърлят услугите. Тъй като връзката е шифрована, SSH тунелът е полезен за предаване на информация, която използва нешифрован протокол, като IMAP, VNC или IRC.

Тунелът за SSH на Windows използва порт 22, за да шифрова данни, изпратени по обществена мрежа (например интернет), като по този начин осигурява функция VPN. IPsec има транспортно средство от край до край, но може да работи и в режим на тунелиране чрез защитен шлюз за сигурност.ssh тунели

дефиниция

SSH тунелът е стандартът за сигурни отдалечени влизания и прехвърляне на файлове чрез ненадеждни мрежи. Той също така осигурява начин за защита на трафика на данни за всяко конкретно приложение, като се използва пристанищно пренасочване, основно тунелиране на всеки TCP / IP порт през SSH. Това означава, че трафикът е насочен към потока в криптирана SSH връзка, така че да не може да бъде изслушван или задържан, докато е в режим на транзит. SSH тунелирането ви позволява да добавяте мрежова защита към наследените приложения, които не поддържат шифроване.

Осигурена е сигурна връзка между ненадеждна мрежа между SSH клиента и SSH сървъра. Тази SSH връзка е шифрована, защитава неприкосновеността на личния живот и интегритета и удостоверява автентичността на свързващите устройства.

SSH връзката се използва от приложението, за да се свърже със сървъра на приложения. Когато тунелът е активиран, приложението комуникира с порт на локалния хост, който SSH клиентът слуша. след това SSH клиент пренасочва приложението към своя шифрован тунел към сървъра. Последният се свързва с действителния сървър на приложения - обикновено на същия компютър или в същия център за данни като SSH сървъра. По този начин връзката с приложението е защитена, без да е необходимо да се променя работния поток на приложения или крайни потребители.ssh тунел линукс

Протоколи за тунелиране - какво е това?

В компютъра мрежов протокол Тунелирането позволява на мрежовия потребител да има достъп или да предоставя мрежова услуга, която основната мрежа не поддържа или предоставя директно. Едно важно приложение е да се позволи на външен протокол да работи в мрежа, която не поддържа този конкретен протокол (например IPv6 се стартира през IPv4).

Друг важен момент е предоставянето на услуги, които са непрактични или не са безопасни за използване само с основни мрежови услуги. Например предоставянето на корпоративен мрежов адрес на отдалечен потребител, чийто физически мрежов адрес не е част от корпоративната мрежа. Тъй като тунелът включва преопаковане на данните за трафика в друга форма, вероятно използвайки стандартно криптиране, важна характеристика е да се скрие естеството на трафика, който се изстрелва през тунелите.

Secure Shell - сигурен трансфер на данни

Secure Shell се състои от шифрован тунел, създаден чрез свързването на протокола SSH. Потребителите могат да конфигурират SSH тунели, за да прехвърлят некриптиран трафик през мрежата чрез шифрован канал. Например, компютрите на Microsoft Windows могат да обменят файлове чрез протокола за сървър на съобщения (SMB) - некриптиран протокол.

Ако искате отдалечено да свържете файловата система Microsoft Windows през интернет, някой, който следва връзката, може да вижда прехвърлените файлове. За да монтирате безопасно файловата система на Windows, можете да инсталирате SSH тунел, който препраща целия трафик на SMB към отдалечения файлов сървър чрез шифрован канал. Въпреки факта, че самият протокол за МСП не съдържа криптиране, криптирани Каналът SSH, през който се движи, осигурява сигурност.Продажба на тунели ssh

Видове препращане на портове

Препращането на портове е широко поддържана функция, която се намира във всички основни SSH клиенти и сървъри. При пренасочване на SSH порт можете да прехвърляте различни видове интернет трафик през мрежата. Това се използва, за да се избегне засенчване на мрежата или за заобикаляне на неправилно конфигурирани маршрутизатори в интернет.

Има три вида препращане на портове със SSH:

  • локално - връзките от SSH клиента се пренасочват към сървъра SSH и след това към сървъра,

  • отдалечените връзки от SSH сървъра се пренасочват през SSH клиента и след това към сървъра,

  • динамични - връзките от различни програми се изпращат чрез SSH клиента, след това чрез SSH сървъра и накрая към няколко целеви сървъра.

Препращането на локални портове е най-разпространеният тип и по-специално ви позволява да заобиколите защитната стена на компанията, която блокира "Wikipedia".

Изпращането на отдалечени портове е по-рядко. Позволява ви да се свържете от вашия сървър SSH към компютър на интранет на вашата компания.

Динамичното пренасочване на портове се използва и рядко. Позволява ви да заобиколите защитната стена на компанията, която напълно блокира достъпа до интернет. Необходимо е много работа за конфигуриране и обикновено е по-лесно да използвате препращане на локални портове за конкретни сайтове, до които искате да получите достъп.груби тунели ssh

Технически характеристики

За да използвате пренасочването на портове, трябва да сте сигурни, че препращането на портове е активирано на вашия сървър. Трябва също така да кажете на клиента си номерата на източника и целевите портове. Ако използвате локално или отдалечено пренасочване, трябва да кажете на клиента сървър за местоназначение. Ако се използва динамично препращане на портове, ще трябва да конфигурирате програмите си да използват прокси сървъра SOCKS. Отново начинът за това зависи от кой SSH клиент използвате, затова може да се наложи да прочетете документацията по-подробно.

Примери за изпълнение



Най-добрият начин да разберете как работи това е да разгледате пример с местни пренасочвания. Представете си, че сте в частна мрежа, която не ви позволява да се свързвате с конкретен сървър. Да предположим, че сте на работа и vk.com е блокиран. За да заобиколим заключването, можем да създадем тунел през сървър, който не е в нашата мрежа и по този начин да има достъп до искания ресурс: $ ssh -L 9000: vk.com: 80 [email protected].

Ключовият момент тук е -L, който казва, че извършваме местно препращане на портове. След това командата съобщава, че препращаме нашия локален порт 9000 към vk.com:80, който е портът по подразбиране за HTTP. Сега трябва да отворите браузъра си и да отидете на http: // localhost: 9000.

Безспорното предимство на SSH тунелите е, че те са криптирани. Никой няма да види кои сайтове посетите - само SSH връзките към сървъра ще бъдат видими.tuning ssh тунел

Свързване към базата данни зад защитната стена

Друг добър пример е, ако трябва да имате достъп до порт на сървъра си, към който може да бъде направен само от местния хост, а не от разстояние.

Пример за това е необходимостта да се свържете с конзолата на базата данни, която позволява само локална връзка от съображения за сигурност. Да приемем, че използвате PostgreSQL на сървъра си, който по подразбиране слуша порт 5432: $ ssh -L 9000: localhost: 5432 [email protected].

Частта, която се е променила тук, е localhost: 5432, която говори за пренасочване на връзки от локалния ви порт 9000 към localhost: 5432 и към вашия сървър. Сега можем просто да се свържем с нашата база данни: $ psql -h localhost -p 9000.

Отдалечено препращане на портове

Сега нека обясним работата на отдалеченото пренасочване на истински пример. Да предположим, че разработвате приложение за Rails на местната машина и искате да я покажете на приятел. За съжаление вашият интернет доставчик не ви предостави публичен IP адрес, така че не можете да се свържете директно с компютър през Интернет.

Понякога това може да стане чрез конфигуриране на NAT (преобразуване на мрежови адреси) във вашия маршрутизатор, но това не винаги работи и това изисква промяна на конфигурацията на вашия маршрутизатор, което не винаги е желателно. Това решение също не работи, ако нямате администраторски достъп в мрежата.

За да разрешите този проблем, ще ви трябва друг компютър, който е публичен и има достъп до SSH. Той може да бъде всеки сървър в интернет, ако можете да се свържете с него. Ще създадем SSH тунел, който ще отвори нов порт на сървъра и ще го свърже към локалния порт на компютъра ви:

$ ssh-R 9000: localhost: 3000 [email protected]

Синтаксисът тук е много подобен на местното препращане на портове, с едно заместване на -L с -R. Но както при местното препращане на порт, синтаксисът остава непроменен.ssh тунелни прозорци

Обхват и рискове

Недостатъкът е, че всеки потребител, който може да влезе в сървъра, има право да активира пренасочването на портове. Той е широко използван от вътрешни ИТ професионалисти, за да влязат в домашните си машини или сървъри в облака, препращайки порт от сървъра обратно към корпоративния интранет на работния си компютър или подходящ сървър. Хакерите и злонамереният софтуер също могат да го използват, за да оставят алгоритъм за дефект във вътрешната мрежа. Може да се използва и за скриване на песните от нападатели, като се атакуват с няколко устройства, които позволяват неконтролируемо тунелиране.

Тунелирането често се използва в комбинация с SSH тунелните ключове на SSH и удостоверяване с публичен ключ, за да се автоматизира напълно процеса.

предимства

Продажбите на SSH тунели се използват широко в много корпоративни среди, които използват своите мейнфрейм системи като свои приложения. В тези среди самите приложения могат да имат много ограничена подкрепа за сигурността. Използването на тунели, съвместимост със SOX, HIPAA, PCI-DSS и други стандарти може да се постигне без да е необходимо да се променят приложенията.

В много случаи тези приложения и сървъри на приложения са такива, че промяната в тях вероятно ще бъде непрактична или прекомерно скъпа. Изходният код може да не е налице, продавачът може да е фалирал, продуктът може да не е в помощ или екипът за разработка да е излязъл. Добавянето на контейнер, като тунелът SSH за шпакловка, осигурява икономичен и практичен начин за добавяне на сигурност за тези приложения. Например, всички ATM мрежи в нашата страна работят с тунели, за да осигурят сигурност.

рискове

SSH тунелът несъмнено е полезно нещо. Тя включва рисковете, които трябва да бъдат адресирани до отделите за корпоративна ИТ сигурност. Връзките на безплатните SSH тунели са защитени от силно криптиране. Това прави тяхното съдържание невидимо за повечето разгърнати решения за мониторинг на мрежата и филтриране на трафика. Тази невидимост носи значителен риск, ако се използва за злонамерени цели, като филтриране на данни.

Киберпрестъпниците или злонамереният софтуер могат да използват SSH тунели, за да скрият неразрешените си съобщения или да извлекат откраднати данни от целевата мрежа.безплатни ssh тунели

При атака на SSH тунел нападателят инсталира сървъра извън целевата мрежа (например в Amazon AWS). След като измамникът е на целевата система, той се свързва с външния SSH сървър отвътре. Повечето организации позволяват изходящи връзки в тунела SSH на Linux, поне ако имат сървъри в публичен облак. Тази SSH връзка е конфигурирана с опция, която ви позволява да препращате TCP порта от порта на външния сървър към SSH порт на сървъра във вътрешната мрежа. За да конфигурирате този SSH тунел, ви е необходима вътрешна команда от един ред и лесно можете да го автоматизирате. Повечето защитни стени на практика не предпазват от него.

Споделяне в социалните мрежи:

сроден