Lync Privacy Configuration

Es gibt Firmen, denen ist es ein Dorn im Auge dass per Default jeder den Status aller anderen Personen einsehen kann. Diese globale Einstellung kann aber geändert werden, so dass die Präsenz nur an die Kontakte ausgegeben wird, die berechtigt sind.

Einige Lync Consultants nennen diesen Schalter auch "Paranoia-Switch" oder sogar den Begriff "German Switch" habe ich schon gehört. Denn wenn Lync per Default die Präsenz nicht mehr anzeigen kann oder darf, dann wird das System ein Stück weit  beschnitten und die Vorteile reduzieren sich. Ich habe von Firmen gehört, die diese Einstellung anfangs gemacht haben aber nach einigen Wochen wieder zurück gestellt haben.

Enhanced Presence im Standard

Welche Funktion eingeschaltet ist, kann jeder Anwender in seinem Lync Client selbst erkennen. In den Einstellungen kann unter Status der Anwender auswählen, ob JEDER die Anwesenheit sehen kann oder dies der Administrator festlegen kann. Dies hier stellt den "Standard" dar:

Leider gibt es hier nicht die Option "niemand kann meinen Status sehen". Letztlich könnte so eine Einstellung aber auch die Funktion deutlich einschränken.

Auf dem Lync Server kann der Administrator mit dem Befehl "Get-CSPrivacyConfiguration" die aktuelle Konfiguration in Erfahrung bringen:

Diese Einstellung ist "Global", pro "Site" oder "UserServer Service" einstellbar. Sie kann aber nicht serverseitig pro Benutzer konfiguriert werden:

Enhanced Presence aktivieren ?

Wer nun aber die Richtline ändert, sollte sich vorher schlau machen, was dies bedeutet. Wenn Sie es mit Set-CsPrivacyConfiguration" direkt anwenden, sehen Sie zwar noch die Warnung, aber dann kann es schon zu spät sein:

PS C:\> set-CsPrivacyConfiguration -EnablePrivacyMode $true
WARNING: Because you are enabling privacy mode, we recommend
that you also enable client version check in order to block
communications with client versions that do not recognize
privacy mode. We also recommend that you set
AutoInitiateContacts, PublishLocationDataDefault, and
DisplayPublishedPhotoDefault to false. When privacy mode is
enabled, Response Group agents must add presence watchers to
their contact list, or else the watchers will not be able to
see the agents' presence.

Wenn der Status eines Benutzers per Default nicht mehr sichtbar ist, dann muss zum einen Client Client mitspielen. Wer also den alten OCS Communicator nicht aussperrt, hat nur die neuen Lync Anwender beschnitten. Aber das zeigt schon, dass nicht der Server den Status verbirgt, sondern es dem Client überlassen bleibt. Es ist also eher ein einfacher Schutz. Ein findiger Mensch könnte auch einen OCS Communicator nehmen und den userAgent verändern.

Der Anwender kann im Communicator einfach erkennen, dass nun eine andere Betriebsart auf ihn wirkt.

Präsenz und Windows Gruppen

In Lync können sie auch Active Directory gruppen in ihre Buddy-Liste aufnehmen. Der Lync Client nutzt dann den "Group Expansion Service" des Lync Servers, um dynamische die Mitglieder eine Active Directory Gruppe aufzulösen. Wenn Sie diese Gruppe nutzen, dann sehen Sie natürlich nur die Personen, die ihre Adresse in deren Buddy-Liste aufgenommen haben.

Aber umgekehrt schaltet diese Gruppe nicht ihren Status für alle Mitglieder frei. Wer also seinen Präsenzstatus anderen Personen mitteilen will, muss die andere Person explizit in seine Kontaktliste aufnehmen. Es reicht nicht aus, wenn die Personen als Mitglied einer Gruppe in der Kontaktliste erscheint.

Das ist aber zum einen technisch begründet aber auch ein Sicherheitsthema. Wenn eine Firma die "PrivacyConfiguration" nutzt, dann möchten die Anwender explizit bestimmen, wer die eigene Präsenz sehen kann. Dann wäre eine indirekte Erlaubnis über eine vom Administrator geänderte Gruppe kontraproduktiv.

Präsenz und Response Groups

Kniffliger ist aber, dass z.B. auch die Lync Response Group Service damit ein Problem haben könnten. Die sehen nämlich auch nicht mehr den Status der Mitarbeiter und wissen daher nicht, ob ein Gespräch signalisiert werden kann. Die Anwender müssen als auch die ResponseGroupWatcher in ihre Kontakte addieren, damit die Funktion weiter erhalten bleibt

Die gleiche Problematik kann auch für andere Agenten gelten, die Sie vielleicht selbst entwickelt haben. Solche Agenten sollten also zumindest die Funktion haben, einen Benutzer, der "unbekannt" erscheint z.B.: per IM immer wieder anzutriggern, den Agenten zu addieren. Das hindert den Benutzer aber nicht, den Agenten dann als "blocken" zu addieren. Das ist dann aber keine technische sondern eine organisatorische Frage.

Technisch wäre es ebenfalls möglich, serverseitig schon diese Agenten zu addieren. Andererseits könnte dies aber Anwender verwirren, dass neue unbekannte Kontakte auftauchen.

Presence wieder zurück drehen

Wenn Sie nach einen Ausflug in die "Enhanced Presence" dann den Wert doch nicht mehr so hoch einschätzen und wieder zum Standard zurück wollen, dann ist das mit "set-CsPrivacyConfiguration -EnablePrivacyMode $false" ganz einfach:

PS C:\> set-CsPrivacyConfiguration -EnablePrivacyMode $false
WARNING: Because you are disabling privacy mode, we recommend
that you also disable client version check in order to allow
communications with client versions that do not recognize
privacy mode. We also recommend that you set
AutoInitiateContacts, PublishLocationDataDefault, and
DisplayPublishedPhotoDefault to true.

Aber auch hier gibt das Commandlet wieder eine Warnung aus, dass sie nun nämlich den ClientCheck wieder abschalten können. Sonst dürfen alte Clients noch nicht teilnehmen.

Hintergründe

Natürlich stellt sich jeder Admin die Frage, wie "sicher" denn diese Einstellung ist. Schreibt der Client die Präsenz nicht mehr auf den Server zurück oder schreibt er die Präsenz auf dem Server nur partiell zurück?

Schaut man in die Anmeldung eines Clients dann sieht man sehr schnell, ob PrivacyMode eingeschaltet ist. Hier ein Auszug einer SIP-Antwort. Die Provisioning-Antwort ist eine direkte 200 SIP OK-Meldung, die eine erfolgreiche Registrierung quittiert:

SIP/2.0 200 OK
Contact: <sip:NAWLYNC001.msxfaq.de:5061;transport=tls;received=192.168.100.100;ms-received-cid=1D86203>
Content-Length: 51294
From: "Carius, Frank"<sip:user1@msxfaq.de>;tag=690a845fec;epid=110531d8e4
To: <sip:user1@msxfaq.de>;tag=1C4A0080
Call-ID: c15bfa31692d4495903e2f1cbea403bd
CSeq: 1 SUBSCRIBE
Via: SIP/2.0/TLS 2.206.238.206:5526;ms-received-port=5526;ms-received-cid=1DB6C00
Expires: 0
Content-Type: application/vnd-microsoft-roaming-provisioning-v2+xml
Event: vnd-microsoft-provisioning-v2
subscription-state: terminated;expires=0
ms-piggyback-cseq: 1
Supported: ms-piggyback-first-notify

<provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification">
  <provisionGroup name="endpointConfiguration" >
    <propertyEntryList >
      <property name="ShowManagePrivacyRelationships" >false</property>
    </propertyEntryList>
  </provisionGroup>

  <provisionGroup name="presencePolicyV2" >
    <propertyEntryList >
      <property name="EnablePrivacyMode" >false</property>
      <property name="AutoInitiateContacts" >true</property>
      <property name="PublishLocationDataDefault" >true</property>
    </propertyEntryList>
  </provisionGroup>
</provisionGroupList>

Diese Information steuert im Client die Anzeige der Optionen. Schaut man sich dann aber die SIP-Meldungen an, wenn jemand in einer anderen Kontaktliste addiert oder entfernt wird, dann ist klar, dass schon der Lync Server die Präsenz filtert.

Das folgende Zitat könnte nämlich fast den Eindruck erwecken, dass der Client die Filterung vornimmmt

Lync 2010 privacy settings are not honored by previous versions (Microsoft Office Communicator 2007 R2 or Microsoft Office Communicator 2007). If previous versions of Office Communicator are allowed to sign in, a Lync 2010 user’s status, contact information, or picture could be viewed by someone who has not been authorized to view it. Additionally, a Lync 2010 user’s privacy settings are reset if he or she later signs in with previous version of Communicator.
For these reasons, in a migration scenario, before you enable Lync 2010 enhanced presence privacy mode:
- Ensure that every user has Lync 2010 installed.
- Define a client version policy rule to prevent previous versions of Communicator from signing in.

Quelle: Configuring Enhanced Presence Privacy Mode  http://technet.microsoft.com/en-us/library/gg399028(v=ocs.14).aspx

Aber die Aussage, dass "frühere Versionen diese Funktion nicht 'honorieren'" ist dennoch nicht ganz unkritisch, da die Filterung durch den Server nur erfolgt, wenn die Stammdaten auf dem Server richtig hinterlegt ist. Und es kann durchaus sein, dass ein "alter Client" diese Einstellungen stört. Dazu können durchaus auch SIP-Telefone zählen, die ihre Präsenz so zurückschreiben, dass der Lync Server davon ausgeht, der Anwender hätte die Einstellung geändert auf "Alle" geändert.

Letztlich Gewissheit bringt ein Blick in die Datenbank, den man mit Lync 2013 einfach durch einen Export (Siehe Export-CSUserData) erhält. Die dort im ZIP-File enthaltene XML-Datei zeigt schön, welche Personen aufgeführt sind und welche nicht.

Wenn ein Benutzer den Privacy-Mode aktiviert hat, dann fehlen die Einträge für "<UserMember>".

Privacy und Location

Sicher ist die "911"-Regelung in den uSA ein Kriterium, dass ein Client auch seinen "Ort" mitgeben ,muss. Mit dem Location Information Service (LIS) hat Microsoft hier die Basis geschaffen, dass auch ein Lync-Anwender "geortet" werden kann und die Notrufzentrale eine möglichst zutreffende Ortsbeschreibung bekommt.

Aber auch ohne diese zentrale Datenbank kann ein Anwender selbst bis zu 10 "Standorte" pflegen, die der Lync-Client lokal speichert

Die Informationen über die 10 Standorte liegen in einer Datei "PersonalLISDB.cache" im Benutzerprofil. Bei mir ist das:

C:\Users\fcarius\AppData\Local\Microsoft\Communicator\sip_frank.carius@netatwork.de\PersonalLISDB.cache

Interessant ist, dass Lync nur nur die letzten 10 manuell gepflegten Einträge speichert, sondern auch die MAC-Adresse des Default Gateways. Wer also mit seinem Lync Client zwischen verschiedenen Netzwerken hin und her wechselt, muss diesen Standort nicht manuell umstellen.

In Verbindung mit der LIS-Datenbank von Lync kann ein Administrator auf dem Server die Firmenstandorte mit Subnetzen verbinden, so dass der Lync-Client diese Informationen heran zieht. In den uSA ist das für die Lokalisierung eines Notrufs (911) wichtig.

Weitere Links