{"id":85605,"date":"2020-06-17T13:42:57","date_gmt":"2020-06-17T11:42:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2"},"modified":"2020-06-17T13:42:57","modified_gmt":"2020-06-17T11:42:57","slug":"iz-autsorsa-v-razrabotku-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","title":{"rendered":"Fra outsourcing til utvikling (Del 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/504376\/\">den forrige artikkelen<\/a><\/noindex>, jeg har fortalt om bakgrunnen for opprettelsen av Veliam og om beslutningen om \u00e5 distribueres gjennom SaaS-systemet. I denne artikkelen vil jeg fortelle om hva som m\u00e5tte gj\u00f8res for at produktet skulle bli offentlig, snarere enn lokalt. Om hvordan distribusjonen startet og hvilke problemer vi st\u00f8tte p\u00e5.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Planlegging<\/h3>\n<p>\nDen n\u00e5v\u00e6rende serverdelen for brukerne var p\u00e5 Linux. N\u00e6rmest hver organisasjon har Windows-servere, noe man ikke kan si om Linux. Den viktigste styrken til Veliam er fjernkoblinger til servere og nettverksutstyr bak NAT. Men denne funksjonaliteten var veldig rigid knyttet til at ruteren m\u00e5tte v\u00e6re en MikroTik. Og dette ville \u00e5penbart ikke tilfredsstille mange. Jeg begynte f\u00f8rst \u00e5 tenke p\u00e5 \u00e5 legge til st\u00f8tte for rutere fra de mest popul\u00e6re produsentene. Men jeg forsto at dette ville v\u00e6re et endel\u00f8st kappl\u00f8p med \u00e5 utvide listen over st\u00f8ttede merker. I tillegg kan de som allerede st\u00f8ttes, ha varierende sett med kommandoer for endring av NAT-regler fra modell til modell. Den eneste utveien fra situasjonen s\u00e5 ut til \u00e5 v\u00e6re VPN. <\/p>\n<p>Siden vi bestemte oss for \u00e5 distribuere produktet, men ikke som open source, kunne vi derfor ikke inkludere ulike biblioteker med \u00e5pne lisenser som GPL. Dette er egentlig et eget tema; etter beslutningen om \u00e5 selge produktet, m\u00e5tte vi g\u00e5 gjennom halvparten av bibliotekene fordi de var GPL. Da vi utviklet for oss selv, var det greit. Men for distribusjon var det ikke passende. Den f\u00f8rste VPN-en som kommer til tankene, er OpenVPN. Men den er GPL. Det var ogs\u00e5 et alternativ \u00e5 bruke den japanske SoftEther VPN. Lisensen tillot inkludering i v\u00e5rt produkt. Etter noen dagers testing for \u00e5 integrere det slik at brukeren ikke m\u00e5tte gj\u00f8re noe oppsett eller vite om SoftEther VPN, fikk vi en prototype. Alt s\u00e5 ut til \u00e5 v\u00e6re i orden. Men av en eller annen grunn f\u00f8lte vi oss fortsatt usikre p\u00e5 denne l\u00f8sningen, og vi avviste den til slutt. Men vi ga selvf\u00f8lgelig slipp f\u00f8rst etter at vi hadde funnet et annet alternativ. Til slutt fikk vi det til \u00e5 fungere p\u00e5 vanlige TCP-tilkoblinger. Noen tilkoblinger g\u00e5r gjennom en koordinator, mens andre g\u00e5r direkte gjennom NAT Hole Punching (NHP)-teknologi, som ogs\u00e5 ble implementert i Free Pascal. Jeg m\u00e5 si at jeg tidligere ikke hadde h\u00f8rt om NHP i det hele tatt. Det kunne aldri falmet meg inn at man kunne knytte to nettverksenheter som begge befinner seg bak NAT direkte. Jeg studerte emnet, forstod prinsippet bak og begynte \u00e5 skrive. Det jeg hadde tenkt, ble realisert; brukeren kobles p\u00e5 med ett klikk til \u00f8nsket enhet bak NAT via RDP, SSH eller Winbox uten \u00e5 m\u00e5tte skrive inn passord eller sette opp VPN. Dessuten g\u00e5r st\u00f8rsteparten av disse tilkoblingene forbi v\u00e5r koordinator, noe som er gunstig for b\u00e5de ping og kostnads\u00f8konomien knyttet til disse tilkoblingene.<\/p>\n<h3>Oversettelse av serverdelen fra Linux til Windows<\/h3>\n<p>\nDet var flere problemer med overgangen til Windows. Det f\u00f8rste var at den innebygde wmic i Windows ikke tillater WQL-foresp\u00f8rsel. I systemet v\u00e5rt var alt allerede bygget p\u00e5 dem. Og det var noe mer, men jeg husker ikke hvorfor vi endelig ga opp bruken av det. Kanskje forskjellene mellom versjonene av Windows. Det andre problemet var multitr\u00e5ding. Etter \u00e5 ikke ha funnet et godt tredjepartsverkt\u00f8y med en 'akseptabel' lisens, startet jeg p\u00e5 nytt IDE Lazarus. Jeg skrev det n\u00f8dvendige verkt\u00f8yet. Inn er det \u00f8nskede listen over objekter og hvilke spesifikke foresp\u00f8rsel som skal gj\u00f8res, og i respons f\u00e5r jeg data. Og alt dette skjer i multitr\u00e5det modus. Utmerket.<\/p>\n<p>Etter at jeg hadde konfigurert pthreads for PHP p\u00e5 Windows, trodde jeg at alt ville fungere perfekt, men slik ble det ikke. Etter en tid med feils\u00f8king forsto jeg at pthreads tilsynelatende fungerte, men rett og slett ikke i v\u00e5rt system. Det ble klart at det var noen spesifikke egenskaper ved hvordan pthreads fungerte i Windows. Og slik var det. Jeg leste dokumentasjonen, og der stod det at antallet tr\u00e5der er begrenset i Windows, og s\u00e5 vidt jeg husker, var dette ikke eksplisitt nevnt. Dette ble et problem. For n\u00e5r jeg begynte \u00e5 redusere antall tr\u00e5der der applikasjonen kunne kj\u00f8re, gikk det veldig sakte. Jeg \u00e5pnet IDE-en igjen, og til verkt\u00f8yet ble det lagt til funksjonalitet for multitr\u00e5det pinging av objekter. Og i tillegg ble portskanning lagt til. Egentlig, etter dette, ble behovet for pthreads for PHP borte, og det ble ikke lenger brukt. Senere ble det lagt til flere funksjonaliteter i dette verkt\u00f8yet, og det fungerer den dag i dag. Etter dette ble det laget en installasjonsprogram for Windows, som inkluderte Apache, PHP, MariaDB, selve PHP-applikasjonen og en gruppe verkt\u00f8y for systeminteraksjon, skrevet i Free Pascal. N\u00e5r det gjelder installasjonsprogrammet, trodde jeg at dette ville bli raskt l\u00f8st, siden det er en sv\u00e6rt vanlig og n\u00f8dvendig ting for nesten all programvare. Enten lette jeg p\u00e5 feil m\u00e5te, eller noe annet. Men jeg fant konstant produkter som enten var for lite fleksible eller dyre og ogs\u00e5 lite fleksible. Til slutt fant jeg en gratis installasjonsprogram som kan tilpasses enhver \u00f8nskem\u00e5l. Det er InnoSetup. Jeg skriver om dette her fordi jeg m\u00e5tte lete en del, kanskje jeg kan spare noen tid for andre.<\/p>\n<h3>Avslag p\u00e5 plugin til fordel for sin egen klient<\/h3>\n<p>\nJeg skrev tidligere at klientdelen var en nettleser med et \u00abplugin\u00bb. Det var tider da Chrome ble oppdatert og layouten ble litt skakk, eller Windows ble oppdatert og den tilpassede URI-skjemaet forsvant. Jeg \u00f8nsket absolutt ikke slike overraskelser i den offentlige versjonen av produktet. Dessuten begynte det tilpassede URI-skjemaet \u00e5 forsvinne etter hver Windows-oppdatering. Microsoft fjernet bare alle ikke-standards grener i den n\u00f8dvendige seksjonen. N\u00e5 tillater heller ikke Google Chrome \u00e5 huske valget om \u00e5 \u00e5pne applikasjonen fra tilpassede URI-er, og stiller dette sp\u00f8rsm\u00e5let hver gang man klikker p\u00e5 overv\u00e5kingsobjektet. Generelt sett m\u00e5 det v\u00e6re et normalt samarbeid med brukerens lokale system, noe nettleseren ikke gir. Den enkleste l\u00f8sningen virker \u00e5 lage sin egen nettleser, slik mange n\u00e5 gj\u00f8r gjennom Electron. Men mange ting var allerede skrevet i Free Pascal, inkludert i serversiden, s\u00e5 vi bestemte oss for \u00e5 lage klienten i samme spr\u00e5ket og ikke skape en dyrehage. Slik ble klienten bygget med Chromium om bord. Etter det begynte den \u00e5 vokse med forskjellige innpakninger.<\/p>\n<h3>Utgivelsen<\/h3>\n<p>\nEndelig valgte vi et navn for systemet. Vi vurderte stadig forskjellige alternativer mens prosessen med \u00e5 omforme den lokale versjonen til SaaS p\u00e5gikk. Siden vi f\u00f8rst og fremst planla \u00e5 g\u00e5 ut p\u00e5 det interne markedet, var det viktigste kriteriet i navneuttaket at det fantes et ledig, eller ikke altfor dyrt domene i \u201c.com\u201d-sonen. Noen funksjoner\/moduler var fortsatt ikke blitt portert fra den lokale versjonen til Veliam, men vi bestemte oss for at vi ville slippe med det n\u00e5v\u00e6rende funksjonaliteten, mens det gjenst\u00e5ende ville bli ferdigstilt som oppdateringer. Den aller f\u00f8rste versjonen hadde ikke HelpDesk, Veliam Connector, det var ikke mulig \u00e5 endre tersklene for varslingstriggere og mye mer. Vi kj\u00f8pte code sign certificate, signerte kunde- og serverdelene. Vi lagde en nettside for produktet, begynte prosedyrene for registrering av programvaren, varemerket osv. Generelt er vi klare til \u00e5 begynne. En lett eufori over det utf\u00f8rte arbeidet og at det muligens vil bli noen som bruker produktet ditt, selv om vi ikke hadde noen tvil om dette. Og s\u00e5 stopper alt. Partneren v\u00e5r sa at man ikke kunne g\u00e5 ut p\u00e5 markedet uten varsler til meldingsapper. Man kan klare seg uten mye annet, men ikke uten dette. Etter korte diskusjoner ble integrasjonen med Telegram lagt til, noe som passet oss. Av alle de n\u00e5v\u00e6rende meldingsappene, er dette den eneste som gir gratis tilgang til sitt API uten kompliserte godkjenningsprosedyrer. Den samme WhatsApp ber om \u00e5 kontakte leverand\u00f8rer som tar seg godt betalt for \u00e5 bruke tjenestene deres; alle foresp\u00f8rslene om \u00e5 gi tilgang uten mellomledd har blitt ignorert. Vel, og Viber\u2026 Jeg vet ikke hvem som bruker det n\u00e5, siden spam og reklame der er avskyelige. P\u00e5 slutten av desember, etter en rekke interne tester og tester blant venner, \u00e5pnet vi registreringen for alle og gjorde programvaren tilgjengelig for nedlasting. <\/p>\n<h3>Start av distribusjon<\/h3>\n<p>\nFra starten av forstod vi at vi trengte en liten str\u00f8m av brukere av systemet for at de skulle kunne teste produktet under virkelige forhold og gi tilbakemeldinger. Noen betalte innlegg p\u00e5 VK ga resultater. De f\u00f8rste registreringene kom inn. <\/p>\n<p>Det er viktig \u00e5 si at det er veldig utfordrende \u00e5 komme inn p\u00e5 markedet n\u00e5r selskapet ditt ikke har et kjent navn, samtidig som du tilbyr funksjonaliteten til agentfri overv\u00e5kning, der du m\u00e5 angi legitimasjonene for servere og arbeidsstasjoner. Mange mennesker blir skremt av dette. Vi forsto helt fra begynnelsen at det ville bli problemer, og vi var forberedt b\u00e5de teknisk og mentalt. Alle eksterne tilkoblinger, til tross for at RDP og SSH allerede er kryptert som standard, blir ogs\u00e5 kryptert av programvaren v\u00e5r etter AES-standarden. Alle data fra lokale servere overf\u00f8res til skyen via HTTPS. Legitimasjonene lagres i kryptert form. Krypteringsn\u00f8klene for alle under-systemer er individuelle for hver kunde. For eksterne tilkoblinger brukes ogs\u00e5 sesjonskrypteringsn\u00f8kler. <\/p>\n<p>Alt vi kan gj\u00f8re i denne situasjonen for \u00e5 gj\u00f8re folk mer komfortable, er \u00e5 v\u00e6re s\u00e5 \u00e5pne som mulig, jobbe med sikkerhet og ikke bli slitne av \u00e5 svare p\u00e5 folks bekymrende sp\u00f8rsm\u00e5l. <\/p>\n<p>For mange overveier bekvemmelighet og programvarefunksjonalitet frykten, og de registrerer seg. Noen personer har skrevet i publiserte innlegg p\u00e5 VK at denne programvaren ikke kan brukes fordi den samler inn passordene deres og generelt er et ukjent selskap. Det m\u00e5 sies at denne oppfatningen ikke bare var hos \u00e9n person. Mange forst\u00e5r ikke at n\u00e5r de installerer annen propriet\u00e6r programvare p\u00e5 serveren, som kj\u00f8rer som en tjeneste, har den ogs\u00e5 full tilgang til systemet, og de trenger ikke legitimasjoner for \u00e5 gj\u00f8re noe ulovlig (klart, man kan endre brukeren som tjenesten kj\u00f8res under, men det samme gjelder her, man kan angi hvilken som helst legitimasjon). Faktisk er folks bekymringer forst\u00e5elige. \u00c5 installere programvare p\u00e5 serveren er vanlig, men det \u00e5 angi en legitimasjon er litt skremmende og intimt, siden mange har ett passord for alle tjenester, og det er ofte lat som gj\u00f8r at de ikke lager en egen konto selv for testing. Men for \u00f8yeblikket finnes det et enormt antall tjenester som folk stoler p\u00e5 med sine legitimasjoner og mer. Og vi streber etter \u00e5 bli en av dem. <\/p>\n<p>Det har v\u00e6rt mange kommentarer av typen at vi har stj\u00e5let dette fra et sted. Dette overrasket oss litt. Vel, det er \u00e9n persons mening, men slike kommentarer har blitt sett i ulike publikasjoner fra forskjellige personer. Vi visste ikke i begynnelsen hvordan vi skulle reagere. Skulle vi bli triste over at noen mener at ingen i Russland kan gj\u00f8re noe selv, men bare kan stjele, eller skulle vi v\u00e6re glade for at de mener at slike ting bare kan stjeles. <\/p>\n<p>Vi har n\u00e5 fullf\u00f8rt prosessen med \u00e5 f\u00e5 EV Code Sign Certificate. For \u00e5 oppn\u00e5 dette m\u00e5 man gjennomg\u00e5 en rekke sjekker og sende inn et stort antall dokumenter om selskapet, hvorav noen m\u00e5 v\u00e6re bekreftet av en advokat. \u00c5 f\u00e5 EV Code Sign-sertifikatet under pandemien er for \u00f8vrig et tema for en egen artikkel. Prosessen tok en m\u00e5ned. Og det var en m\u00e5ned med kontinuerlige foresp\u00f8rsel om ytterligere dokumenter. Kanskje pandemien ikke har noe med det \u00e5 gj\u00f8re, og alle har hatt en s\u00e5 lang prosess? Del gjerne med oss.<\/p>\n<p>Noen sier at vi ikke vil bruke det fordi vi ikke har FSTEK-sertifikatet. Det er n\u00f8dvendig \u00e5 forklare at vi ikke kan f\u00e5 det og ikke vil det, fordi for \u00e5 f\u00e5 dette sertifikatet m\u00e5 krypteringen v\u00e6re i henhold til GOST, og vi planlegger \u00e5 distribuere programvare ikke bare i Russland og bruker AES.<\/p>\n<p>Alle disse kommentarene skapte en viss usikkerhet om at det var mulig \u00e5 promotere et produkt der man m\u00e5 registrere kontoer, uten \u00e5 v\u00e6re i offentligheten. Selv med tanke p\u00e5 at vi visste at det ville v\u00e6re de som var veldig negative til dette. Etter at antallet registreringer oversteg tusen, sluttet vi \u00e5 tenke p\u00e5 det. Spesielt etter at vi, i tillegg til negativiteten fra de som ikke engang hadde pr\u00f8vd produktet, begynte \u00e5 f\u00e5 sv\u00e6rt positive tilbakemeldinger. Det m\u00e5 sies at disse positive tilbakemeldingene er den st\u00f8rste motivasjonen for \u00e5 utvikle produktet.<\/p>\n<h3>Legge til funksjonalitet for ekstern tilgang for ansatte<\/h3>\n<p>\nEn av de vanlige foresp\u00f8rslene fra kunder er \u00abgj\u00f8r det slik at Ivan kan f\u00e5 tilgang til datamaskinen sin hjemme\u00bb. Vi satte opp VPN p\u00e5 Mikrotik og laget kontoer for brukerne. Men dette er virkelig et problem. Brukerne er ikke i stand til \u00e5 se gjennom instruksjoner og f\u00f8lge dem trinn for trinn for \u00e5 koble seg til VPN. Ulike versjoner av Windows. I \u00e9n Windows fungerer det bra, men i en annen kreves det en annen protokoll. Og generelt sett har dette alltid v\u00e6rt knyttet til omkonfigurering av nettverksutstyret som fungerte som VPN-server, og ikke alle ansatte har tilgang til den, noe som har v\u00e6rt upraktisk. <\/p>\n<p>Men har vi ikke allerede fjernkontakter til servere og nettverksutstyr? Hvorfor ikke dra nytte av eksisterende transport og lage et lite program som bare kan gis til brukeren for tilkobling? Jeg \u00f8nsket kun \u00e5 gj\u00f8re det slik at brukeren ikke m\u00e5tte skrive inn noe komplisert. Bare \u00e9n knapp \u00abtilkoble\u00bb. Men hvordan skal dette programmet forst\u00e5 hvor det skal koble seg til, hvis det bare har \u00e9n knapp? Det var en id\u00e9 om en nettbasert sammensetning av den n\u00f8dvendige applikasjonen p\u00e5 v\u00e5re servere. Systemadministratoren trykker p\u00e5 \u00ablast ned snarvei\u00bb-knappen, og vi f\u00e5r en kommando til skyen for \u00e5 bygge en individuell bin\u00e6rfil med innholdet for tilkobling til den n\u00f8dvendige serveren \/ datamaskinen via RDP. Generelt kunne dette v\u00e6rt gjort. Men det tar tid, administratoren m\u00e5tte vente til bin\u00e6rfilen ble kompilert, og deretter lastet ned. Man kunne selvf\u00f8lgelig bare ha lagt til en annen fil med konfigurasjonen, men det blir allerede to filer, og for enkelhetens skyld trenger brukeren bare \u00e9n. \u00c9n fil, \u00e9n knapp, og ingen installat\u00f8rer. Etter \u00e5 ha lest litt p\u00e5 nettet, kom jeg til den konklusjon at hvis man legger til noe informasjon p\u00e5 slutten av den kompilerte \u201c.exe\u201d-filen, s\u00e5 blir den ikke \u00f8delagt (n\u00e5r sant skal sies, nesten). Man kan til og med legge til \u00abKrig og Fred\u00bb, og den vil fungere som f\u00f8r. Det ville v\u00e6re en skam \u00e5 ikke utnytte dette. N\u00e5 kan man enkelt pakke ut applikasjonen, som for \u00f8vrig heter Veliam Connector, direkte i klienten, og ganske enkelt skrive til den den n\u00f8dvendige informasjonen for tilkobling. Og selve applikasjonen vet hva den skal gj\u00f8re med dette. Hvorfor skrev jeg \u00abnesten\u00bb i parentes litt lengre oppe? Fordi for denne bekvemmeligheten m\u00e5 man betale med \u00e5 miste applikasjonens digitale signatur. Men vi anser, p\u00e5 dette tidspunktet, at dette er en liten pris \u00e5 betale for slik bekvemmelighet. <\/p>\n<h3>Lisens for tredjepartsmoduler<\/h3>\n<p>\nSom jeg allerede har nevnt, etter at vi bestemte oss for \u00e5 gj\u00f8re produktet tilgjengelig for allmennheten og ikke bare for eget bruk, m\u00e5tte vi jobbe en del med \u00e5 finne erstatninger for enkelte moduler som ikke tillot oss \u00e5 inkludere dem i produktet v\u00e5rt. Men etter at vi hadde lansert, oppdaget vi tilfeldigvis noe sv\u00e6rt ubehagelig. I Veliam Server, som var installert hos kunden, var det en MariaDB-database. Og den har GPL-lisens. GPL-lisensen krever at programvaren skal ha \u00e5pen kildekode, og hvis v\u00e5r produkt inkluderer MariaDB som har denne lisensen, s\u00e5 m\u00e5 ogs\u00e5 produktet v\u00e5rt v\u00e6re under den lisensen. Heldigvis er hensikten med denne lisensen \u00e5 fremme \u00e5pen kildekode, og ikke \u00e5 straffe de som ved et uhell gj\u00f8r feil. Hvis rettighetshaver f\u00e5r en klage, m\u00e5 de varsle krenkeren skriftlig, og denne m\u00e5 innen 30 dager rette opp i krenkingen. Vi oppdaget feilen v\u00e5r selv og fikk ingen brev, og begynte straks \u00e5 vurdere alternativer for \u00e5 l\u00f8se problemet. L\u00f8sningen ble \u00e5penbar \u2013 vi gikk over til SQLite. Denne databasen har ingen lisensieringsbegrensninger. De fleste moderne nettlesere bruker SQLite, og mange andre programmer ogs\u00e5. Jeg fant informasjon p\u00e5 internett om at SQLite anses \u00e5 v\u00e6re den mest utbredte databasen i verden, akkurat p\u00e5 grunn av nettleserne, men jeg s\u00f8kte ikke etter bevis, s\u00e5 det kan v\u00e6re un\u00f8yaktig informasjon. Jeg begynte \u00e5 se p\u00e5 konsekvensene av \u00e5 bytte til SQLite.<\/p>\n<p>Dette blir en ikke-triviell oppgave n\u00e5r det er flere hundre servere installert hos kunder med MariaDB og data i den. Noen funksjoner i MariaDB er ikke tilgjengelige i SQLite. For eksempel brukte vi foresp\u00f8rselstyper som <\/p>\n<pre><code class=\"sql\">Select * FROM `table` WHERE `id`&gt;1000 FOR UPDATE\n<\/code><\/pre>\n<p>\nDenne konstruksjonen gj\u00f8r ikke bare en utvelgelse fra tabellen, men ogs\u00e5 l\u00e5ser dataene i de radene. Flere andre konstruksjoner m\u00e5tte ogs\u00e5 omskrives. Men i tillegg til at vi m\u00e5tte omskrive mange foresp\u00f8rslener, m\u00e5tte vi ogs\u00e5 finne p\u00e5 en mekanisme som under oppdateringen av Veliam Server hos kunden vil portere alle data til den nye databasen og fjerne den gamle. I tillegg fungerte ikke transaksjoner i SQLite, og det var et reelt problem. Men etter \u00e5 ha sett n\u00e6rmere p\u00e5 internett, fant jeg uten problemer ut at transaksjoner i SQLite kan aktiveres ved \u00e5 sende en enkel kommando ved tilkobling. <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nSom oppgaven er gjennomf\u00f8rt, og n\u00e5 fungerer den serverbaserte delen for kundene med SQLite. Vi har ikke merket noen endringer i systemets funksjon.<\/p>\n<h3>Ny HelpDesk<\/h3>\n<p>\nFra den interne versjonen til SaaS-versjonen m\u00e5tte HelpDesk-systemet porteres, men med noen endringer. F\u00f8rst og fremst \u00f8nsket vi \u00e5 integrere med kundens domene n\u00e5r det kommer til s\u00f8ml\u00f8s brukerautentisering i systemet. N\u00e5 kan brukeren, for \u00e5 f\u00e5 tilgang til HelpDesk og legge inn en foresp\u00f8rsel i systemet, ganske enkelt klikke p\u00e5 snarveien p\u00e5 skrivebordet, og nettleseren \u00e5pnes. Brukeren trenger ikke \u00e5 angi noen p\u00e5loggingsinformasjon. Modulen for Apache SSPI, som er en del av Veliam Server, autentiserer brukeren automatisk med domenekontoen. For \u00e5 legge inn en foresp\u00f8rsel i systemet n\u00e5r brukeren er utenfor bedriftsnettverket, klikker han p\u00e5 en knapp, og han f\u00e5r tilsendt en lenke p\u00e5 e-post, som lar ham logge inn i HelpDesk uten passord. Hvis en bruker deaktiveres eller slettes i domenet, vil ogs\u00e5 kontoen i HelpDesk slutte \u00e5 fungere. P\u00e5 den m\u00e5ten trenger systemadministratoren ikke \u00e5 overv\u00e5ke kontoene b\u00e5de i domenet og i HelpDesk. Hvis en ansatt har sluttet, deaktiverer han kontoen i domenet, og det er det; han f\u00e5r ikke tilgang til systemet verken fra bedriftsnettverket eller via lenken. For \u00e5 f\u00e5 denne integrasjonen til \u00e5 fungere, m\u00e5 systemadministratoren opprette en GPO som <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B2-%D0%B7%D0%BE%D0%BD%D1%83\/\">legger til det interne nettstedet i intranettsonen<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8F%D1%80%D0%BB%D1%8B%D0%BA%D0%B0-helpdesk-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8-gpo\/\">fordeler snarveien til alle brukere p\u00e5 skrivebordet<\/a><\/noindex>. <\/p>\n<p>Det andre vi anser som helt n\u00f8dvendig for HelpDesk-systemer, i alle fall for oss selv, er \u00e5 kunne koble til s\u00f8ker direkte fra foresp\u00f8rselen med ett klikk. Videre m\u00e5 tilkoblinger fungere selv om systemadministratoren befinner seg i et annet nettverk. Dette er obligatorisk for outsourcet support, og for interne systemadministratorer er det ogs\u00e5 ofte veldig n\u00f8dvendig. Det finnes allerede flere produkter som utmerket h\u00e5ndterer oppgaven med eksterne tilkoblinger. Og vi har bestemt oss for \u00e5 lage integrasjoner for dem. N\u00e5 har vi laget en integrasjon for VNC, og i fremtiden planlegger vi \u00e5 legge til Radmin og TeamViewer. Ved \u00e5 bruke v\u00e5r nettverksl\u00f8sning for eksterne tilkoblinger til infrastrukturen, har vi f\u00e5tt til at VNC kobler seg til eksterne arbeidsstasjoner bak NAT. Det samme vil skje med Radmin. N\u00e5, for \u00e5 koble til brukeren, trenger man bare \u00e5 trykke p\u00e5 knappen \"koble til s\u00f8ker\" i selve foresp\u00f8rselen. VNC-klienten \u00e5pner seg og kobler til s\u00f8keren uansett om man er p\u00e5 samme nettverk eller sitter hjemme i slippers. P\u00e5 forh\u00e5nd m\u00e5 systemadministratoren installere VNC Server p\u00e5 alle arbeidsstasjoner ved hjelp av GPO. <\/p>\n<p>N\u00e5 g\u00e5r vi selv over til det nye HelpDesk og bruker integrasjonen med domenet og VNC. Det er veldig praktisk for oss. N\u00e5 kan vi unng\u00e5 \u00e5 betale for TeamViewer, som vi har brukt i mer enn tre \u00e5r for \u00e5 drive v\u00e5r supporttjeneste.<\/p>\n<h3>Hva planlegger vi \u00e5 gj\u00f8re videre<\/h3>\n<p>\nDa vi lanserte produktet, hadde vi ingen betalte abonnementer, men begrenset det gratis abonnementet til 50 overv\u00e5kingsobjekter. Femti nettverksenheter og servere burde v\u00e6re tilstrekkelig for alle, tenkte vi. Og s\u00e5 begynte foresp\u00f8rslene om \u00e5 \u00f8ke grensen \u00e5 komme inn. \u00c5 si at vi var litt sjokkerte, ville v\u00e6re en underdrivelse. Var det virkelig selskaper med s\u00e5 mange servere som var interessert i programvaren v\u00e5r? Vi utvidet gratis grensen for dem som sendte slike foresp\u00f8rselen. Hos noen spurte vi, som svar p\u00e5 deres foresp\u00f8rsel, hvorfor de trengte s\u00e5 mange, hadde de virkelig s\u00e5 mange servere og nettverksutstyr? Det viste seg at systemadministratorene begynte \u00e5 bruke systemet p\u00e5 en m\u00e5te vi overhodet ikke hadde planlagt. Alt viste seg \u00e5 v\u00e6re enkelt \u2014 programvaren v\u00e5r begynte \u00e5 overv\u00e5ke ikke bare serverne, men ogs\u00e5 arbeidsstasjonene. Derav mange foresp\u00f8rselene om utvidelse av grensen. N\u00e5 har vi allerede innf\u00f8rt betalte abonnementer, og grensene kan utvides selvstendig. <\/p>\n<p>Servere jobber nesten alltid med SAN eller med lokale disker i RAID-array. Og vi hadde opprinnelig utviklet produktet for dem. SMART-overv\u00e5kning var ikke interessant for denne oppgaven. Men med tanke p\u00e5 at folk tilpasset programvaren for overv\u00e5kning av arbeidsstasjoner, dukket det opp foresp\u00f8rselene om \u00e5 implementere SMART-overv\u00e5kning. Snart vil vi implementere det. <\/p>\n<p>Med introduksjonen av Veliam Connector, ble det un\u00f8dvendig \u00e5 sette opp en VPN-server i det bedriftsnettverket, eller lage RDGW, eller bare forwarde porter til de n\u00f8dvendige maskinene for tilkobling via RDP. Mange bruker systemet v\u00e5rt bare for disse eksterne tilkoblingene. Veliam Connector er kun tilgjengelig for Windows, og noen bedriftsbrukere kobler seg fra sine hjemmeb\u00e6rbare datamaskiner som kj\u00f8rer MacOS til arbeidsstasjoner eller terminaler i bedriftsnettverket. Og det viser seg at systemadministratorene m\u00e5 gjenoppta sp\u00f8rsm\u00e5let om portforwarding eller VPN p\u00e5 grunn av noen f\u00e5 brukere. Derfor er vi n\u00e5 ferdige med \u00e5 lage en versjon av Veliam Connector for MacOS. Brukerne av sin foretrukne Apple-teknologi vil ogs\u00e5 f\u00e5 muligheten til \u00e5 koble seg til bedriftsinfrastrukturen med ett klikk.<\/p>\n<p>Det er veldig bra at n\u00e5r det er mange brukere av systemet, trenger man ikke \u00e5 tenke for mye p\u00e5 hva folk \u00f8nsker og hva som vil v\u00e6re mer praktisk. De skriver selv sine \u00f8nsker, s\u00e5 det er mange planer for utvikling i l\u00f8pet av den n\u00e6rmeste tiden.<\/p>\n<p>Samtidig planlegger vi n\u00e5 \u00e5 oversette systemet til engelsk og spre det internasjonalt. Vi vet ikke enn\u00e5 hvordan vi skal distribuere produktet utenfor v\u00e5rt land, og leter etter l\u00f8sninger. Kanskje det senere vil komme en egen artikkel om dette. Kanskje noen av de som har lest denne artikkelen kan gi nyttig retning, eller vet og kan hvordan dette gj\u00f8res og tilbyr sine tjenester. Vi vil sette pris p\u00e5 hjelpen.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/505678\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e \u0431\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441\u0442\u0430\u043b \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c, \u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u044b\u043b\u0430 \u043d\u0430 Linux. \u041f\u043e\u0447\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-85605","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-17T11:42:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-17T11:42:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Fra outsourcing til utvikling (Del 2) | ProHoster","description":"I den forrige artikkelen fortalte jeg om bakgrunnen for skapelsen av Veliam og beslutningen om distribusjonen gjennom SaaS-systemet.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.","og:url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-17T11:42:57+00:00","article:modified_time":"2020-06-17T11:42:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85605","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:33:42","updated":"2022-09-28 15:54:11","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/85605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=85605"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/85605\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=85605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=85605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=85605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}