1 초 동안 안전 모드 활성화 8. 안전 모드 설정

버전 8.3.9.2170에서는 보안이 향상되었습니다. 이제 시스템은 외부 처리, 확장 등을 시작하기 위해 확인을 요청합니다. 트로이 목마 이후 :

위험한 행동에 대한 보호 메커니즘이 구현되었습니다. 잠재적으로 위험한 작업을 수행 할 때 시스템은 수행중인 작업과이 작업의 잠재적 위험에 대한 정보가 포함 된 경고를 발행합니다. 잠재적으로 위험한 활동은 다음과 같습니다.

  • 외부 보고서로드, 구성 처리 또는 확장.
  • 구성 / 확장을로드하거나 업데이트합니다.
  • 외부 보고서 / 처리 또는 다음 기능에 대한 확장에서 액세스 :
  • 운영 체제 명령 실행.
  • 사용자 관리.

사용자는 잠재적으로 위험한 작업을 허용하거나 거부 할 수 있습니다. 작업이 허용되는 경우 허용 된 작업을 다시 실행해야하는 경우가 있습니다.

메시지는 다음과 같습니다.

보안 경고

"C : \\ ....... epf"파일에서 ""를 엽니 다. 그것을 얻은 출처에주의를 기울이는 것이 좋습니다 이 파일... 추가 모듈 개발에 대한 소스와 동의하지 않거나 파일 내용에 의문이있는 경우 컴퓨터와 데이터에 해를 끼칠 수 있으므로 파일을 열지 않는 것이 좋습니다. 이 파일을 열 수 있습니다. 음 ... 아니

결정:

구성 기의 IB 사용자 속성에서 "위험한 작업에 대한 보호"상자를 선택 취소합니다.

문서에서 :위험한 행동에 대한 보호 메커니즘 비활성화

어떤 경우에는 위험한 행동에 대한 보호 메커니즘을 비활성화해야합니다. 이를 위해 다음 기능을 사용할 수 있습니다.

1. 특정 사용자의 속성에서 위험한 작업에 대한 보호 (위험한 작업에 대한 보호) 확인란을 비활성화합니다. 그러면 해당 사용자에 대한 보호가 비활성화됩니다.

2. Connect () 외부 처리 (보고서) 관리자의 ProtectionOfDangerousActions 매개 변수를 사용합니다. 이 경우 사용자 요청없이 외부 처리 (리포트)를로드 할 수 있습니다.

3.이 개체의 Write () 메서드를 호출하기 전에 ConfigurationExtension 개체의 ProtectionOnDangerousActions 속성을 사용합니다.

4. conf.cfg 파일의 DisableUnsafeActionProtection 매개 변수를 사용합니다. 이 경우 연결 문자열이 지정된 마스크를 충족하는 모든 정보베이스 사용자에 대해 위험한 작업에 대한 보호 메커니즘이 비활성화됩니다.

위험한 작업에 대한 보호 비활성화는 다음 규칙에 따라 (지정된 순서로) 수행됩니다.

1. 현재 사용자에 대해 위험한 작업에 대한 보호 확인란이 선택 취소 된 경우 보호가 비활성화 된 것으로 간주됩니다.

2. 연결 문자열이 다음과 같은 경우 보호가 비활성화 된 것으로 간주됩니다. 정보베이스 conf.cfg 파일의 DisableUnsafeActionProtection 매개 변수에 지정된 패턴 중 하나와 일치합니다.

3. AntiDangerousActions 매개 변수를 사용하여 명시 적으로 비활성화 된 보호와 함께 외부 처리 (보고서)가 연결된 경우.

4. AntiDangerousActions 확장 속성을 사용하여 보호가 명시 적으로 비활성화 된 경우.

사실은 1C 작업의 클라이언트 서버 버전을 사용할 때 외부 처리 / 보고서가 안전 모드에서 열리 며 권한 모드 사용이 금지됩니다. 그리고 특권 모드는 인쇄 된 양식의 형성, 다양한 서비스 확인 (교환 등록) 등 일반적인 구성에서 매우 자주 사용됩니다. 결과적으로 양식없이 ACS에서 일반 보고서를 사용하고 (기본적으로 일반 "보고서 양식"양식이 사용됨) 사용자 정의 보고서 설정 (적절한 참조로)을 저장하더라도 액세스 부족에 대한 오류가 표시됩니다. 라인 이후 서비스 목적으로 사용되는 다양한 상수 및 세션 매개 변수에 대한 권한 SetPrivilegedMode (True);

"올바른"해결책은 안전 모드를 비활성화하거나 권한을 추가하여 BSP "추가 보고서 및 처리"메커니즘을 통해 외부 프로세서와 보고서를 연결하는 것입니다 (제 생각에는 BSP 버전 2.2.2.1에서). 그러나 어떤 이유로 외부 보고서 / 처리 파일을 사용해야하는 경우 특정 정보베이스에 대한 안전 모드 보안 프로필로 사용되는 클러스터 보안 프로필을 구성 할 수 있습니다.

이 옵션은 바람직하지 않지만 다양한 상황으로 인해 이렇게 단순화 된 형태로 사용할 수 있다는 점을 바로 주목하고 싶습니다. 예를 들어, 여러 도시에 여러 기지가 있고, 엄격하게 제한된 권한이있는 공통된 로컬 좌석, 폐쇄 된 USB 등, Accounting 2.0을 사용하는 어딘가, 3.0 어딘가에는 양식없이 ACS를 사용하여 거의 모든 보고서를 작성합니다. 두 버전 모두에서 열렸습니다. 이 모든 보고서를 다른 버전 그리고 다른 기지는 \u200b\u200b힘들고 절망적 인 사업입니다, tk. 계획에는 단일 구성 및 기본으로의 전환이 포함됩니다.

프로필을 만듭니다.
클러스터 콘솔에서 플래그를 설정하는 보안 프로필을 만듭니다. "안전 모드 보안 프로필로 사용 가능" 및 "under"전체 액세스 허용 : " "권한 모드로".

보고서 및 간단한 처리를위한 많은 사용 사례에서 이 방법 적용 가능합니다. 더 복잡한 상황의 경우 프로세스를 설명하는 것은 의미가 없습니다. 문서에 명시되어 있습니다 (해시 등을 지정하여 특정 외부 파일에 대한 보안 프로파일을 사용자 정의하는 기능).

추신 보안 프로필은 CORP 수준의 플랫폼 및 서버에 대한 라이선스를 사용할 때만 작동한다고 생각했지만이 기능은 1C : Enterprise 8.3 플랫폼에서도 수행됩니다 (조건부로 기본 구성 기본 / PROF /와 유사하게 PROF를 호출 할 수 있습니다. CORP)

일반 사용자로 문서 업로드 프로그램을 시작하면 "안전 모드가 설정되어 있습니다. 작업이 금지됩니다."오류가 발생합니다.

이 복잡성은 시작을 위해 외부 처리 충분한 권리가 없습니다. 액세스 권한을 설정하려면 대신 1C Enterprise 모드의 데이터베이스로 이동하십시오. 관리자섹션으로 이동 사용자 및 권한 설정 / 액세스 그룹 프로필,딸깍 하는 소리 그룹을 만들려면.

그룹 이름을 입력하고이 역할 그룹의 사용자가 사용할 수있는 체크 박스를 선택합니다.

  • 외부 보고서의 대화 형 열기 및 처리
  • 추가 보고서 및 처리 사용

딸깍 하는 소리 굽기 및 닫기


사용자 메뉴로 돌아가서 문서 다운로드 프로그램으로 작업 할 직원을 목록에서 선택합니다. 권한을 클릭하십시오. 프로필 목록에서 이전에 만든 프로필을 표시합니다. 딸깍 하는 소리 쓰기.


사용자가 처리를 시작할 수 있도록 외부 프로세서 목록에 문서 업로드를 추가하는 것이 좋습니다. 이를 위해 메뉴에서 관리 / 양식 인쇄 및 처리 / 추가 보고서 및 처리 새로운 치료법을 만드십시오. "DocumentLoot.epf"파일의 경로를 지정하고 이름을 지정하십시오. 사용자가 나중에 실행할 수있는 메뉴에서 처리 위치를 지정합니다 (예 : 메뉴 선택). 디렉토리

항목을 클릭하여 빠른 액세스 처리 할 수있는 사용자를 지정합니다.


설정 후 굽기 및 닫기... 처리를 시작하려면 사용자가 데이터베이스를 다시 입력하고 액세스 메뉴 (예 : 참고서)에서 열고 클릭하면됩니다. 실행.


발견하다 메뉴-모든 기능 ..... 목록에서 사용중인 보안 프로필 옵션을 찾습니다.


"보안 프로필이 사용됨"옵션을 선택 취소하는 것으로 충분합니다.


그 후 프로그램이 성공적으로 시작됩니다.

외부 처리는 유형이있는 ExternalProcessing 전역 컨텍스트 개체를 사용하여 프로그래밍 방식으로 열립니다. ExternalProcessingManager... 1C 플랫폼의 각 작동 모드 (모드 일반 신청 및 모드 관리되는 애플리케이션) 사용 다른 방법 외부 치료 작업을위한 개체.

일반 애플리케이션 모드에서 외부 처리 시작

일반적인 응용 프로그램에서는 외부 처리 파일의 전체 이름이 전달되는 ExternalProcessing 개체의 Create () 메서드를 사용해야합니다. 메소드는 유형의 객체를 반환합니다. 외부 처리,이 개체는 열려있는 외부 처리입니다. 외부 처리 양식을 열려면 결과 개체에서 GetForm () 메서드를 호출하여 기본 양식을 반환 한 다음 Open () 메서드를 호출하여 엽니 다.


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

외부 프로세서에서 기본 양식은 항상 일반 양식이어야하며 관리 양식은 항상 추가 양식이어야합니다. 그렇지 않으면 GetForm () 메서드가 일반 응용 프로그램 모드에서 작동하지 않습니다.

관리 애플리케이션 모드에서 외부 처리 실행

모드에서 관리되는 양식 실행 컨텍스트에 따른 알고리즘 분할이 나타납니다. 클라이언트에서는 외부 처리 파일의 전체 이름으로 이진 데이터를 얻습니다. 수신 된 바이너리 데이터를 서버로 전송하여 임시 저장소에 보관합니다. 다음으로 임시 저장소의 주소가 전달되는 ExternalProcessing 개체의 Connect () 메서드를 호출해야합니다. 메서드는 연결된 외부 처리의 이름을 반환합니다. 외부 처리의 이름을 클라이언트에 반환하고 처리 양식에 대한 문자열 경로를 형성하고 OpenForm () 메서드를 사용하여 외부 처리 양식을 엽니 다.

서버에서
함수 GetExternalProcessingName (BinaryData)
AddressToTemporaryStorage \u003d PutToTemporalStore (BinaryData);
Return ExternalProcessing.Connect (AddressInTemporaryStorage);
EndFunction

& 클라이언트에서
FullFileName \u003d ""; // 성명 외부 처리 파일.
FileData \u003d 새 BinaryData (FullFileName);
ExternalProcessingName \u003d GetExternalProcessingName (FileData);
OpenForm ( "ExternalProcessing."+ ExternalProcessing 이름 + ".Form");

외부 치료를위한 안전 모드

ExternalProcessing 개체의 Create () 및 Connect () 메서드에는 안전 모드에서 외부 처리를 연결하는 신호 인 SafeMode 입력 매개 변수가 있습니다. 매개 변수를 지정하지 않으면 안전 모드에서 연결됩니다.
안전 모드 작업은 서버에서 "신뢰할 수없는"프로그램 코드를 실행하지 못하도록 시스템을 보호하도록 설계되었습니다. 잠재적 인 위험은 Execute () 및 Calculate () 메서드에서 사용하기 위해 사용자가 입력 한 외부 처리 또는 프로그램 코드입니다.
안전 모드에는 다음과 같은 제한이 있습니다.
  • 권한 모드가 설정된 경우 취소됩니다.
  • 특권 모드로 들어 가려는 시도는 무시됩니다.
  • cOM 개체를 사용한 작업은 금지됩니다.
  • 외부 구성 요소를로드하고 연결하는 것은 금지됩니다.
  • 액세스 거부 파일 시스템 (임시 파일 제외)
  • 인터넷 액세스가 거부되었습니다.
대화식으로 열린 처리는 안전 모드에서 수행되지 않으므로 안전 모드에서 외부 프로세서를 여는 메커니즘을 구현하고 사용자가 권한 수준에서 외부 프로세서를 대화 형으로 열지 못하도록하는 것이 좋습니다.
대화 형 처리 열기를 금지하려면 사용자에게 할당 된 모든 역할에서 "외부 처리 대화 형 열기"권한을 제거해야합니다 (그림 1 참조).
그림 1. 외부 처리 / 보고서의 대화 형 열기 권한
대화식으로 외부 프로세서 열기 권한은 ExternalProcessing 개체에 영향을주지 않습니다.

외부 프로세서와 유사하게 프로그래밍 방식으로 외부 보고서를 열려면 다음 유형이있는 외부 보고서 전역 컨텍스트 개체 만 사용해야합니다. ExternalReportManager.

플랫폼 8.3.9.2033의 출시와 함께 새로운 메커니즘이 등장했습니다. "위험한 행동으로부터 보호".

이 혁신 덕분에 1C -ka는 이제 처리 시작시 맹세하기 시작했습니다.

보안 경고

"My_External_Processing.epf"파일에서 "내 외부 처리"를 엽니 다.

이 파일을 얻은 소스에주의를 기울이는 것이 좋습니다. 추가 모듈 개발에 대한 소스와 합의가 없거나 파일 내용에 의문이있는 경우 컴퓨터와 데이터에 해를 끼칠 수 있으므로 파일을 열지 않는 것이 좋습니다.

이 파일을 열도록 허용 하시겠습니까?

그래서 1C는 악성 코드에 맞서 싸우기로 결정했습니다!

이 "악성 코드"가 기업에서 어디에서 나올지는 여전히 미스테리입니다.)

잠재적으로 위험한 행동은 다음과 같습니다.

  • 외부 보고서로드, 구성 처리 또는 확장.
  • 구성 / 확장을로드하거나 업데이트합니다.
  • 외부 보고서 / 처리 또는 다음 기능에 대한 확장에서 액세스 :
  • 운영 체제 명령 실행.
  • 사용자 관리 (정보베이스 사용자에 대한 정보 기록 또는 삭제).
  • 외부 프로세서 (보고서) 관리자의 Connect () 메서드를 호출합니다.
  • ConfigurationExtension.Write () 메서드를 호출합니다.
  • COM 개체 작업.

이 "기적"을 어떻게 끌 수 있습니까?

이렇게하려면 구성자 모드에서 1C Enterprise를 실행해야합니다.
"관리"- "사용자"메뉴를 선택합니다.
사용자를 위해 열리는 창에서 사용자 설정 창을 열고 "기본"탭의 확인란을 제거해야합니다. "위험한 행동으로부터 보호"

이 기능을 끄는 다른 방법이 있습니다.

위험한 작업에 대한 보호를 비활성화 할 작업시 정보베이스 목록을 지정하는 기능이 구현되었습니다.
이 기능 conf.cfg 파일의 DisableUnsafeActionProtection 매개 변수는 연결 문자열이 DisableUnsafeActionProtection 매개 변수에 지정된 마스크를 충족하는 특정 정보베이스의 모든 사용자에 대해 위험한 작업에 대한 보호 메커니즘을 비활성화 할 수 있도록합니다.

이 매개 변수에서 ";"기호로 구분 된 여러 마스크를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

DisableUnsafeActionProtection \u003d 테스트 _. *; 단계 _. *;

또한 위험한 사용자 작업에 대한 보호를 프로그래밍 방식으로 비활성화 할 수 있으며 다음과 같은 매개 변수와 속성이 있습니다.

  • 메서드의 위험한 동작으로부터 매개 변수 보호 Connect () 외부 처리 관리자 (보고서)
  • 이 개체의 Write () 메서드를 호출하기 전에 ConfigurationExtension 개체의 HazardousActionProtection 속성입니다.

위험한 행동에 대한 보호 기능을 사용할 필요성을 확인하는 것은 다음 순서로 수행됩니다.

1. 현재 사용자에 대해 "위험한 작업에 대한 보호"확인란을 선택 취소하면 보호가 비활성화 된 것으로 간주됩니다.

2. 정보베이스 연결 문자열이 conf.cfg 파일의 DisableUnsafeActionProtection 매개 변수에 지정된 템플릿 중 하나와 일치하면 보호가 비활성화 된 것으로 간주됩니다.

3. 외부 처리 또는 보고서의 AntiDangerousActions 매개 변수를 사용하여 보호가 명시 적으로 비활성화 된 경우.

4. AntiDangerousActions 확장 속성을 사용하여 보호가 명시 적으로 비활성화 된 경우.

이 공유