Skip to content
тЪб Tenvo AI ┬╖ рд▓рд╛рдЗрд╡ ┬╖ v0.16.26 ┬╖ TLS ┬╖ рдкреНрд░рддрд┐-рдбрд┐рд╡рд╛рдЗрд╕ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ ┬╖ AGPL-3.0 ┬╖ рдирд┐:рд╢реБрд▓реНрдХ рд╕реНрддрд░ ┬╖ 30 рдЙрдкрдХрд░рдг ┬╖ рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЕрд╡рд╕рдВрд░рдЪрдирд╛ ┬╖ рдЕрдкрдиреА API KEY рд▓рд╛рдПрдБ ┬╖ MCP рдХреЗ рд▓рд┐рдП CLAUDE & CURSOR
рдмреНрд▓реЙрдЧ рдкрд░ рд╡рд╛рдкрд╕Tutorial

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрдЕрдк тАФ рдПрдХ рдЕрдкреНрд░реВрд╡рд▓ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдирд┐рдЧрд░рд╛рдиреА

Tenvo Editorial Team8 рдорд┐рдирдЯ рдкрдврд╝реЗрдВ
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрдЕрдк тАФ рдПрдХ рдЕрдкреНрд░реВрд╡рд▓ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдирд┐рдЧрд░рд╛рдиреА

рдЖрдк рдЪрд╛рд╣рддреЗрдВ рд╣реИрдВ рдХрд┐ рдирдИ рдорд╢реАрдиреЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЛрд╡рд┐рдЬрди рд╣реЛрдВ тАФ рдЗрдореЗрдЬрд┐рдВрдЧ, рдкреИрдХреЗрдЬ, рдПрдХ рдПрдЖрдИ рдПрдЬреЗрдВрдЯ тАФ рд▓реЗрдХрд┐рди рдиреАрддрд┐ (рдпрд╛ рд╕рдордЭрджрд╛рд░реА) рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдПрдЬреЗрдВрдЯ рдХреЛ рдХрдВрдЯреНрд░реЛрд▓ рдорд┐рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдареАрдХ рдПрдХ рдорд╛рдирд╡ рдЕрдиреБрдореЛрджрди рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЖрдкрдХреЛ рдирдИ рдорд╢реАрдиреЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЛрд╡рд┐рдЬрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ тАФ рдЗрдореЗрдЬрд┐рдВрдЧ, рдкреИрдХреЗрдЬ, рдПрдХ рдПрдЖрдИ рдПрдЬреЗрдВрдЯ тАФ рд▓реЗрдХрд┐рди рдиреАрддрд┐ (рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ) рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдХрд░рддреА рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдареАрдХ рдПрдХ рдорд╛рдирд╡ рд╕реНрд╡реАрдХреГрддрд┐ рд╣реЛред рдпрд╣ рдЧрд╛рдЗрдб рдПрдХ рднрд░реЛрд╕реЗрдордВрдж, рдСрдбрд┐рдЯ рдпреЛрдЧреНрдп рдлреНрд▓реЛ рдмрддрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдВрдб-рдЯреВ-рдПрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреИрдорд╛рдиреЗ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХрд▓ рдЕрдиреБрдореЛрджрди рдЧреЗрдЯ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

рдХрд┐рд╕реА рднреА рдорд╛рдирд╡ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрдЕрдк рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬреЛрдЦрд┐рдо рдмрдврд╝рд╛рддрд╛ рд╣реИ: рдЧрд▓рддреА рд╕реЗ рдПрдЬреЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛрдирд╛, рдХрдореНрдкреНрд░реЛрдорд╛рдЗрдЬрд╝реНрдб рдЗрдореЗрдЬ, рдпрд╛ рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХрд╛ рд░рд┐рд╕рд╛рд╡ред рдПрдХ рд╕реБрд╡рд┐рдЪрд╛рд░рд┐рдд рдПрдХрд▓ рдЕрдиреБрдореЛрджрди рдСрдЯреЛрдореЗрд╢рди рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рджреЗрддрд╛ рд╣реИред рдпрд╣ рд▓рдВрдмреА рд╕реВрдЪреА рдХреЗ рдЗрдВрд╕реНрдЯрд╛рд▓реНрд╕ рдореЗрдВ рд╣рд╛рде рдирд╣реАрдВ рдбрд╛рд▓рддрд╛, рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд 'рдмреНрд░реЗрдХ-рдЧреНрд▓рд╛рд╕' рдмрд┐рдВрджреБ рдХрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред

рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдбрд┐рдЬрд╛рдЗрди: рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдкреНрд▓рд╕ рдЕрдиреБрдореЛрджрди рдЧреЗрдЯ

рдкреИрдЯрд░реНрди рд╕рд░рд▓ рдФрд░ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реИ:

  • рдорд╢реАрди рдХреЛ рдкреВрд░реНрд╡-рд╕реНрдЯреЗрдЬ рдХрд░реЗрдВ: OS рдЗрдореЗрдЬ, рдбрд┐рд╕реНрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рд╕реНрдерд╛рдиреАрдп рдЦрд╛рддреЗ, рдмреЗрд╕рд▓рд╛рдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧред
  • рд░рд┐рдореЛрдЯ-рдПрдЬреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдкрд░ рдбрд┐рд╕реЗрдмрд▓реНрдб рдпрд╛ рд╕реАрдорд┐рдд рдореЛрдб рдореЗрдВ (рдПрдЬреЗрдВрдЯ рдореМрдЬреВрдж рд╣реИ, рдкрд░ рдЕрднреА рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)ред
  • рд╕рд╛рдЗрди рдХрд┐рдП рд╣реБрдП рдЕрдиреБрдореЛрджрди рдЕрдиреБрд░реЛрдз (рд╣реЛрд╕реНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╣реИрд╢, рдмрд┐рд▓реНрдб ID) рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЯреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдирд╡ рдЕрдиреБрдореЛрджрдХ рдХреЛ рднреЗрдЬреЗрдВ (рд╕реНрд▓реИрдХ, рдкреЗрдЬрд░рдбреНрдпреВрдЯреА, рдЯрд┐рдХрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо)ред
  • рдЕрдиреБрдореЛрджрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реБрдЖ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреВрд░реНрдг рдСрдкрд░реЗрд╢рдирд▓ рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░ рджреЗрддрд╛ рд╣реИред
  • рдкреЛрд╕реНрдЯ-рдЕрдиреБрдореЛрджрди: рдПрдЬреЗрдВрдЯ рд░рд┐рд▓реЗ рдХреЗ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ, рдСрдбрд┐рдЯ рд▓реЙрдЧ рдЕрдиреБрдореЛрджрди рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдиреАрддрд┐ рдпрд╛ 2FA рд▓рд╛рдЧреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреМрди-рдХреМрди рд╕реЗ рдШрдЯрдХ рдЪрд╛рд╣рд┐рдП (рдареЛрд╕)

  • рдПрдХ рдЗрдореЗрдЬ/рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЬреЛ рдмрд┐рд▓реНрдб ID рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ SHA256 рдЬрд╛рд░реА рдХрд░реЗ (CI рд░рдирд░, Packer, рдЖрджрд┐)ред
  • рдПрдХ рдкреНрд░реА-рдЗрдВрд╕реНрдЯреЙрд▓реНрдб рд░рд┐рдореЛрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЬ рдЬреЛ рдбрд┐рд╕реЗрдмрд▓реНрдб/рд╕реНрдЯрд╛рд░реНрдЯ-рд╕реНрдЯреЙрдк рдореЛрдб рд╕рдкреЛрд░реНрдЯ рдХрд░реЗ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди API рдпрд╛ рдЯреЛрдХрди рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реЛред
  • рдПрдХ рдЕрдиреБрдореЛрджрди рд╕реЗрд╡рд╛: рдпрд╣ SSO рдХреЗ рдкреАрдЫреЗ рдПрдХ рдиреНрдпреВрдирддрдо рд╡реЗрдм рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╛ рдПрдХ рдореМрдЬреВрджрд╛ рдЯрд┐рдХрдЯрд┐рдВрдЧ/ChatOps рдЯреВрд▓ рдЬреЛ рд╕рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реБрдЖ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реЛред
  • рдСрдбрд┐рдЯ рд▓реЙрдЧрд┐рдВрдЧ тАФ approver рдкрд╣рдЪрд╛рди, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рдмрд┐рд▓реНрдб ID рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╣реИрд╢ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред рд╕реБрдЭрд╛рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдФрд░ рд░рд┐рдЯреЗрдВрд╢рди рдиреАрддрд┐ рдХреЗ рд▓рд┐рдП Remote Desktop Audit Logging рджреЗрдЦреЗрдВред
  • NAT рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рд▓реЗ тАФ TenvoтАЩs managed relay рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рд┐рд▓реЗ рдЕрдкрдЯрд╛рдЗрдо, рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд░рд┐рдиреНрдпреВрдЕрд▓ рдФрд░ рдорд▓реНрдЯреА-рд░рд┐рдЬрди рдлреЗрд▓рдУрд╡рд░ рдХреЗ рд▓рд┐рдП рдСрди-рдХрд▓ рд╣рдЯрд╛рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рддрднреА рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреА рдХрдореНрдкреНрд▓рд╛рдпрдВрд╕ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрд▓рдЧрд╛рд╡ рдЗрд╕рдХреА рдорд╛рдВрдЧ рдХрд░реЗ; рдЕрдиреНрдпрдерд╛ рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдСрдкрд░реЗрд╢рдирд▓ рдЦрд░реНрдЪ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрдЯрд┐рдХрд░ рдкреНрд░рд╛рдЗрд╕ рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП Self-Hosted Remote Desktop: Why, How, and What Breaks рджреЗрдЦреЗрдВред

рдЖрдкрдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реБрд░рдХреНрд╖рд╛ рдиреЛрдЯреНрд╕

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛: рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рдиреНрд╕ рдХреЗ рд▓рд┐рдП per-device рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдХреЗ рд╕рд╛рде TLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреАрдпрд░-рдЯреВ-рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рджреЛрдиреЛрдВ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЗ рдмреАрдЪ рдПрдВрдб-рдЯреВ-рдПрдВрдб рд╣реЛрддрд╛ рд╣реИ; рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рдЯреНрд░реИрдлрд╝рд┐рдХ рд░рд┐рд▓реЗ рдкрд░ рдлреЙрд▓-рдмреИрдХ рдХрд░рддрд╛ рд╣реИ рддреЛ TLS рдЙрд╕ рд░рд┐рд▓реЗ рдкрд░ рдЯрд░реНрдорд┐рдиреЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрд┐рд╕рдиреЗ рд░рд┐рд▓реЗ рдЪрд▓рд╛рдпрд╛ рд╣реИ рд╡рд╣ рд╕реЗрд╢рди рдЯреНрд░реИрдлрд╝рд┐рдХ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдЕрдиреБрдореЛрджрди рдлреНрд▓реЛ рдФрд░ рдСрдбрд┐рдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдЗрд╕реА рддрд░рд╣ рдбрд┐рдЬрд╛рдЗрди рдХрд░реЗрдВ тАФ рд░рд┐рд▓реЗ рдХреЛ рдПрдХ рдЧреИрд░-рдирд┐рдЧрд░рд╛рдиреА рд╣реЙрдк рдорд╛рдирдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВред

рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ рд╕рдордп-рд░реЗрдЦрд╛ (рдСрдкрд░реЗрдЯрд░ рд╡реНрдпреВ)

  1. рдЗрдореЗрдЬ рдмрд┐рд▓реНрдб рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ: build-id, image SHA256, рдкреИрдХреЗрдЬ рд╕реВрдЪреА, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЪреЗрдХрд╕рдоред рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЕрдкрдиреЗ рдмрд┐рд▓реНрдб рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕реНрдЯреЛрд░ рдореЗрдВ рд░рд╛рдЦреЗрдВред
  2. рдорд╢реАрди рдмреВрдЯ рд╣реЛрддреА рд╣реИ, рдлрд░реНрд╕реНрдЯ-рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рддреА рд╣реИ, рдЗрдореЗрдЬ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдЦрд╛рддреЗ рдмрдирддреЗ рд╣реИрдВ, рдФрд░ рдПрдЬреЗрдВрдЯ 'рд▓реЙрдХреНрдб' рдореЛрдб рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддрд╛ рд╣реИ (рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИ рдкрд░ рд░рд┐рдореЛрдЯ рд╕рддреНрд░ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛)ред
  3. рдлрд░реНрд╕реНрдЯ-рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЕрдиреБрдореЛрджрди рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ host-id, build-id, agent-installer рд╣реИрд╢, IP (рдпрджрд┐ рдЬреНрдЮрд╛рдд), рд╣реЛрд╕реНрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ, рдФрд░ рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдХреАey рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╢реЙрд░реНрдЯ-рд▓рд┐рд╡реНрдб HMAC рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИред
  4. рдЕрдиреБрдореЛрджрди рдЕрдиреБрд░реЛрдз approver рдЪреИрдирд▓ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЯрд┐рдХрдЯ, рд╕реНрд▓реИрдХ рд╕рдВрджреЗрд╢ рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдореЛрджрди рдмрдЯрди, рдпрд╛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡реЗрдм рдбреИрд╢рдмреЛрд░реНрдб)ред рдЕрдиреБрдореЛрджрдХ рдмрд┐рд▓реНрдб рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╣реИрд╢ рдЬрд╛рдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреБрдореЛрджрди рдХреНрд░рд┐рдпрд╛ рдЖрдкрдХреА рдХреЗрдВрджреНрд░реАрдп рдЕрдиреБрдореЛрджрди рд╕реЗрд╡рд╛ рдХреЛ рдПрдХ рдП╨║╤В╨╕рд╡реЗрд╢рди рдЯреЛрдХрди рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ, рдЬреЛ рд▓реЙрдЧ рдФрд░ рд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  5. рдорд╢реАрди рдореВрд▓ рдЕрдиреБрд░реЛрдз nonce рдФрд░ рд╢реЙрд░реНрдЯ-рд▓рд┐рд╡реНрдб HMAC рдХреЗ рд╕рд╛рде рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЛ рдкреЛрд▓ рдХрд░рддреА рд╣реИред рдЬрдм рдПрдХ рдорд╛рдиреНрдп рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЯреЛрдХрди рд▓реМрдЯрддрд╛ рд╣реИ, рддреЛ рдПрдЬреЗрдВрдЯ 'enabled' рдореЛрдб рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ, рд░рд┐рд▓реЗ рдХреЗ рд╕рд╛рде рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдореЛрдЯ рд╕рддреНрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЗрд╡реЗрдВрдЯ рдХреЛ рдСрдбрд┐рдЯ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЕрдиреБрдореЛрджрдХ рдкрд╣рдЪрд╛рди рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рдЙрджрд╛рд╣рд░рдг: Linux рдлрд░реНрд╕реНрдЯ-рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ

#!/bin/bash
# /usr/local/bin/first-boot-provision.sh
set -e
BUILD_ID=$(cat /etc/build-id || echo unknown)
AGENT_PATH=/opt/tenvo-agent
PROVISION_KEY=/etc/provision.key
HOST_ID=$(hostname -f)-$(cat /etc/machine-id)
CHECKSUM=$(sha256sum ${AGENT_PATH}/installer.tar.gz | awk '{print $1}')
NONCE=$(uuidgen)
JSON=$(jq -n --arg h "$HOST_ID" --arg b "$BUILD_ID" --arg c "$CHECKSUM" --arg n "$NONCE" '{host:$h,build:$b,checksum:$c,nonce:$n}')
HMAC=$(echo -n "$JSON" | openssl dgst -sha256 -hmac "$(cat $PROVISION_KEY)" | awk '{print $2}')
# Post to approval service (HTTPS with SSO in front)
curl -s -X POST -H "Content-Type: application/json" -d "{\"payload\":$JSON,\"hmac\":\"$HMAC\"}" https://approvals.example.com/requests
# poll for activation token (short interval)
for i in {1..60}; do
  TOKEN=$(curl -sS "https://approvals.example.com/activation?host=$HOST_ID&nonce=$NONCE")
  if [ -n "$TOKEN" ] && [ "$TOKEN" != "pending" ]; then
    /opt/tenvo-agent/bin/tenvo-activate --token "$TOKEN"
    systemctl enable tenvo-agent && systemctl start tenvo-agent
    logger "Provisioning: activated by approval service"
    exit 0
  fi
  sleep 5
done
logger "Provisioning: activation timed out, leaving agent disabled"

Windows рдЙрджрд╛рд╣рд░рдг: PowerShell рд╕рдХреНрд░рд┐рдпрддрд╛ рдЪреЗрдХ

# FirstBoot-Provision.ps1
$buildId = Get-Content C:\build-id -ErrorAction SilentlyContinue
$agentInstaller = 'C:\Program Files\Tenvo\installer.msi'
$checksum = (Get-FileHash -Path $agentInstaller -Algorithm SHA256).Hash
$hostId = (Get-WmiObject -Class Win32_ComputerSystem).Name + '-' + (Get-Content C:\Windows\System32\config\systemprofile\machine-id)
$nonce = [guid]::NewGuid().ToString()
$payload = @{host=$hostId; build=$buildId; checksum=$checksum; nonce=$nonce} | ConvertTo-Json
$hmacKey = Get-Content C:\provision\provision.key
$hmac = [System.BitConverter]::ToString((New-Object System.Security.Cryptography.HMACSHA256([System.Text.Encoding]::UTF8.GetBytes($hmacKey))).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($payload))).Replace('-','').ToLower()
Invoke-RestMethod -Uri 'https://approvals.example.com/requests' -Method Post -Body (@{payload=$payload; hmac=$hmac} | ConvertTo-Json) -ContentType 'application/json'
for ($i=0; $i -lt 60; $i++) {
  $token = Invoke-RestMethod -Uri "https://approvals.example.com/activation?host=$hostId&nonce=$nonce"
  if ($token -and $token -ne 'pending') {
    # Tenvo activation command
    & 'C:\Program Files\Tenvo\tenvo.exe' activate --token $token
    Start-Service -Name tenvo-agent
    Write-EventLog -LogName Application -Source 'Provision' -EntryType Information -EventId 1000 -Message 'Agent activated'
    break
  }
  Start-Sleep -Seconds 5
}

рдЕрдиреБрдореЛрджрди UX рдФрд░ рдПрдХреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк

рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓ UX рдПрдХ рд╕реНрд▓реИрдХ рд╕рдВрджреЗрд╢ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рд▓реНрдб рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рджреЛ рдмрдЯрди рд╣реЛрдВ: Approve рдпрд╛ Rejectред Approve рдмрдЯрди рдЖрдкрдХреА рдЕрдиреБрдореЛрджрди рд╕реЗрд╡рд╛ рдХреЛ рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╢реЙрд░реНрдЯ-рд▓рд┐рд╡реНрдб рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЯреЛрдХрди рд╕рд╛рдЗрди рдФрд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╡реЗрдм рдбреИрд╢рдмреЛрд░реНрдб рдЕрдзрд┐рдХ рдСрдбрд┐рдЯ рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдмрдбрд╝реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕реНрдХреЗрд▓ рдХрд░рддрд╛ рд╣реИ тАФ SSO рдФрд░ MFA рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдПрдВред рдЬреЛ рднреА рдЖрдк рдЪреБрдиреЗрдВ, рдЕрдиреБрдореЛрджрдХ рдХрд╛ рдпреВрдЬрд░рдиреЗрдо, IP рдФрд░ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╣реИрд╢ рд▓реЙрдЧ рдХрд░реЗрдВ; рдХреЗрд╡рд▓ 'рдХрд┐рд╕реАрдиреЗ рдмрдЯрди рджрдмрд╛рдпрд╛' рдкрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рдмрд┐рдирд╛ рднрд░реЛрд╕рд╛ рди рдХрд░реЗрдВред

рдСрдбрд┐рдЯ рд▓реЙрдЧрд┐рдВрдЧ: рдХреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ

рдХрдо рд╕реЗ рдХрдо, рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рд▓реЙрдЧ рдХрд░реЗрдВ: host-id, build-id, рдЗрдВрд╕реНрдЯреЙрд▓рд░ SHA256, approver identity (SSO рдИрдореЗрд▓), рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк (UTC), approver IP, approval method (UI/API), рдФрд░ activation token IDред рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХ рд░рд┐рдЯреЗрдВрд╢рди рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧреНрд╕ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд░рдЦреЗрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ SIEM рдореЗрдВ рдлреАрдб рдХрд░реЗрдВред рд╕реНрдХреАрдорд╛ рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рд░рд┐рдЯреЗрдВрд╢рди рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП Remote Desktop Audit Logging рджреЗрдЦреЗрдВред

Tenvo-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдЯреНрд╕ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ

Tenvo macOS, Windows рдФрд░ Linux рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд┐рд╡ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреАрдЯрд╛ рдореЗрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ managed relay рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ: рдпрд╣ рдорд▓реНрдЯреА-рд░рд┐рдЬрди рд░рд┐рд▓реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯ рджреЗрддрд╛ рд╣реИ, рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд░реЛрдЯреЗрд╢рди рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рд▓реЗ рдлрд╝реНрд▓реАрдЯ рдХреЛ рдкреИрдЪ рдФрд░ рдСрдирд▓рд╛рдЗрди рд░рдЦрдиреЗ рдХрд╛ рдСрдкрд░реЗрд╢рдирд▓ рдмреЛрдЭ рд╣рдЯрд╛рддрд╛ рд╣реИред рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдЯрд┐рдпрд░: рдлреНрд░реА $0, рд▓рд╛рдЗрдЯ $2.99/mo, рдФрд░ рдкреНрд░реЛ $7.99/mo тАФ рдЙрд╕ рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЗ рд╕рддреНрд░, рдСрдбрд┐рдЯ рдФрд░ SLA рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛред

рдСрдкрд░реЗрд╢рдирд▓ рд░реВрдк рд╕реЗ: TenvoтАЩs managed relay рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХреЛрдИ рд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рди рд▓рдЧрд╛рддреА рд╣реЛред рдХреЗрд╡рд▓ рддрднреА рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬрдм рдХрдореНрдкреНрд▓рд╛рдпрдВрд╕, рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ, рдпрд╛ рдбреЗрдЯрд╛-рд░реЗрд╕реАрдбреЗрдВрд╕реА рдирд┐рдпрдо рдЗрд╕рдХреА рдорд╛рдВрдЧ рдХрд░реЗрдВ; рдЕрдиреНрдпрдерд╛ рдХреБрдВрдЬреА рдХрд╕реНрдЯрдбреА, TLS рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд░рд┐рдиреНрдпреВрдЕрд▓, рдлреЗрд▓рдУрд╡рд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рд░рд┐рд▓реЗ рдЕрдкрдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдСрди-рдХрд▓ рд░рдЦрдиреЗ рдХрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЦрд░реНрдЪ managed relay рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдорд╛рд░рд╛ self-hosting guide рджреЗрдЦреЗрдВред

рдкрд░реАрдХреНрд╖рдг рдФрд░ рдорд╛рдиреНрдпрдХрд░рдг рдЪреЗрдХрд▓рд┐рд╕реНрдЯ

  • рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ: рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд╣реА build-id рдФрд░ SHA256 рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкреБрдирд░реБрддреНрдкрд╛рджрдирдпреЛрдЧреНрдп рдмрд┐рд▓реНрдб рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХрд░реЗрдВред
  • рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯ: рдлрд░реНрд╕реНрдЯ-рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣реА JSON рдФрд░ HMAC рдкреЛрд╕реНрдЯ рдХрд░рддреА рд╣реИ рдФрд░ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЯреЛрдХрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣реИрдВрдбрд▓ рдХрд░рддреА рд╣реИред
  • рдЕрдиреБрдореЛрджрдХ рдлреНрд▓реЛ рдЯреЗрд╕реНрдЯ: рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдЕрдиреБрдореЛрджрдХ рдХреЛ рдкреВрд░рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ (рдмрд┐рд▓реНрдб рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЗ рд▓рд┐рдВрдХ рд╕рд╣рд┐рдд) рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЕрдиреБрдореЛрджрдХ рдкрд╣рдЪрд╛рди рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЯреЛрдХрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП TTL рдХреЗ рдмрд╛рдж рдПрдХреНрд╕рдкрд╛рдпрд░ рд╣реЛрддрд╛ рд╣реИред
  • рдлреЗрд▓реНрдпреЛрд░ рдореЛрдб рдЯреЗрд╕реНрдЯ: рдЕрдиреБрдореЛрджрдХ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдпрд╛ рдиреЛ-рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдХреА рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдорд╢реАрди рдбрд┐рд╕реЗрдмрд▓реНрдб рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣рддреА рд╣реИ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рд░реНрдЯ рдЙрдарддреА рд╣реИред
  • рд░рд┐рд▓реЗ рдЯреЗрд╕реНрдЯ: рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ NAT рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдиреЗ рдкрд░ рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреАрдпрд░-рдЯреВ-рдкреАрдпрд░ рдХрдиреЗрдХреНрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ; рдЬрдм рд░рд┐рд▓реЗ рдЙрдкрдпреЛрдЧ рд╣реЛ рддреЛ рдЗрд╕ рд░рд┐рд▓реЗ-рдЯрд░реНрдорд┐рдиреЗрд╢рди рдореЙрдбрд▓ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЙрдЪрд┐рдд рдирд┐рдпрдВрддреНрд░рдг рд░рдЦреЗрдВред

рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ рддреНрд╡рд░рд┐рдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛

  • рдПрдЬреЗрдВрдЯ рдХрднреА рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрддрд╛: рдлрд░реНрд╕реНрдЯ-рдмреВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдЧреНрд╕, HMAC рдХреА mismatch, рдпрд╛ рдЕрдиреБрдореЛрджрди рдПрдВрдбрдкреЙрдЗрдВрдЯ рддрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд╣реБрдВрдЪ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
  • рдЕрдиреБрдореЛрджрди рдмрдЯрди рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдЯреЛрдХрди рдирд╣реАрдВ рдмрдирд╛рддрд╛: рд╕рд┐рдЧреНрдиреЗрдЪрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдЧрд╛рдпрдм SSO рдЕрд╕рд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдореЛрджрди рд╕реЗрд╡рд╛ рд▓реЙрдЧреНрд╕ рдЬрд╛рдВрдЪреЗрдВред
  • рдорд╢реАрди рд╕рдХреНрд░рд┐рдп рд╣реЛрддреА рд╣реИ рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреА: рд░рд┐рд▓реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдмрд╛рдЙрдВрдб TLS рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ, рдФрд░ Tenvo рдкреЛрд░реНрдЯреНрд╕ рдпрд╛ DNS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
  • рд╕рдВрджрд┐рдЧреНрдз рдПрдХреНрдЯрд┐рд╡реЗрд╢рди: рдпрджрд┐ рдЕрдиреБрдореЛрджрдХ рдкрд╣рдЪрд╛рди рдЧрд▓рдд рд▓рдЧрддреА рд╣реИ рдпрд╛ рд╣реИрд╢ рдореИрдЪ рдирд╣реАрдВ рдХрд░рддреЗ, рддреЛ рддреБрд░рдВрдд рдбрд┐рд╡рд╛рдЗрд╕ рд░рд┐рд╡реЛрдХ рдХрд░реЗрдВ (рдПрдЬреЗрдВрдЯ рдбрд┐рд╕реЗрдмрд▓ рдХрд░реЗрдВ) рдФрд░ рдЗрдиреНрд╕реАрдбреЗрдВрдЯ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рд╢реБрд░реВ рдХрд░реЗрдВред

рдХрдм рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдФрд░ рдХрдм managed relay (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд┐рд░реНрдгрдп рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛)

рдХреЗрд╡рд▓ рддрднреА рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдЪреБрдиреЗрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ: рдХреЛрдИ рдХрдореНрдкреНрд▓рд╛рдпрдВрд╕ рдирд┐рдпрдо рддреГрддреАрдп-рдкрдХреНрд╖ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ, рдорд╢реАрдиреЗрдВ рдПрдХ рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рдЗрдВрдЯрд░рдиреЗрдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдЖрдкрдХреЛ рдХрдбрд╝рд╛ рдбреЗрдЯрд╛-рд░реЗрд╕реАрдбреЗрдВрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, Tenvo managed relay рд╢реНрд░рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╕реНрддрд╛ рд╣реИред рдЯреНрд░реЗрдб-рдСрдлрд╝реНрд╕ рдкрд░ рдФрд░ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ How to Set Up Remote Access in 60 Seconds рдФрд░ Remote Desktop Security: What You Need to Know.

рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдиреЛрдЯреНрд╕

рдЬрдм рдЖрдк рд╕реИрдХрдбрд╝реЛрдВ рдпрд╛ рд╣рдЬрд╛рд░реЛрдВ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╕реНрдХреЗрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдиреБрдореЛрджрди рдХрджрдо рдХреЛ рдЕрдиреБрдореЛрджрдХ рд╕рдореВрд╣ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ рдФрд░ рдмреИрдЪрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдЕрдиреБрдореЛрджрди рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХрдИ host-ids рдФрд░ checksums рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рд╕рднреА рд╣реИрд╢ рдЕрдкреЗрдХреНрд╖рд┐рдд рдорд╛рдиреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдорд╛рдирд╡ рдПрдХ рдкреВрд░рд╛ рдмреИрдЪ рдЕрдиреБрдореЛрджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред рдлрд┐рд░ рднреА рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЙрдЧ рдХрд░реЗрдВред mismatched рд╣реИрд╢ рдХреЛ рдлреНрд▓реИрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдПрдиреЙрдорд▓реА рдЪреЗрдХ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐-рд╣реЛрд╕реНрдЯ рдЕрдиреБрдореЛрджрди рдЖрд╡рд╢реНрдпрдХ рдХрд░реЗрдВред

рдПрдЬ рдХреЗрд╕ рдФрд░ рд╕рд╛рд╡рдзрд╛рдирд┐рдпрд╛рдБ

  • рдХреНрд▓реЙрдХ рд╕реНрдХреНрдпреВ: рд╢реЙрд░реНрдЯ-рд▓рд┐рд╡реНрдб рдЯреЛрдХрди рд╕рдЯреАрдХ рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓реЙрдХреНрд╕ рдорд╛рдВрдЧрддреЗ рд╣реИрдВ; рдЯреЛрдХрди рдорд╛рдиреНрдпрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ NTP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
  • рд░реЛрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд┐рдВрдЧ: рдпрджрд┐ рдЗрдореЗрдЬ рд░реЛрд▓рдмреИрдХ рд╣реЛрддреА рд╣реИ, рддреЛ рд░реЛрд▓рдмреИрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдкрдиреЗ рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрд╕реНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдкреБрдирдГ-рдЕрдиреБрдореЛрджрди рдЖрд╡рд╢реНрдпрдХ рдХрд░реЗрдВред
  • рдЦреЛрдИ рд╣реБрдИ рдЕрдиреБрдореЛрджрдХ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕: рдЕрдиреБрдореЛрджрди рд╕реЗрд╡рд╛ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рд┐рд╡рд┐рд▓реЗрдЬреНрдб рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдХреА рддрд░рд╣ рдЯреНрд░реАрдЯ рдХрд░реЗрдВ тАФ MFA рдФрд░ рд╕рддреНрд░ рдСрдбрд┐рдЯ рдЖрд╡рд╢реНрдпрдХ рдХрд░реЗрдВред

рдпрд╣ рдкреИрдЯрд░реНрди тАФ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ рд▓реЙрдХреНрдб рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░реА-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛, рд╕рд╛рдЗрди рдХрд┐рдП рд╣реБрдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдЗрдорд┐рдЯ рдХрд░рдирд╛, рдПрдХ рд╕реНрдкрд╖реНрдЯ рдорд╛рдирд╡ рдПрдХреНрдЯрд┐рд╡реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд░рдЦрдирд╛, рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ тАФ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдХреА рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдПрдХ рдЬрд╡рд╛рдмрджреЗрд╣ рдорд╛рдирд╡ рдЧреЗрдЯ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рдЖрдк рд╣рдЬрд╛рд░ рдбреЗрд╡рд▓рдкрд░ рд▓реИрдкрдЯреЙрдк рддреИрдирд╛рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреЗрдбрд╝реЗ рдкрд░ рдПрдХ рдПрдЖрдИ рдПрдЬреЗрдВрдЯ рджреЗ рд░рд╣реЗ рд╣реЛрдВред

рдПрдЖрдИ-рдбреНрд░рд┐рд╡рди рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдФрд░ рдиреАрддрд┐ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдкрдврд╝реЗрдВ ai agent remote desktop: policies, approvals, audit рдФрд░ ai agent audit log: what records must contain. рдпрджрд┐ рдЖрдк рдЬрд▓реНрджреА рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдорд╛рд░рд╛ How to Set Up Remote Access in 60 Seconds рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╣рд╛рдпрдХ рд╣реИред

рдЖрдЬрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░? Tenvo рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдкрд╣рд▓реЗ рдПрдХ рдорд╢реАрди рдкрд░ рдлреНрд▓реЛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ: Download Tenvo.

Tenvo рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЦреБрдж рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?

30 рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд, рдХрд┐рд╕реА рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВред рджреЛ рдорд┐рдирдЯ рдореЗрдВ рдЪрд╛рд▓реВ рдФрд░ рдХрдиреЗрдХреНрдЯред