Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Recenzije
  • Siguran način rada 1s. Otkrivanje softvera eksterne obrade

Siguran način rada 1s. Otkrivanje softvera eksterne obrade

Činjenica je da se pri korištenju klijent-server verzije 1C eksterna obrada / izvještaji otvaraju u sigurnom načinu rada, u kojem je korištenje privilegovanog načina rada zabranjeno. A privilegirani način rada se vrlo često koristi u tipičnim konfiguracijama: formiranje štampanih obrazaca, razne servisne provjere (registracija razmjena) itd. Kao rezultat toga, čak i korištenjem redovnog izvještaja na ACS-u bez obrasca (podrazumevano se koristi opći obrazac "ReportForm") i spremanja korisničkih postavki izvještaja (u odgovarajućem direktoriju), dobićete grešku o nedovoljno prava pristupa različitim konstantama i parametrima sesije koji se koriste u službene svrhe nakon reda SetPrivilegedMode(True) ;

"Ispravno" rešenje bi bilo povezivanje eksternih procesora i izveštaja preko BSP mehanizama "Dodatni izveštaji i obrada" uz onemogućavanje sigurnog režima ili dodavanje dozvola (po mom mišljenju, od BSP verzije 2.2.2.1). Ali ako je iz nekog razloga potrebno koristiti eksterne datoteke izvještaja/obrade, tada možete konfigurirati sigurnosni profil klastera koji se koristi kao sigurnosni profil sigurnog načina za određenu infobazu.

Odmah bih želio napomenuti da ova opcija nije poželjna, ali zbog različitih okolnosti može se koristiti u tako pojednostavljenom obliku. Na primjer, imam nekoliko baza podataka u različitim gradovima, zajedničku lokalnu mrežu sa strogo ograničenim pravima, zatvoren USB itd., negdje se koristi računovodstvo 2.0, a negdje 3.0, skoro sve izvještaje pravim koristeći ACS bez formulara, tako da se otvaraju u obje verzije. Održavanje svih ovih izvještaja za različite verzije i različite baze podataka je dugotrajan i neobećavajući zadatak, jer postoje planovi za prelazak na jednu konfiguraciju i bazu ...

Kreiramo profil.
U konzoli klastera kreirajte sigurnosni profil u kojem postavljamo zastavice "Može se koristiti kao sigurnosni profil sigurnog načina rada" i " pod "Puni pristup dozvoljen:" "u privilegirani način rada".

U mnogim slučajevima korištenja izvještaja i jednostavne obrade, ova metoda će biti primjenjiva. Za složenije situacije nema smisla opisivati ​​proces, jer. opisano je u dokumentaciji (mogućnost konfigurisanja sigurnosnih profila za određene eksterne datoteke navođenjem njihove hash sume, itd.).

P.S. Mislio sam da sigurnosni profili funkcionišu samo kada se koriste licence za platformu i server nivoa CORP, ali ova funkcionalnost radi i na platformi 1C:Enterprise 8.3 (prof možemo uslovno nazvati po analogiji sa standardnim konfiguracijama Basic/PROF/CORP)

Kada pokrenete program Download Documents kao običan korisnik, pojavljuje se greška "Siguran način rada je postavljen. Rad je zabranjen."

Ova poteškoća nastaje jer nema dovoljno prava za pokretanje eksterne obrade. Da biste postavili prava pristupa, idite na bazu podataka u 1C Enterprise modu u ime administrator i idi u sekciju Postavke korisnika i prava / Pristup profilima grupe, kliknite Za kreiranje grupe.

Unesite naziv grupe i označite uloge koje su dostupne korisnicima ove grupe -

  • Interaktivno otvaranje eksternih izvještaja i obrada
  • Korištenje dodatnih izvještaja i obrada

Kliknite Napišite i zatvorite


Vratite se na meni Korisnici i sa liste izaberite zaposlenog koji će raditi sa programom Document Upload. Kliknite na Dozvole. Na listi profila označite prethodno kreirani profil. Kliknite burn.


Kako bi korisnici započeli obradu, preporučuje se dodavanje Document Uploada na listu eksterne obrade. Da biste to učinili, meni Administracija / Štampanje obrazaca i obrada / Dodatni izvještaji i obrada kreirajte novu obradu. Navedite putanju do datoteke "DocumentUpload.epf" i dajte joj ime. Odredite lokaciju obrade u meniju, odakle korisnik može da je pokrene u budućnosti, na primer, izaberite meni Referentne knjige

Klikom na stavku Brzi pristup određujete koji od korisnika je dostupan za obradu:


Nakon podešavanja, kliknite Napišite i zatvorite. Za početak obrade, korisnici će samo trebati ponovo ući u bazu podataka i otvoriti je iz pristupnog menija (u primjeru - Imenici) i kliknuti Trči.


otvoren Meni - Sve funkcije... i pronađite opciju "Korišćenje sigurnosnih profila" na listi.


Dovoljno je poništiti opciju "Sigurnosni profili se koriste".


Nakon toga, program će se uspješno pokrenuti.

Izlaskom platforme 8.3.9.2033 pojavio se novi mehanizam "Zaštita od opasnih radnji".

Zahvaljujući ovoj inovaciji, 1C se sada počeo zaklinjati na otvaranje obrade (i ne samo):

Sigurnosno upozorenje

Otvara "My External Processing" iz datoteke "My_External_Processing.epf"

Preporučljivo je obratiti pažnju na izvor iz kojeg je ova datoteka dobijena. Ako nema dogovora sa izvorom o razvoju dodatnih modula, ili postoje sumnje u sadržaj datoteke, onda se ne preporučuje otvaranje, jer to može oštetiti računar i podatke.

Dozvoliti otvaranje ovog fajla?

Tako se 1C odlučio boriti protiv zlonamjernog koda!

Odakle će doći ovaj "zlonamjerni kod" u preduzeću još uvijek je misterija)

Potencijalno opasne aktivnosti uključuju:

  • Učitavanje eksternog izvještaja, obrada ili proširenje konfiguracije.
  • Učitavanje ili ažuriranje konfiguracije/proširenja.
  • Pristup iz vanjskog izvještaja/obrade ili proširenja sljedećim funkcijama:
  • Izvršavanje naredbe operativnog sistema.
  • Upravljanje korisnicima (snimanje ili brisanje informacija o korisniku baze podataka).
  • Pozivanje metode Connect() menadžera eksterne obrade (izvještaja).
  • Pozivanje metode ConfigurationExtension.Write().
  • Rad sa COM objektima.

Kako se ovo "čudo" može isključiti?

Da biste to učinili, morate pokrenuti 1C Enterprise u načinu konfiguratora.
Odaberite meni "Administracija" - "Korisnici".
U otvorenom prozoru naših korisnika potrebno je otvoriti prozor korisničkih postavki i na kartici "Općenito" ukloniti pticu "Zaštita od opasnih radnji"

Postoje i drugi načini da ovo isključite:

Implementirana je mogućnost specificiranja liste infobaza, pri radu sa kojima će zaštita od opasnih radnji biti onemogućena.
Ovu funkciju kontroliše parametar DisableUnsafeActionProtection u datoteci conf.cfg, koji vam omogućava da onemogućite mehanizam zaštite od opasnih radnji za sve korisnike određenih infobaza čiji nizovi veze odgovaraju maskama navedenim u parametru DisableUnsafeActionProtection.

U ovom parametru možete odrediti nekoliko maski razdvojenih simbolom ";", na primjer:

DisableUnsafeActionProtection=test_.*;stage_.*;

Osim toga, zaštita od opasnih radnji korisnika može se programski onemogućiti, za što su dostupni sljedeći parametri i svojstva:

  • Parametar ProtectionFromDangerousActions metode Connect() vanjskih upravitelja obrade (izvještaja)
  • Svojstvo SafeActionProtection objekta ConfigurationExtension prije pozivanja metode Write() ovog objekta.

Provjera potrebe za zaštitom od opasnih radnji provodi se sljedećim redoslijedom:

1. Ako je polje za potvrdu "Zaštita od opasnih radnji" poništeno za trenutnog korisnika, tada se zaštita smatra isključenom.

2. Ako niz povezivanja baze podataka odgovara jednom od šablona navedenih u parametru DisableUnsafeActionProtection datoteke conf.cfg, tada se zaštita smatra onemogućenom.

3. Ako je zaštita eksplicitno onemogućena korištenjem postavke Zaštita od opasnih radnji vanjske obrade ili izvještaja.

4. Ako je zaštita eksplicitno onemogućena korištenjem svojstva proširenja ProtectionFromDangerousActions.

Ispis (Ctrl+P)

Objekti konfiguracije

Ako je potrebno koristiti "nepouzdani" programski kod na serveru: eksternu obradu ili programski kod koji je korisnik unio za korištenje u metodama Execute() i Calculate(), možete koristiti siguran način rada.

U sigurnom načinu rada:

  • Privilegirani način rada otkazan.
  • Prelazak u privilegirani način rada ignorisano.
  • Zabranjeno operacije koje dovode do upotrebe eksternih alata u odnosu na platformu 1C:Enterprise (uključujući neblokirajuće analoge gore navedenih metoda):
  • COM mehanizmi:
    • COMObject();
    • GetCOMObject();
    • WrapperHTMLDocument.GetCOMObject().
  • Učitavanje vanjskih komponenti:
    • LoadExternalComponent();
    • ConnectExternalComponent().
  • Pristup sistemu datoteka:
    • valueToFile();
    • CopyFile();
    • MergeFiles();
    • MoveFile();
    • SplitFile();
    • CreateDirectory();
    • DeleteFiles();
    • New File;
    • New xBase;
    • WriteHTML.OpenFile();
    • ČitanjeHTML.OpenFile();
    • ČitanjeXML.OpenFile();
    • WriteXML.OpenFile();
    • ReadFastInfoset.OpenFile();
    • WriteFastInfoset.OpenFile();
    • CanonicalWriterXML.OpenFile();
    • XSL Transformation.LoadFromFile();
    • WriteZipFile.Open();
    • ReadZipFile.Open();
    • NewTextReader() ako je prvi argument string;
    • ReadText.Open() ako je prvi parametar string;
    • New TextWrite() ako je prvi parametar string;
    • WriteText.Open() ako je prvi parametar string;
    • Novi ExtractText();
    • promjena svojstva ExtractText.FileName;
    • ExtractText.Write();
    • Nova slika() ako je prvi parametar string;
    • Picture.Record();
    • Novi binarni podaci();
    • BinarniData.Napiši();
    • New DataWrite() ako je prvi parametar string;
    • Novi DataRead(), prvi parametar je string;
    • sve metode objekta FileStreamManager;
    • Novi FileStream();
    • FormattedDocument.Write();
    • GeographicScheme.Read();
    • GeographicScheme.Write();
    • GeographicScheme.Print();
    • SpreadsheetDocument.Read();
    • SpreadsheetDocument.Write();
    • SpreadsheetDocument.Print(); GraphicScheme.Read();
    • GraphicScheme.Write();
    • GraphicScheme.Print();
    • TextDocument.Read();
    • TextDocument.Write().
  • Pristup Internetu:
    • Nova internet konekcija,
    • Nova InternetMail,
    • Novi Internet proxy,
    • Nova HTTP veza,
    • Nova FTP veza.

PAŽNJA! Izbacuje izuzetak prilikom izvođenja zabranjenih operacija u vrijeme izvođenja.

Bilješka. Eksterni izvještaji i obrada, otvoreni pomoću menija Datoteka - Otvori, izvode se u sigurnom načinu rada ako korisnik nema administrativna prava pristupa.

Broj aktivacija sigurnog načina rada mora odgovarati broju isključenja. Međutim, ako je siguran način rada bio omogućen (jednom ili više) unutar procedure ili funkcije, ali nije onemogućen, sistem će se automatski isključiti onoliko puta koliko je bilo nedovršenih aktivacija u proceduri ili funkciji koja je napuštena.

Ako u proceduri ili funkciji poziva metode Postavi SafeMode (False) učinio više od poziva metoda PostaviSafeMode(True), tada će biti izbačen izuzetak.

Programska instalacija sigurnog načina rada može biti potrebna kada programer konfiguracije pretpostavlja korištenje programskog koda treće strane (u odnosu na konfiguraciju), čiju pouzdanost programer ne može garantirati. Primjer takvog koda je izvršavanje metoda Execute() i Calculate() u slučajevima kada je izvršni kod primljen iz vanjskog svijeta. U ovom slučaju, dobra je praksa postaviti siguran način rada prije izvršavanja ovih metoda:

// Programski kod se generira da bi se izvršio // Moguće je da je kod učitan iz vanjskih izvora // ili da se unese ručno ExecutableCode = GetExecutableCodeFrom OutsideWorld(); // Omogućavanje sigurnog načina rada SetSafeMode(True); // Izvršavanje potencijalno opasnog koda Execute(ExecutableCode); // Onemogući siguran način rada SetSafeMode(False);

U nekim slučajevima, postavke sigurnog režima mogu biti u sukobu sa postavkama privilegovanog režima. Primjer takvog sukoba je postavljanje dokumenta koji ima svojstvo Privilegirani način knjiženja postavljeno iz 1C koda koji radi u sigurnom načinu rada. U ovom slučaju, privilegirani način rada je onemogućen, a pokušaji njegovog omogućavanja se zanemaruju. Kao rezultat toga, kod 1C:Enterprise koji se "oslanja" na omogućeni privilegirani način rada "sudara" sa njegovim odsustvom, što dovodi do grešaka sa neočiglednim razlozima za pojavu. Kako bi spriječio takvu situaciju, 1C:Enterprise automatski onemogućuje siguran način rada za rukovaoce događajima koji su dostupni u objektnom modulu ili modulu menadžera, pod uvjetom da se izvršni kod na jeziku 1C:Enterprise ne nalazi u proširenju konfiguracije. Takvi rukovaoci su označeni u pomoćniku za sintaksu na poseban način.

Također pruža opciju za onemogućavanje sigurnog načina rada iz prvog jezika (ako kod iz kojeg se pokušava onemogućiti nije u konfiguracijskoj ekstenziji). Metoda za onemogućavanje sigurnog načina rada PostaviDisableSafeMode(). Pomoću metode možete provjeriti da li je siguran način rada trenutno onemogućen (automatski ili pozivanjem metode). GetDisableSafeMode().

Unutar jedne 1C:1 metode ne može postojati više od jednog nivoa ugniježđenja postavljanja sigurnog načina rada (pozivanjem metode SetSafeMode()) i postavljanja onemogućavanja sigurnog načina rada (automatski u vrijeme izvršavanja rukovatelja događaja metapodataka ili pozivanjem metode). SetSafeModeDisable() metoda). Prilikom pokušaja povećanja ugniježđenja, izbacuje se izuzetak:

// Ispravna procedura upotrebe ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeMode(False); SetSafeModeDisable(False); EndProcedure // Netočna upotreba Procedure ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeModeDisable(False); // Izuzetak EndProcedure ProcedureProcedureName() SetSafeMode(True); SetSafeModeDisable(False); // Izuzetak EndProcedure

Koristeći primjer Trade Management 11.3, razmotrimo jednostavan proces povezivanja eksterne forme za štampanje. Takođe ćemo razmotriti karakteristike novog sigurnosnog sistema.

Brzi prolaz

Preliminarne radnje

Za početak, trebalo bi omogućiti funkcionalnost ili provjerite dostupnost

1. Pod punim pravima idemo na infobazu.

2. Idite na meni "NSI i administracija" / Blok "Administracija" / Komanda "Štampanje obrazaca, izvještaja i obrada".

Dodatak

U otvorenom odjeljku:

Dodajte obradu pomoću dugmeta "Kreiraj" (ovo je važno) ili "Ažuriraj!" postojeći:

  • Odaberite ga na listi (ako nije odabrano ili prazno, komanda neće raditi, ali neće ništa reći).
  • Kliknite na dugme "Učitaj iz datoteke".

Nakon pojavljivanja za 1C u vanjskoj obradi, sigurnosne provjere su se pojavile u novim konfiguracijama.

Trebalo bi da instalirate samo obradu kreiranu samostalno ili primljenu putem poznatih kanala komunikacije (ne putem pošte, samo sa sajta sa važećim sertifikatom, ili obezbeđenu od strane zaposlenih u programeru, koje je on potvrdio telefonom).

Ako je sve u obradi napisano od strane programera, tada će se postaviti "Placement" - objekti u koje će biti uključena obrada, pojavit će se naredba(e).
Za rad će biti dovoljno kliknuti na "Snimi i zatvori".

Ispitivanje

Odmah nakon toga, u zavisnosti od vrste obrade:

  • Obrazac za štampanje postaje dostupan kada otvorite dokument ili sa njegove liste (za već otvoren kada se ponovo otvori) klikom na dugme "Štampaj".
  • Tretmani su dostupni u odjeljcima "Dodatni tretmani" u svakom podsistemu
  • Obrada popunjavanja pomoću dugmeta "Popuni" liste ili glavnog komandnog panela obrasca objekta.

Za gornju obradu, pokretanje će izgledati ovako:

Ako je dokument nov, treba ga snimiti, vanjski mehanizam obrade će vas upozoriti na ovo:

Dalje ponašanje ovisi o inherentnoj funkcionalnosti: moguće je otvoriti obrazac ili jednostavna obrada podataka.

Sigurnosna upozorenja u 1C

U novim izdanjima platforme i konfiguracijama pojačana je zaštita od pokretanja zlonamjernih programa.

Obrada može uzrokovati da se Excel počne učitavati, u kom slučaju će vas novi sigurnosni podsistem također upozoriti:

U ovom slučaju, kod rukovaoca je prekinut.

Ako kliknete na "Da", sistem će od vas tražiti da ponovo pozovete naredbu:

Korisnik baze podataka može onemogućiti zaštitu od opasnih radnji putem konfiguratora:

Iz moda "Enterprise" ovo se ne može promijeniti, možda je to urađeno namjerno, može se pojaviti nakon ažuriranja.

Također treba imati na umu da ako obrada koristi Excel, ona mora početi u nesigurnom načinu rada (to je bio slučaj prije uvođenja novog sistema, ovo radi paralelno):

"Nije moguće učitati MS EXCEL!!!" „Sigurni način rada je postavljen. Operacija je zabranjena"

U vanjskoj obradi to izgleda ovako:

Programer bi to trebao postaviti na "False" u opisu interne obrade, tada će sve biti u redu:

ExternalProcessingDetails() ExportRegistrationParameters = Nova struktura; RegistrationParameters.Insert("SafeMode", False);

Prilikom ažuriranja konfiguracije pojavio se i tekst upozorenja o izvoru iz kojeg je konfiguracijski fajl preuzet:

Top Related Articles