@@ -11,7 +11,7 @@ management, thus improving over time.
1111
1212# Requirements
1313
14- System Specifications
14+ ** System Specifications**
1515
1616The Operating systems supported are:
1717
@@ -78,7 +78,7 @@ include subdomains of a forest.
7878Enterprise licenses are bundled in packs of 10 domains, up to 60, with
7979an unlimited license thereafter.
8080
81- Example
81+ ** Example**
8282
8383If you have consto.com with two subdomains called uk.consto.com and
8484us.consto.com, then you would require the 10-domain licensing pack.
@@ -175,7 +175,7 @@ to the database to IIS (application pool)
175175
176176# Various options
177177
178- Custom login message
178+ ** Custom login message**
179179
180180You can define a custom message at the login page. You have to use the
181181custom option "customLoginMessage".
@@ -195,7 +195,7 @@ JAVASCRIPT.
195195
196196# Post Installation - Scheduler
197197
198- Quick installation
198+ ** Quick installation**
199199
200200PingCastle allows the possibility to the administrator of the
201201application to schedule scans. It is useful when the solution is
@@ -228,9 +228,11 @@ the access to the task scheduler cannot be delegated.
228228
229229## Custom installation
230230
231- Note: PingCastle is using behing the hood a folder named "PingCastle" in
231+ ::: note
232+ PingCastle is using behing the hood a folder named "PingCastle" in
232233the task scheduler. We will use the COM api as it exposes the security
233234descriptor -- which is not the case of the native PowerShell APIL
235+ :::
234236
235237If you want PingCastle to be able to start or stop tasks but not being
236238able to edit them (it requires that the account is local admin), you
@@ -291,11 +293,11 @@ core 8.0 middleware.
291293
292294Microsoft has procedures to install the dotnet core 2 framework:
293295
294- Linux installation
296+ ** Linux installation**
295297
296298- https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x
297299
298- Windows installation
300+ ** Windows installation**
299301
300302- https://docs.microsoft.com/en-us/dotnet/core/windows-prerequisites?tabs=netcore2x
301303
@@ -373,7 +375,9 @@ sudo apt-get install postgresql postgresql-contrib
373375sudo /etc/init.d/postgresql start
374376```
375377
376- Note: by default no password for the user postgres
378+ ::: note
379+ By default no password for the user postgres
380+ :::
377381
378382``` bash
379383sudo -u postgres createuser pingcastle
@@ -390,7 +394,7 @@ sudo -u postgres createdb -O pingcastle pingcastle
390394
391395## Using a Database Hosted on Anther Server
392396
393- Configure SQL Server with a local DB account
397+ ** Configure SQL Server with a local DB account**
394398
395399![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image18.png )
396400
@@ -406,7 +410,7 @@ later the password inside the application.Production.json file)
406410
407411![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image20.png )
408412
409- Then create a database
413+ ** Then create a database**
410414
411415Do not forget to set the owner as the user you created before.
412416
@@ -445,7 +449,7 @@ need to be escaped as they are located inside a json string.
445449
446450![ Une image contenant texte, Police, nombre, logiciel Description générée automatiquement] ( /img/product_docs/pingcastle/enterpriseinstall/image26.png )
447451
448- Configure SQL Server with an Active Directory user
452+ ** Configure SQL Server with an Active Directory user**
449453
450454You need to first create this Windows user.
451455
@@ -514,13 +518,13 @@ For the license, the parameter is stored in the \"License\" setting.
514518
515519Here are some connection string examples:
516520
517- Sql Local DB
521+ ** Sql Local DB**
518522
519523``` json
520524" Server=(localdb)\\ mssqllocaldb;Database=aspnet-PingCastleEnterprise-9521AD04-BA3A-41DC-A454-F2BD464E9391;Trusted_Connection=True;MultipleActiveResultSets=true"
521525```
522526
523- PostGres
527+ ** PostGres**
524528
525529``` json
526530"DefaultConnection" :
@@ -541,7 +545,7 @@ PingCastle supports:
541545
542546- SAML2 authentication
543547
544- Configure active directory authentication
548+ ** Configure active directory authentication**
545549
546550The asp.net core middleware requires IIS to provide the authentication
547551layer. As a consequence, the application do not access directly the
@@ -604,7 +608,7 @@ API calls will need in addition to their API key a Windows account.
604608 directive, as incidated on
605609 https://docs.microsoft.com/en-us/iis/manage/configuring-security/understanding-iis-url-authorization
606610
607- Configure OpenID Authentication
611+ ** Configure OpenID Authentication**
608612
609613PingCastle Enterprise supports natively OpenID authentication. It is using the asp.net core API whose configuration file is [ defined here] ( https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.builder.openidconnectoptions?view=aspnetcore-1.1&viewFallbackFrom=aspnetcore-8.0 ) .
610614The proxy settings rely on the current user proxy configuration (which
@@ -631,7 +635,7 @@ property in the appsettings.json file.
631635
632636![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image42.png )
633637
634- Configure AzureAD authentication as OpenID
638+ ** Configure AzureAD authentication as OpenID**
635639
636640Connect to https://portal.azure.com to go to "App registrations". Then register an application.
637641
@@ -649,7 +653,7 @@ Clic on "Grant admin consent for " the application
649653
650654![ Une image contenant texte Description générée automatiquement] ( /img/product_docs/pingcastle/enterpriseinstall/image45.png )
651655
652- After the action, the Status is changed
656+ ** After the action, the Status is changed**
653657
654658![ Une image contenant texte Description générée automatiquement] ( /img/product_docs/pingcastle/enterpriseinstall/image46.png )
655659
@@ -678,7 +682,7 @@ to the following one:
678682}
679683```
680684
681- Configure header authentication
685+ ** Configure header authentication**
682686
683687You need to edit the appsettings.json file.
684688
@@ -700,7 +704,7 @@ property in the appsettings.json file.
700704
701705![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image38.png )
702706
703- Configure SAML2 authentication
707+ ** Configure SAML2 authentication**
704708
705709If you want to hide the internal accounts, you can set the following
706710property in the appsettings.json file.
@@ -711,7 +715,7 @@ PingCastle Enterprise supports natively SAML2 authentication.
711715
712716PingCastle is using behind the scenes the component [ ITfoxtec Identity SAML 2.0] ( https://www.itfoxtec.com/IdentitySaml2 ) . The advanced and explicit configuration settings documentation can be [ found here] ( https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs ) . The proxy settings rely on the current user proxy configuration (which can be defined [ using netsh for IIS running as SYSTEM] ( https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-proxy-internet?view=o365-worldwide ) ).
713717
714- Easy configuration
718+ ** Easy configuration**
715719
716720This option requires that the IdP can be accessed directly by the
717721server. This may conflict with one premise deployment where the server
@@ -747,7 +751,7 @@ Give your app a name and click Next.
747751
748752![ Config App] ( /img/product_docs/pingcastle/enterpriseinstall/image55.png )
749753
750- In Single Sign on URL, enter https://yourPingCastleServer/Saml2/AssertionConsumerService
754+ ** In Single Sign on URL, enter https://yourPingCastleServer/Saml2/AssertionConsumerService **
751755
752756In Audience URI, enter PingCastle or the value that will be used in the "Issuer" setting.
753757
@@ -773,7 +777,7 @@ You are now ready to use SAML2 as authentication.
773777
774778![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image58.png )
775779
776- Advanced configuration
780+ ** Advanced configuration**
777781
778782To remove the need for the IdP metadata query to the remote server, the
779783saml configuration can be set manually. For this procedure, we follow
@@ -803,7 +807,7 @@ certificate. It can be seen also in the metadata:
803807
804808The configuration relies on the ITFoxTec SAML2 provider and thus, advanced settings can be seen [ here] ( https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/ede215bda2fd163367d475ca6104ec8ccb7642d3/src/ITfoxtec.Identity.Saml2/Configuration/Saml2Configuration.cs )
805809
806- ADFS
810+ ** ADFS**
807811
808812When using ADFS, the well known configuration is:
809813
@@ -818,11 +822,13 @@ When using ADFS, the well known configuration is:
818822},
819823```
820824
821- Note: you can customize the "SAML2" name in the login page by setting
825+ ::: note
826+ You can customize the "SAML2" name in the login page by setting
822827the field DisplayName in the Saml2 section in the configuration file to
823828the value you want.
829+ :::
824830
825- Configure Client certificate authentication
831+ ** Configure Client certificate authentication**
826832
827833The first step is to configure the webserver to require a client
828834certificate when establishing the SSL connection. It requires SSL (aka a
@@ -849,9 +855,11 @@ webserver sent a certificate. Then the certificate will be evaluated to
849855verify it is trusted (chain building, online verification) and map it to
850856a user account.
851857
852- Note: if no CRL or OCSP endpoint is available on all certificate, or if
858+ ::: note
859+ If no CRL or OCSP endpoint is available on all certificate, or if
853860they cannot be joined, the verification will have to be turned OFF using
854861the setting CertificateAuthNoRevocation.
862+ :::
855863
856864![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image65.png )
857865
@@ -872,7 +880,7 @@ dns form). Please note that no password needs to be submitted.
872880
873881![ ] ( /img/product_docs/pingcastle/enterpriseinstall/image67.png )
874882
875- Email
883+ ** Email**
876884
877885PingCastle requires a configuration to be able to send emails.
878886
@@ -980,7 +988,7 @@ shown to create the first user. This user is given the \"Admin\" role.
980988
981989For more details please see the user documentation.
982990
983- Entities
991+ ** Entities**
984992
985993PingCastle configures by default an entity named \" Default\" . It is the
986994entity where Auto Created domains are assigned.
@@ -995,20 +1003,20 @@ to edit a base hierarchy using an Excel file.
9951003
9961004This Excel file is the same used in the PingCastleReporting tool.
9971005
998- Encryption
1006+ ** Encryption**
9991007
10001008PingCastle Enterprise comes by default with the PingCastle default
10011009encryption key.
10021010
10031011If you decided to add a custom ciphering key, you can add it in Advanced
10041012-\> Decryption.
10051013
1006- Bulk Import of existing reports
1014+ ** Bulk Import of existing reports**
10071015
10081016You can import existing report using the bulk import functionality of
10091017the Advanced -\> Interoperability menu.
10101018
1011- Agents
1019+ ** Agents**
10121020
10131021You can configure PingCastle program to send their report to the
10141022program.
@@ -1032,7 +1040,7 @@ To avoid any hole in security architecture, it was chosen to not run
10321040PingCastle scans from the web application. That means that the local
10331041domains have to push their information into PingCastle Enterprise.
10341042
1035- Program
1043+ ** Program**
10361044
10371045It is recommended to run the latest official version of PingCastle. The
10381046PingCastle.exe program delivered in the same directory than the
@@ -1043,7 +1051,7 @@ audit program at a higher or lower version. If new features have been
10431051added, they will not be visible unless the PingCastle Enterprise program
10441052is updated, but no data will be lost in the mean time.
10451053
1046- Schedule
1054+ ** Schedule**
10471055
10481056The best way to schedule it is to run your own scheduler. Indeed, you
10491057may have purchase a batch product which is looking for failure or
@@ -1056,7 +1064,7 @@ scheduler.
10561064The recommended frequency is every week, using a normal user account
10571065(not privileged) running on a batch server (not a DC).
10581066
1059- Command
1067+ ** Command**
10601068
10611069You need to create an API key with the upload right (the \" Agent\" page
10621070as admin).
@@ -1078,11 +1086,11 @@ PingCastle Enterprise supports a synchronization mode to implement a
10781086security zone model (used within the Defense). Ony domains are
10791087synchronized (no AzureAD).
10801088
1081- PingCastle Enterprise high trust
1089+ ** PingCastle Enterprise high trust**
10821090
10831091PingCastle Enterprise high trust
10841092
1085- PingCastle Enterprise low trust
1093+ ** PingCastle Enterprise low trust**
10861094
10871095PingCastle audits
10881096
@@ -1205,7 +1213,7 @@ The method to run the application manually is to run the command:
12051213dotnet.exe PingCastleEnterprise.dll
12061214```
12071215
1208- (dotnet.exe is stored by default on c:\\ program files\\ dotnet)
1216+ ** (dotnet.exe is stored by default on c:\\ program files\\ dotnet)**
12091217
12101218Additionnally, you can choose to open the application on the network by
12111219specifying the \- -server.urls parameter:
@@ -1221,7 +1229,7 @@ service connect under IIS APPPool\\AppName. We recommend to look at the
12211229following page to grant right to the application pool account on Sql
12221230Server:
12231231
1224- https://blogs.msdn.microsoft.com/ericparvin/2015/04/14/how-to-add-the-applicationpoolidentity-to-a-sql-server-login
1232+ ** https://blogs.msdn.microsoft.com/ericparvin/2015/04/14/how-to-add-the-applicationpoolidentity-to-a-sql-server-login **
12251233
12261234Then depending on the platform additional logs can be stored.
12271235
@@ -1270,7 +1278,9 @@ Solution:
12701278identify the correct version of the framework and install it. Do not
12711279forget to install the IIS middleware is you are installing on IIS.
12721280
1273- Note: the last error was related to the missing KB KB2533623
1281+ ::: note
1282+ The last error was related to the missing KB KB2533623
1283+ :::
12741284
12751285## Missing web.config
12761286
@@ -1381,7 +1391,7 @@ Follow the steps to enable debug logging.
138113915 . From the same directory, open the ** web.config** file and edit the
13821392 ** aspNetCore** tag so ** stdoutLogEnabled=true** .
13831393
1384- Example
1394+ ** Example**
13851395
13861396``` xml
13871397<aspNetCore processPath =" dotnet"
0 commit comments