Eylül 2018 Güvenlik Yamaları Sonrası SharePoint Nintex Sorunu

Merhaba,

Bu ay yayınlanan windows sunucuları üzerine geçilen ve sistem ekipteri tarafından hız kaybetmeden uygulanan güvenlik güncellemeleri SharePoint WorkFlow ve üçüncü Parti Nintex WorkFlowlar üzerinde ciddi sıkıntılara yol açtı.

Hatanın genel çıktısı log dosyaların da şu şekilde gözükmektedir. Bu güncelleme ile WorkFlow servisleri de bazı cihazlarda durduğu gözlemlenmiştir.

09/18/2018 01:59:07.57 w3wp.exe (0x1868) 0x22FC SharePoint Foundation Workflow Infrastructure 72fs Unexpected RunWorkflow: 

Microsoft.SharePoint.SPException: <Error>
<CompilerError Line="-1" Column="-1" Text="Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file." />
<CompilerError Line="-1" Column="-1" Text="Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file." />
<CompilerError Line="-1" Column="-1" Text="Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file." />
<CompilerError Line="-1" Column="-1" Text="Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file." />
<CompilerError Line="-1" Column="-1"…

.NET yapılandırma dosyası yanı Web Config üzerinde yetkilendirilmelerin resetlenmesine yol açan bu yamaların revizesi için tüm sunucular üzerinde Web.Config dosyalarının düzenlenmesi gerekmektedir.

Nasıl Yaparım ?

1 – Web.Config dosyanızı sunucuda IIS altında explore diyerek root klasörünüze gidin ve düzenlemek için açın

2 – config dosyanızda aşağıdaki satırı bulun (targetFx)

<configuration>

<System.Workflow.ComponentModel.WorkflowCompiler>

<authorizedTypes>

<targetFx>

3 –  SharePoint 2013 sunucularınız için aşağıdaki ayar bloğunu yapıştırın.

<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeBinaryOperatorExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePrimitiveExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodInvokeExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeFieldReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeThisReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePropertyReferenceExpression" Authorized="True" />

SharePoint 2010 ve 2007 sunucularınız için ise aşağıdaki config satırlarını kullanabilirsiniz.

<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeBinaryOperatorExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePrimitiveExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodInvokeExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeFieldReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeThisReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePropertyReferenceExpression" Authorized="True" />

4 – Eğer Nintex gibi 3üncü parti bir WorkFlow yazılımı kullanıyorsanız aşağıdaki satırı da config dosyanıza diğerlerinin atına ekleyin ve powershell üzerinden scripti çalıştırın.

<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeTypeReferenceExpression" Authorized="True" />
$typeNames = @( "CodeBinaryOperatorExpression", "CodePrimitiveExpression", "CodeMethodInvokeExpression", "CodeMethodReferenceExpression", "CodeFieldReferenceExpression","CodeThisReferenceExpression", "CodePropertyReferenceExpression", "CodeTypeReferenceExpression")

5 – Sunucunuza restart atın.

6 – Sunucunuzda servis yönetiminden Nintex servislerini start edin.

faydalı olması dileği ile

  • Zorluk Seviyesi
  • Bilgi Seviyesi

Özet

Eylük 2018 Güvenlik güncelleştirmeleri sonrası SharePoint WorkFlow ve Nintex WorkFlow servislerinin durması veya iş akışlarının düzgün çalışmaması üzerine etki yapan config ayarlarının yapılmasını anlattığımız yazımızdır.

Yanıt Yaz