{"id":378,"date":"2013-06-19T22:25:53","date_gmt":"2013-06-19T20:25:53","guid":{"rendered":"http:\/\/blog.lync2013.org\/?p=378"},"modified":"2014-05-07T13:20:02","modified_gmt":"2014-05-07T13:20:02","slug":"378","status":"publish","type":"post","link":"https:\/\/modern-workplace.uk\/?p=378","title":{"rendered":"Reducing The Costs of Lync Certificates. Mismatched Domains and Other Tricks"},"content":{"rendered":"<h4><span style=\"font-family: Georgia, Palatino;\">Disclaimer<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">The solution I will describe here is not a standard one, so you must consider all the possible risks, including future updates \/ fix for the Lync 2013 server or for the clients that could enforce the best practices that are not fully respected in this approach with results that I can\u2019t predict.<\/span><\/p>\n<hr \/>\n<h4><\/h4>\n<h4><span style=\"font-family: Georgia, Palatino;\">Reducing The Costs of Lync Certificates. Mismatched Domains and Other Tricks<br \/>\n<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">Whenever you&#8217;re involved in a Lync project, you can be sure that the company you are working with will complain about the cost of SAN certificate required. If the infrastructure is shared between several different companies, you will have to add to the certificate more FQDN for the various SIP domains and the complaint will become sort of a howl.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The changes in the Lync 2013 client autodiscover process (and also in the Lync 2010 client, as I will explain later) and the possibility to use mismatched domains between the SRV and Host (A) records open an interesting opportunity to downsize the required SAN names to a total of six (S I X).<\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-family: Georgia, Palatino;\">Our Scenario<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">Let\u2019s imagine to have two companies, Lync2013.Org and MCEnigma.Org that will use a single Lync infrastructure (for example using a common resource forest). We want to keep the cost of our SSL certificates as low as possible, so we need to reduce the SAN names required to make our external users work (for the internal users a lot of different solutions including certificates from an internal C.A. are available).<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">A SIP domain for every company involved is required, so we will have to accommodate this in our solution.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Note: the process I will explain can be used to address multiple SIP domains. To keep it simple, in the example, I used only two domains.<\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-family: Georgia, Palatino;\">First Step: Lyncdiscover<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">Lync 2013 client for Windows and Lync 2013 Windows Store App prefer to search <i>lyncdiscoverinternal.&lt;sipdoimain&gt;<\/i>\u00a0and <i>lyncdiscover.&lt;sipdomain&gt;<\/i>\u00a0for automatic sign-in.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The aforementioned FQDN are A records. The first suggestion, here, is to point the Lyncdiscover record to the address of our reverse proxy and leave the port 80 of the reverse proxy opened.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">As you know, if your rules are well written, the server will retrieves resources on behalf of a client from the Lync Front End server on port 8080.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Working this way, you need no certificate for the automatic sign-in<\/span><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/Step1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1134 size-large\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/Step1-1024x687.png\" alt=\"Step1\" width=\"580\" height=\"389\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step1-1024x687.png 1024w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step1-300x201.png 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step1-200x134.png 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step1-580x389.png 580w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step1.png 1091w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<h4><\/h4>\n<hr \/>\n<h4><span style=\"font-family: Georgia, Palatino;\">Second Step: _sip._tls.&lt;sipdomain&gt;<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">The next step requires the record <i>_sip._tls.&lt;sipdomain&gt;<\/i> that you usually will point to the public FQDN of the Edge Server and you will have one FQDN for every domain.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">But we are going to keep our costs low, so we will point <i>_sip._tls. Lync2013.Org<\/i> and <i>_sip._tls. MCEnigma.Org<\/i> to <i>SIP.Lync2013.Org<\/i><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Now, if your user\u2019s SIP domain is Lync2013.Org the aforementioned solution will work with no issue.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">What about MCEnigma.Org users ? Well, basically they will receive an error from their client, explaining that they are talking with a host that is not part of their SIP domain.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">They can \u201chide\u201d this message after the first time and they will be able to use Lync from the external network with no problem (you can also work on group policies to add Lync2013.Org to the list of trusted domains for MCEnigma.Org).<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">For more details please read this article <a href=\"http:\/\/blogs.technet.com\/b\/jenstr\/archive\/2011\/02\/10\/lync-cannot-verify-that-the-server-is-trusted-for-your-sign-in-address.aspx\">Lync cannot verify that the server is trusted for your sign-in address<\/a><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">So, we no longer need a SAN in our certificate for the SIP record of every single domain.<\/span><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/Step2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1136\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/Step2-1024x680.png\" alt=\"Step2\" width=\"580\" height=\"385\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step2-1024x680.png 1024w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step2-300x199.png 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step2-200x132.png 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step2-580x385.png 580w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/Step2.png 1103w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h4><span style=\"font-family: Georgia, Palatino;\">Third Step: Webconf.&lt;sipdomain&gt;<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">The aforementioned record is required for web conferencing BUT in our scenario we will need to publish only <em>Webconf.Lync2013.Org<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Fourth Step: AV.&lt;sipdomain&gt;<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Simply you do not need it, so you will not have to add it in the SSL certificate for any domain.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Lync Server no longer requires that the AV Edge FQDN is provided in the certificate.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Fifth Step: Simple URLs of Lync<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Here we are talking about <i>meet.&lt;sipdomain&gt;<\/i><i>,<\/i> <i>dialin.&lt;sipdomain&gt;<\/i> and <i>admin.&lt;sipdomain&gt;<\/i> that are the records required for the web services of Lync.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Let\u2019s start from the latter <i>admin<\/i>: if you have no intention to open the Lync Control Panel from the external network, you do not need it.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><i>Dialin<\/i>: you will have a single name (let\u2019s say dialin.lync2013.org) because multiple name for the dialin conferencing service are not supported.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><i>Meet<\/i>: as I explained here some time ago <a href=\"http:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/15396.understanding-simple-urls-in-lync.aspx\">Understanding Simple URLs In Lync<\/a> you are able to use a single root FQDN and to create a specific URL for all the required SIP domains in a form like<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>https:\/\/meet.lync2013.org\/sipdomain1\/Meet<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>https:\/\/ meet.lync2013.org \/sipdomain2\/Meet<\/em><\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-family: Georgia, Palatino;\">Let\u2019s Summarize<\/span><\/h4>\n<p><span style=\"font-family: Georgia, Palatino;\">The reverse proxy requires to have in the SSL certificate the public FQDN of the Lync Enterprise Edition Pool or the public FQDN of our Standard Editions servers in the subject name of the SSL certificate.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The Lync Edge expects to have its public FQDN in the subject name of the certificate (you could use SIP that is required anyway or pick up another name).<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">We may decide to require two different certificates<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">_________________________________________________________________________<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Certificate 1 (to apply on the Reverse Proxy)<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Subject Name: <em>FQDN of the Lync Front End<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">SAN:\u00a0<em>FQDN of the Lync Front End<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">SAN: <em>meet.&lt;sipdomain&gt;<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">SAN: <em>dialin.&lt;sipdomain&gt;<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">_________________________________________________________________________<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Certificate 2 (to apply on the Lync Edge)<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Subject Name: <em>FQDN of the Lync Edge<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">SAN: sip.&lt;sipdomain&gt;<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">SAN: <em>Webconf.&lt;sipdomain&gt;<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">_________________________________________________________________________<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">As you can see we are able to deploy our external user access with a six names that we could decide to distribute as in the aforementioned schema or to put in a single certificate, with Subject Name\u00e8 FQDN of the Lync Edge and the FQDN of the Lync Front End added as a SAN.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">What About The Lync 2010 Client?<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Looking at this article \u201c<a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/jj945654.aspx\">Understanding Autodiscover<\/a>\u201d there is an important phrase: <i>Additionally, <\/i><i><span style=\"text-decoration: underline;\">newer versions of the Lync 2010 <\/span><\/i><i>and Lync 2013 desktop client prefer Autodiscover over the domain name system (DNS) SRV records, using DNS SRV records only if lyncdiscover.&lt;domain&gt; or lyncdiscoverinternal.&lt;domain&gt; does not respond or does not resolve.<\/i><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The implication are clear: if you have done your homework and kept the Lync 2010 client up to date with the various C.U. and patches, the autodiscover process is the same you have with the Lync 2013 client. And the solution depicted here works also for the \u201clegacy\u201d clients<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The changes in the Lync 2013 client autodiscover process (and also in the Lync 2010 client, as I will explain later) and the possibility to use mismatched domains between the SRV and Host (A) records open an interesting opportunity to downsize the required SAN names to a total of six (S I X).<\/p>\n","protected":false},"author":1,"featured_media":1221,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[18,19],"tags":[91,73,28,92,93,94,55,95,50,96,97,98,702,99,100,32,33,101,102,35,36,103,104,105,26,106,44,78,79,107,108,109,21],"class_list":["post-378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-english","category-lync","tag-av","tag-cloud","tag-communication","tag-deploy-lync-2013","tag-deployment","tag-edge","tag-enterprise-features","tag-external-user-access","tag-fabrizio-volpe","tag-front-end","tag-lower-costs","tag-lower-lync-costs","tag-lync","tag-lync-2010","tag-lync-2013-2","tag-lync-2013-client","tag-lync-2013-server","tag-lync-best-practices","tag-lync-certificates","tag-lync-client","tag-lync-microsoft","tag-lync-mobile","tag-lync-multiple-domains","tag-lync-san","tag-lync-server","tag-microsoft-lync","tag-microsoft-lync-2013","tag-on-premises","tag-online","tag-requirements-for-lync","tag-sip","tag-webconf","tag-windows-server"],"_links":{"self":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=378"}],"version-history":[{"count":2,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/378\/revisions"}],"predecessor-version":[{"id":1183,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/378\/revisions\/1183"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/media\/1221"}],"wp:attachment":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}