Как да

Телепорт - Сигурен достъп до Linux системи и Kubernetes

Телепорт - Сигурен достъп до Linux системи и Kubernetes

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

Gravitational Teleport е шлюз за управление на достъпа до клъстери на Linux сървъри чрез SSH или Kubernetes API. Той е предназначен да се използва вместо традиционния OpenSSH за организации, които трябва: Източник: Документация за телепортиране

Изчерпателни характеристики на телепорта

Teleport предлага впечатляващи нови функции, на които традиционните администратори и разработчици ще се радват. Те включват:

Адаптиран от официалния уебсайт на Teleport, Teleport се предлага като три бинарни файла: демон за телепортиране, на tsh клиент и tctl инструмент за администриране. Те не са зависими, написани са на компилиран език и се изпълняват на всяка съвместима с UNIX операционна система, като Linux, FreeBSD или macOS. Teleport е с отворен код под лиценза Apache 2 и изходният код е достъпен на Github.

Teleport е лесен за разполагане. Това е традиционен демон на Linux, подобен на sshd и обикновено работи като systemd услуга.

Инсталиране на инструмент за телепортиране

Инструмент за телепортиране и администриране на основната услуга на Teleport tctl са проектирани да работят на операционни системи Linux и Mac. Потребителският клиент на Teleport tsh и потребителски интерфейс са достъпни за операционни системи Linux, Mac и Windows.

Инсталирайте Teleport на Linux

Следващите примери инсталират 64-битовата версия на двоични файлове на Teleport, но са налични и 32-битови (i386) и ARM двоични файлове. Проверете страницата с най-новите версии за най-актуалната информация.

Инсталирайте от tarball

curl -O https: // get.гравитационно.com / teleport-v5.0.0-linux-amd64-bin.катран.gz tar -xzf teleport-v5.0.0-linux-amd64-bin.катран.gz cd телепортиране sudo ./ install двоични файлове на Teleport са копирани в / usr / local / bin

Конфигурирайте услугата за телепортиране SystemD

Можем да се възползваме от systemd, за да управляваме процесите на жизнения цикъл на телепорта, като стартиране и спиране на услугата. Създайте услуга за телепортиране systemd по този начин:

$ sudo vim / etc / systemd / system / teleport.услуга [Unit] Описание = Teleport SSH Service After = мрежа.target [услуга] Тип = просто рестартиране = при неизправност EnvironmentFile = - / и т.н. / по подразбиране / телепорт ExecStart = / usr / local / bin / teleport start --pid-file = / run / teleport.pid ExecReload = / bin / kill -HUP $ MAINPID PIDFile = / run / teleport.pid LimitNOFILE = 8192 [Инсталиране] WantedBy = многопотребителски.мишена

След това презаредете демона, стартирайте и активирайте услугата

sudo systemctl daemon-reload sudo systemctl старт телепортиране sudo systemctl разреши телепортиране

Можете да проверите състоянието му, за да потвърдите, че всичко е започнало без никакъв шум

$ sudo systemctl статус телепортиране ● телепортиране.услуга - Услуга за телепорт SSH Заредена: заредена (/ etc / systemd / system / teleport.обслужване; активиран; предварително зададен от доставчика: деактивиран) Активен: активен (работи) от понеделник 2020-12-14 07:31:33 UTC; Преди 1 часа и 2 минути Основен PID: 2053 (телепортиране) Задачи: 9 (ограничение: 11004) Памет: 35.0M CGroup: / система.парче / телепортиране.услуга └─2053 / usr / local / bin / teleport start --pid-file = / run / teleport.pid 14 декември 07:31:35 centos8.localdomain телепорт [2053]: [NODE] Услуга 5.0.0: v5.0.0-0-gac4971801 започва на 0.0.0.0: 3022. 14 декември 07:31:35 centos8.localdomain телепорт [2053]: списък прокси не се използва Услуга за обратен тунел 5.0.0: v5.0.0-0-gac4971801 започва на 0.0.0.0: 3024. 14 декември 07:31:35 centos8.localdomain телепорт [2053]: списък на прокси не се използва уеб прокси услуга 5.0.0: v5.0.0-0-gac4971801 започва на 0.0.0.0: 3080. 14 декември 07:31:35 centos8.localdomain teleport [2053]: списък на прокси не се използва SSH прокси услуга 5.0.0: v5.0.0-0-gac4971801 започва на 0.0.0.0: 3023.

Инсталирайте на CentOS от RPM Repository

Ако сте на CentOS, можете да използвате следното, в случай че не ви харесва методът за инсталиране на tarball

sudo yum-config-manager --add-repo https: // rpm.освобождава.телепортирам.dev / телепортиране.repo sudo yum инсталирате teleport -y

Инсталирайте на Debian Ubuntu от .deb пакет

Ако сте на система, базирана на Debian, можете да използвате следното, в случай че не ви харесва методът за инсталиране на tarball

$ curl https: // get.гравитационно.com / teleport_5.0.0_amd64.деб.sha256 $ curl -O https: // get.гравитационно.com / teleport_5.0.0_amd64.deb $ sha256sum teleport_5.0.0_amd64.deb # Проверете дали контролните суми съответстват на $ sudo dpkg -i teleport_5.0.0_amd64.deb $ който се телепортира / usr / local / bin / teleport

Инсталирайте Teleport на macOS

Благодарение на Homebrew, telport може лесно да се инсталира на macOS, както следва:

$ brew инсталирайте телепортиране

Как да конфигурирам телепорта

Когато настройва Teleport, екипът му от разработчици препоръчва да го стартирате с YAML конфигурационния файл на Teleport, както е показано по-долу:

$ sudo nano / etc / teleport.yaml teleport: data_dir: / var / lib / teleport auth_service: enabled: true cluster_name: "teleport-quickstart" listen_addr: 0.0.0.0: 3025 токени: - прокси, възел, приложение: f7adb7ccdf04037bcd2b52ec6010fd6f0caec94ba190b765 public_addr: 172.20.192.38: 3025 ssh_service: enabled: true labels: env: staging app_service: enabled: true debug_app: true proxy_service: enabled: true liste_addr: 0.0.0.0: 3023 web_listen_addr: 0.0.0.0: 3080 tunnel_listen_addr: 0.0.0.0: 3024 public_addr: 172.20.192.38: 3080

От конфигурацията по-горе ще забележите, че данните за телепортиране в директорията ще бъдат запазени (/ var / lib / teleport). За да работи всичко правилно, трябва да дадем на тази директория необходимите разрешения, така че да се телепортира и tctl може да може да чете и пише. За да постигнете това, изпълнете следната команда

sudo chmod 755 -R / var / lib / teleport /

След актуализиране на конфигурационния файл ще трябва да отворим необходимите портове, дефинирани във файла, както следва

## На CentOS sudo firewall-cmd --permanent --add-port = 3023,3080,3024,3025 / tcp sudo firewall-cmd --reload ## На Ubuntu sudo ufw позволете 3023,3080,3024,3025 / tcp

Конфигурирайте сигурен https със самостоятелно сертифицирани сертификати

Teleport използва защитен https. Ако имате сертификати, можете да ги добавите в края на конфигурационния файл на телепорта. За този пример ще настроим самоподписан сертификат за наше използване. Продължете да го създавате по следния начин:

sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout / etc / pki / tls / private / teleport2.key -out / etc / pki / tls / certs / teleport2.crt

Това ще продължи, за да ви зададе няколко въпроса, както е показано по-долу. Въведете правилните за вашата среда. Ако нямате DNS, можете да добавите имената на вашите домейни под / etc / hosts във вашите сървъри

----- Име на държава (двубуквен код) [XX]: Име на държавата или провинция KE (пълно име) []: Име на местността в Найроби (напр. Град) [Град по подразбиране]: Име на организацията в Найроби (например компания) [По подразбиране Company Ltd]: computingforgeeks Име на организационната единица (напр. раздел) []: Общо ИТ име (например вашето име или името на хоста на вашия сървър) []: телепортиране.computingforgeeks.com Имейл адрес []: [имейл защитен]

След това актуализирайте конфигурационния си файл със сертификатите, както е показано по-долу

teleport: data_dir: / var / lib / teleport auth_service: enabled: true cluster_name: "teleport-quickstart" liste_addr: 0.0.0.0: 3025 токени: - прокси, възел, приложение: f7adb7ccdf04037bcd2b52ec6010fd6f0caec94ba190b765 public_addr: 172.20.192.38: 3025 ssh_service: enabled: true labels: env: staging app_service: enabled: true debug_app: true proxy_service: enabled: true liste_addr: 0.0.0.0: 3023 web_listen_addr: 0.0.0.0: 3080 tunnel_listen_addr: 0.0.0.0: 3024 ## Актуализирана / добавена част от тази конфигурация public_addr: 172.20.192.38: 3080 https_keypairs: - key_file: / etc / pki / tls / private / teleport2.ключ cert_file: / etc / pki / tls / certs / teleport2.crt

След това рестартирайте телепортирането

sudo systemctl рестартирайте телепортиране

На този етап можете да имате достъп до уебпотребителския интерфейс на Teleport на адрес: „https: // IP-или-име на домейн: 3080„. Просто отворете любимия си браузър и го насочете към вашия сървър на посочения порт (3080). Трябва да видиш:

Но както ще забележите, нямаме потребители, които да могат да влязат в приложението. Затова ще се заемем с това по-нататък.

Създайте потребител на Teleport

Подобно на всяка друга услуга за удостоверяване, телепортирането изисква потребители и техните идентификационни данни, за да могат да влязат и да използват сървърите, които са под негова защита. Нещо, което трябва да се отбележи, Teleport винаги ще налага използването на 2-факторно удостоверяване по подразбиране. Той поддържа еднократни пароли (OTP) и хардуерни маркери (U2F). Този бърз старт ще използва OTP - ще ви трябва приложение, съвместимо с OTP, което може да сканира QR код.

Ако нямате разрешение да създавате нови потребители на хоста на Linux, стартирайте Потребителите на tctl добавят телепортиране на $ (whoami) за да позволите изрично на Teleport да удостоверява като потребител, че в момента сте влезли като.

Потребителите на tctl добавят корен на geeks-admin Потребителят geeks-admin е създаден, но изисква парола. Споделете този URL с потребителя, за да завършите настройката на потребителя, връзката е валидна за 1h0m0s: https: // teleport.computingforgeeks.com: 3080 / web / Покани / 2ef0091feea7fea0a210f53a1d8751d3 ЗАБЕЛЕЖКА: Уверете се, че centos8.localdomain: 3080 точки в Teleport прокси, до който потребителите имат достъп.

Потребителите, които сте посочили (като root в нашия пример) трябва да съществуват! Това означава, че geeks-admin ще може да влиза в сървърите в сървърите на клъстера Teleport като root.

След изпълнението на командата ще видите съобщението, което тя представя в черупката. Копирайте предоставения от него URL адрес и продължете да настройвате новия потребител: “https: // телепортиране.computingforgeeks.com: 3080 / web / Покани / 2ef0091feea7fea0a210f53a1d8751d3

След като посетите URL адреса на вашия браузър, ще срещнете нова страница за вход с QR код, както е показано по-горе. За да настроите нов потребител, препоръчваме да използвате приложението Google Authenticator от Play Store. Изтеглете го и инсталирайте от магазина за игра, както е споделено на екранните снимки по-долу.

След като бъде изтеглен и инсталиран, отворете го, след което изберете „Сканиране на QR код“.

Това ще отвори камерата ви. Поставете камерата си, за да прочетете QR кода и ще видите код, представен на вашия телефон. Това е "Двуфакторен жетон”На страницата за вход в Teleport. Въведете нова парола за потребителя, след това кода на телефона си под „Двуфакторен жетон”След това щракнете върху“Създай акаунт„.

Ако всичко върви добре, новият потребител ще бъде въведен в таблото, както е показано по-долу:

Невероятни неща, нали!

Добавяне на възел към клъстер за телепортиране

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

$ sudo teleport start --roles = node \ --token = f7adb7ccdf04037bcd2b52ec6010fd6f0caec94ba190b765 \ --auth-server = teleport.computingforgeeks.com: 3025 [NODE] Услуга 5.0.0: v5.0.0-0-gac4971801 започва на 0.0.0.0: 3022.

Прегледайте и актуализирайте auth-server, app-name и app-uri, преди да изпълните тази команда.

В случай че получите грешката по-долу, изтрийте / var / lib / teleport папка на възела, който се опитвате да добавите към клъстера, и отново изпълнете командата по-горе.

Възелът не успя да установи връзка с клъстера: Вземете "https: // 172.20.192.38: 3025 / v1 / webapi / find ": x509: сертификат, подписан от неизвестен орган. време / сън.върви: 148

Когато влезете обратно в Teleport Web-UI, трябва да можете да видите втория възел в списъка със сървъри, както е показано по-долу

Влизане в сървърите чрез Teleport Web-UI

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

И браузърът ще отвори нов раздел и ще ни въведе.

Заключителни бележки

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

В противен случай е празнична вечер и въпреки че все още сме покрити от този тъмен облак на Ковид, пожелаваме ви безопасност и здраве, когато празнувате с любимите си хора. Можете да продължите да четете повече неща, споделени по-долу

Инсталирайте и използвайте отдалечен работен плот Guacamole на CentOS 8

Как да скриете кошчето в Windows 10
Повечето хора там наистина не са голям фен на кошчето. След като открият бутон shift + del, те не позволяват нито един файл да достигне там. Освен тов...
Как да променя местоположението по подразбиране на папката за изтегляне
Понякога искаме да променим папката за изтегляне по подразбиране в нашия браузър. Това се случва в случаите, когато нашите папки за изтегляне се препъ...
Как да направя режим на таблет като режим по подразбиране в Windows 10
Ако харесвате режима на сърфиране в компютъра на таблета или ако лаптопът е с активиран сензорен екран и обичате да го разглеждате като таблет, тогава...