Mod sigur activat pentru 1s 8. Mod sigur stabilit

În versiunea 8.3.9.2170, securitatea a fost mărită - acum sistemul solicită confirmarea pentru a lansa procesarea externă, extensiile și așa mai departe. Se pare că după troian:

A fost implementat un mecanism de protecție împotriva acțiunilor periculoase. Atunci când se ia o acțiune potențial periculoasă, sistemul emite un avertisment care conține informații despre acțiunea efectuată și potențialul pericol al acestei acțiuni. Activitățile potențial periculoase includ:

  • Încărcarea unui raport extern, procesare sau o extensie de configurare.
  • Încărcați sau actualizați configurația / extensia.
  • Acces dintr-un raport / prelucrare sau extensie externă la următoarele funcții:
  • Executarea comenzii sistemului de operare.
  • Gestionarea utilizatorilor.

Utilizatorul are capacitatea de a permite sau refuza o acțiune potențial periculoasă. Dacă este permisă o acțiune, în unele cazuri poate fi necesară reexecutarea acțiunii permise.

Mesajul arată astfel:

Avertizare de securitate

Deschide "" din fișierul "C: \\ ....... epf". Este recomandat să acordați atenție sursei din care a fost obținut acest fișier. Dacă nu există un acord cu sursa cu privire la dezvoltarea de module suplimentare sau există îndoieli cu privire la conținutul fișierului, atunci nu este recomandat să îl deschideți, deoarece acest lucru poate afecta computerul și datele. Permiteți deschiderea acestui fișier. EI BINE, NU

Decizie:

În configurator, în proprietățile utilizatorului IB, debifați caseta „Protecție împotriva acțiunilor periculoase”.

Din documentație:Dezactivarea mecanismului de protecție împotriva acțiunilor periculoase

În unele cazuri, este necesar să dezactivați mecanismul de protecție împotriva acțiunilor periculoase. Pentru a face acest lucru, puteți utiliza următoarele caracteristici:

1. Dezactivați caseta de selectare Protecție împotriva acțiunilor periculoase (Protecție împotriva acțiunilor periculoase) din proprietățile unui anumit utilizator. Aceasta va dezactiva protecția pentru acel utilizator.

2. Utilizați parametrul ProtectionOfDangerousActions al managerilor Connect () de procesare externă (raport). În acest caz, este posibilă încărcarea procesării externe (raportare) fără cereri de utilizator.

3. Utilizați proprietatea ProtectionOnDangerousActions a obiectului ConfigurationExtension înainte de a apela metoda Write () a acestui obiect.

4. Utilizați parametrul DisableUnsafeActionProtection al fișierului conf.cfg. În acest caz, mecanismul de protecție împotriva acțiunilor periculoase va fi dezactivat pentru toți utilizatorii infobazei ale căror șiruri de conexiuni satisfac măștile specificate.

Dezactivarea protecției împotriva acțiunilor periculoase se efectuează conform următoarelor reguli (în ordinea specificată):

1. Protecția este considerată dezactivată dacă caseta de selectare Protecție împotriva acțiunilor periculoase este debifată pentru utilizatorul actual.

2. Protecția este considerată dezactivată dacă șirul de conexiune infobase se potrivește cu unul dintre șabloanele specificate în parametrul DisableUnsafeActionProtection din fișierul conf.cfg.

3. Dacă o procesare externă (raport) este conectată cu protecție dezactivată explicit folosind parametrul AntiDangerousActions.

4. Dacă protecția este dezactivată în mod explicit utilizând proprietatea extensiei AntiDangerousActions.

Faptul este că, atunci când se utilizează versiunea client-server a operației 1C, procesarea / rapoartele externe sunt deschise în modul sigur, în care utilizarea modului privilegiat este interzisă. Iar modul privilegiat este folosit foarte des în configurații tipice: formarea de formulare tipărite, diferite verificări de servicii (înregistrarea schimburilor) etc. Ca rezultat, chiar și folosind un raport regulat pe ACS fără un formular (în mod implicit, se folosește formularul general „Raport formular”) și salvând setările raportului personalizat (la referința corespunzătoare), veți primi o eroare cu privire la drepturile de acces insuficiente la diferite constante și parametrii de sesiune utilizați în scopuri de serviciu după rând SetPrivilegedMode (True);

Soluția „corectă” ar fi conectarea procesoarelor și rapoartelor externe prin mecanismele BSP „Rapoarte și procesare suplimentare” cu dezactivarea modului sigur sau adăugarea de permisiuni (în opinia mea, din versiunea BSP 2.2.2.1). Dar dacă, dintr-un anumit motiv, este necesar să utilizați fișiere de raportare / procesare externe, atunci puteți configura un profil de securitate cluster care este utilizat ca profil de securitate în mod sigur pentru o anumită bază de date.

Aș dori să observ imediat că această opțiune nu este de preferat, dar din diverse circumstanțe poate fi utilizată într-o formă atât de simplificată. De exemplu, am mai multe baze în diferite orașe, un local comun se așează cu drepturi strict limitate, USB închis etc., undeva folosesc Contabilitatea 2.0 și undeva 3.0, fac aproape toate rapoartele folosind ACS fără formulare, astfel încât s-au deschis în ambele versiuni. Servirea tuturor acestor rapoarte pentru diferite versiuni și baze de date diferite este o afacere laborioasă și lipsită de promisiuni, de atunci există planuri de a trece la o singură configurație și bază ...

Creați un profil.
În consola cluster, creați un profil de securitate în care setăm semnalizatoare „Poate fi folosit ca profil de securitate în modul sigur” și „sub” Acces complet permis: ” "la modul privilegiat".

În multe cazuri de utilizare a rapoartelor și procesare simplă, această metodă va fi aplicabilă. Pentru situații mai complexe, nu are sens să descriem procesul, deoarece este menționat în documentație (posibilitatea de a personaliza profilurile de securitate pentru fișiere externe specifice prin specificarea hash-ului său etc.).

P.S. Am crezut că profilurile de securitate funcționează numai atunci când se utilizează licențe pentru platforma și serverul de nivel CORP, dar această funcționalitate este îndeplinită și pe platforma 1C: Enterprise 8.3 (în mod condițional, puteți apela PROF prin analogie cu configurațiile standard Basic / PROF / CORP)

Când porniți programul Încărcarea documentelor ca utilizator obișnuit, eroarea „Mod sigur este setată. Funcționarea este interzisă”.

Această complexitate apare deoarece nu sunt suficiente drepturi pentru a începe procesarea externă. Pentru a configura drepturile de acces, accesați baza de date în modul 1C Enterprise în numele Administratorși mergeți la secțiune Setări utilizator și drepturi / profiluri de grupuri de acces,clic Pentru a crea un grup.

Introduceți numele grupului și bifați casetele disponibile utilizatorilor acestui grup de roluri -

  • Deschiderea interactivă și procesarea rapoartelor externe
  • Utilizarea rapoartelor și procesării suplimentare

Clic Arde și închide


Reveniți la meniul Utilizatori și selectați din listă angajatul care va lucra cu programul Descărcare documente. Faceți clic pe Permisiuni. În lista de profiluri, marcați profilul pe care l-ați creat mai devreme. Clic A scrie.


Este recomandat să adăugați Document Upload la lista de procesoare externe, astfel încât utilizatorii să poată începe procesarea. Pentru aceasta în meniu Administrare / Tipărirea formularelor și procesarea / Rapoarte și procesare suplimentare creați un nou tratament. Specificați calea către fișierul „DocumentLoot.epf” și dați-i un nume. Specificați locația procesării în meniu de unde utilizatorul o poate lansa în viitor, de exemplu, selectați meniul Directoare

Dând clic pe elementul Acces rapid, indicați care dintre utilizatori are acces la procesare:


După setare, faceți clic pe Arde și închide... Pentru a începe procesarea, utilizatorii vor trebui doar să reintroducă baza de date și să o deschidă din meniul de acces (în exemplu, Referințe) și să facă clic pe A executa.


Deschide Meniu - Toate funcțiile ..... și găsiți opțiunea Profiluri de securitate în utilizare în listă.


Este suficient să debifați opțiunea „Se utilizează profilurile de securitate”.


După aceea, programul va începe cu succes.

Procesarea externă este deschisă programatic utilizând obiectul context global ExternalProcessing, care are tipul ExternalProcessingManager... Pentru fiecare mod de operare al platformei 1C (modul de aplicație normal și modul de aplicație gestionat), sunt utilizate diferite metode de obiect pentru a lucra cu procesarea externă.

Porniți procesarea externă în modul normal de aplicație

Într-o aplicație tipică, trebuie să utilizați metoda Create () a obiectului ExternalProcessing, căruia i se transmite numele complet al fișierului de procesare extern. Metoda returnează un obiect de tip Prelucrare externă, acest obiect este deschiderea procesării externe. Dacă trebuie să deschideți un formular de procesare extern, atunci apelați metoda GetForm () pe obiectul rezultat, care va returna formularul principal, apoi apelați metoda Open () pentru a-l deschide.


Processing \u003d ExternalProcessing.Create (FullFileName);
Processing.GetForm (). Open ();

În procesoarele externe, formularul principal trebuie să fie întotdeauna un formular obișnuit, iar formularul gestionat trebuie să fie întotdeauna unul suplimentar, altfel metoda GetForm () nu va funcționa în modul normal de aplicație.

Rularea procesării externe în modul aplicație gestionată

În modul formulare gestionate, apare o divizare a algoritmului în funcție de contextul de execuție. Pe client, obținem date binare după numele complet al fișierului de procesare extern. Transferăm datele binare primite pe server și le punem în stocare temporară. Apoi, trebuie să apelați metoda Connect () a obiectului ExternalProcessing, către care este transmisă adresa către stocarea temporară. Metoda returnează numele procesării externe conectate. Returnăm numele procesării externe către client, formăm o cale de șir către formularul de procesare și folosim metoda OpenForm () pentru a deschide formularul de procesare extern.

& Pe server
Funcția GetExternalProcessingName (BinaryData)
AddressToTemporaryStorage \u003d PutToTemporalStore (BinaryData);
Returnează ExternalProcessing.Connect (AddressInTemporaryStorage);
EndFunction

& Pentru client
FullFileName \u003d ""; // Numele complet al fișierului de procesare extern.
FileData \u003d New BinaryData (FullFileName);
ExternalProcessingName \u003d GetExternalProcessingName (FileData);
OpenForm ("ExternalProcessing." + Numele ExternalProcessing + ".Form");

Mod sigur pentru tratamente externe

Metodele Create () și Connect () ale obiectului ExternalProcessing au un parametru de intrare SafeMode - un semn al conectării procesării externe în modul sigur. Dacă parametrul nu este specificat, conexiunea se va face în modul sigur.
Modul sigur este conceput pentru a proteja sistemul de executarea codului de program „de încredere” pe server. Pericolul potențial este prelucrarea externă sau codul de program introdus de utilizator pentru utilizarea în metodele Execute () și Calculate ().
Modul sigur impune următoarele restricții:
  • modul privilegiat este anulat dacă a fost setat;
  • încercările de a intra în modul privilegiat sunt ignorate;
  • operațiile cu obiecte COM sunt interzise;
  • încărcarea și conectarea componentelor externe este interzisă;
  • accesul la sistemul de fișiere este refuzat (cu excepția fișierelor temporare);
  • accesul la internet este refuzat.
Procesarea deschisă interactiv nu este executată în modul sigur, de aceea se recomandă implementarea unui mecanism pentru deschiderea procesării externe în modul sigur, precum și la nivelul drepturilor pentru a împiedica utilizatorul să deschidă interactiv procesarea externă.
Pentru a interzice deschiderea interactivă a procesării, în toate rolurile atribuite utilizatorului, este necesar să eliminați dreptul „Procesare externă interactiv deschisă” (a se vedea Figura 1).
Figura 1. Drepturile de deschidere interactivă a procesărilor / rapoartelor externe
Procesoarele externe deschise interactiv nu au niciun efect asupra obiectului ExternalProcessing.

Deschiderea rapoartelor externe programatic, similar cu procesoarele externe, ar trebui să utilizați numai obiectul context global Rapoarte externe, care are tipul ExternalReportManager.

Odată cu lansarea platformei 8.3.9.2033, a apărut un nou mecanism „Protecția împotriva acțiunilor periculoase”.

Datorită acestei inovații, 1C -ka a început acum să jure la deschiderea procesării (și nu numai):

Avertizare de securitate

Deschide „Procesarea mea externă” din fișierul „Procesarea_Mea_Externă.epf”

Este recomandat să acordați atenție sursei din care este obținut acest fișier. Dacă nu există un acord cu sursa cu privire la dezvoltarea de module suplimentare sau există îndoieli cu privire la conținutul fișierului, atunci nu este recomandat să îl deschideți, deoarece acest lucru poate afecta computerul și datele.

Permiteți deschiderea acestui fișier?

Așadar, 1C a decis să lupte împotriva codului rău intenționat!

De unde va veni acest „cod rău intenționat” la întreprindere este încă un mister)

Acțiunile potențial periculoase au inclus:

  • Încărcarea unui raport extern, procesare sau o extensie de configurare.
  • Încărcați sau actualizați configurația / extensia.
  • Acces dintr-un raport / prelucrare sau extensie externă la următoarele funcții:
  • Executarea comenzii sistemului de operare.
  • Gestionarea utilizatorilor (înregistrarea sau ștergerea informațiilor despre un utilizator infobase).
  • Apelarea metodei Connect () a managerului de procesoare externe (rapoarte).
  • Apelarea metodei ConfigurationExtension.Write ().
  • Lucrul cu obiecte COM.

Cum poate fi dezactivat acest „miracol”?

Pentru a face acest lucru, trebuie să rulați 1C Enterprise în modul configurator.
Selectați meniul „Administrare” - „Utilizatori”.
În fereastra deschisă a utilizatorilor noștri, trebuie să deschideți fereastra de setări a utilizatorului și în fila „Basic” eliminați pasărea „Protecția împotriva acțiunilor periculoase”

Există și alte modalități de a dezactiva acest lucru:

A fost implementată capacitatea de a specifica o listă de baze de date, atunci când se lucrează cu care protecția împotriva acțiunilor periculoase va fi dezactivată.
Această funcție este controlată de parametrul DisableUnsafeActionProtection din fișierul conf.cfg, care vă permite să dezactivați mecanismul de protecție împotriva acțiunilor periculoase pentru toți utilizatorii anumitor baze de date ale căror șiruri de conexiuni satisfac măștile specificate în parametrul DisableUnsafeActionProtection.

În acest parametru, puteți specifica mai multe măști separate prin simbolul ";", de exemplu:

DisableUnsafeActionProtection \u003d test _. *; Etapa _. *;

În plus, protecția împotriva acțiunilor periculoase ale utilizatorilor poate fi dezactivată programatic, pentru care există următorii parametri și proprietăți:

  • Protecția parametrilor împotriva acțiunilor periculoase ale metodelor Connect () manageri de procesare externă (rapoarte)
  • Proprietatea HazardousActionProtection a obiectuluiConfigurationExtension înainte de a apela metoda Write () a acestui obiect.

Verificarea necesității de a utiliza protecție împotriva acțiunilor periculoase se efectuează în următoarea ordine:

1. Dacă caseta de selectare „Protecție împotriva acțiunilor periculoase” este debifată pentru utilizatorul curent, atunci protecția este considerată dezactivată.

2. Dacă șirul de conexiune infobase se potrivește cu unul dintre șabloanele specificate în parametrul DisableUnsafeActionProtection al fișierului conf.cfg, atunci protecția este considerată dezactivată.

3. Dacă protecția este dezactivată în mod explicit utilizând parametrul AntiDangerousActions al unei prelucrări sau rapoarte externe.

4. Dacă protecția este dezactivată în mod explicit utilizând proprietatea extensiei AntiDangerousActions.

Imparte asta