При това разпределение на взаимосвързани системи е изключително важно всеки актив, всеки документ и всяка информация да се пазят възможно най-далеч от любопитни очи и уши. Това, което влошава това, е, че нараства броят на тези неприятни очи и уши и да ги държите далеч от вашите системи става все по-трудно и по-сложно с всеки буден ден. И така какво да правя? Иновациите на добрите умове в нашия свят са измислили решения, които поне могат да ги отблъснат, както и да затруднят усилията им. Телепортът е едно от тези решения и ние ще се впуснем в сложна дискусия за това в това кратко ръководство.
Gravitational Teleport е шлюз за управление на достъпа до клъстери на Linux сървъри чрез SSH или Kubernetes API. Той е предназначен да се използва вместо традиционния OpenSSH за организации, които трябва: Източник: Документация за телепортиране
- Защитете своята инфраструктура и се съобразете с най-добрите практики за сигурност и регулаторните изисквания.
- Имат пълна видимост за дейността, която се случва в тяхната инфраструктура.
- Намалете оперативните разходи за управление на привилегирован достъп както в традиционната, така и в облачната инфраструктура.
Изчерпателни характеристики на телепорта
Teleport предлага впечатляващи нови функции, на които традиционните администратори и разработчици ще се радват. Те включват:
- Единичен SSH / Kubernetes шлюз за достъп за цяла организация.
- SSH удостоверяване на базата на сертификат вместо статични ключове.
- Избягвайте разпространението на ключове и доверието при проблеми с първа употреба, като използвате ключове с автоматично изтичане, подписани от орган за сертифициране на клъстер (CA).
- Прилагане на удостоверяване от втори фактор.
- Свържете се с клъстери, разположени зад защитни стени, без директен достъп до интернет чрез бастиони SSH.
- Съвместно отстраняване на проблеми чрез споделяне на сесии.
- Открийте онлайн сървъри и Docker контейнери в клъстер с динамични етикети на възли.
- Един-единствен инструмент („стъкло“) за управление на RBAC както за SSH, така и за Kubernetes.
- Ревизионен дневник със запис / повторно възпроизвеждане на сесията.
- Дневник на одита на Kubernetes, включително запис на интерактивни команди, изпълнявани чрез kubectl.
- Възможност за работа в „без агентиРежим, т.е.д. повечето функции на Teleport са налични в клъстери с вече съществуващи SSH демони, обикновено sshd.
Адаптиран от официалния уебсайт на 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