Skip to content

Commit f1081bb

Browse files
authored
Merge pull request #102 from netwrix/sree/pingcastle-3.3-finalscripts
PingCastle 3.3 completed
2 parents 74c8cc3 + f98b763 commit f1081bb

File tree

7 files changed

+207
-178
lines changed

7 files changed

+207
-178
lines changed

docs/pingcastle/3.3/enterpriseinstall.md

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ management, thus improving over time.
1111

1212
# Requirements
1313

14-
System Specifications
14+
**System Specifications**
1515

1616
The Operating systems supported are:
1717

@@ -78,7 +78,7 @@ include subdomains of a forest.
7878
Enterprise licenses are bundled in packs of 10 domains, up to 60, with
7979
an unlimited license thereafter.
8080

81-
Example
81+
**Example**
8282

8383
If you have consto.com with two subdomains called uk.consto.com and
8484
us.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

180180
You can define a custom message at the login page. You have to use the
181181
custom option "customLoginMessage".
@@ -195,7 +195,7 @@ JAVASCRIPT.
195195

196196
# Post Installation - Scheduler
197197

198-
Quick installation
198+
**Quick installation**
199199

200200
PingCastle allows the possibility to the administrator of the
201201
application 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
232233
the task scheduler. We will use the COM api as it exposes the security
233234
descriptor -- which is not the case of the native PowerShell APIL
235+
:::
234236

235237
If you want PingCastle to be able to start or stop tasks but not being
236238
able to edit them (it requires that the account is local admin), you
@@ -291,11 +293,11 @@ core 8.0 middleware.
291293

292294
Microsoft 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
373375
sudo /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
379383
sudo -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

411415
Do 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

450454
You need to first create this Windows user.
451455

@@ -514,13 +518,13 @@ For the license, the parameter is stored in the \"License\" setting.
514518

515519
Here 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

546550
The asp.net core middleware requires IIS to provide the authentication
547551
layer. 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

609613
PingCastle 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).
610614
The 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

636640
Connect 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

683687
You 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

705709
If you want to hide the internal accounts, you can set the following
706710
property in the appsettings.json file.
@@ -711,7 +715,7 @@ PingCastle Enterprise supports natively SAML2 authentication.
711715

712716
PingCastle 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

716720
This option requires that the IdP can be accessed directly by the
717721
server. 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

752756
In 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

778782
To remove the need for the IdP metadata query to the remote server, the
779783
saml configuration can be set manually. For this procedure, we follow
@@ -803,7 +807,7 @@ certificate. It can be seen also in the metadata:
803807

804808
The 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

808812
When 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
822827
the field DisplayName in the Saml2 section in the configuration file to
823828
the value you want.
829+
:::
824830

825-
Configure Client certificate authentication
831+
**Configure Client certificate authentication**
826832

827833
The first step is to configure the webserver to require a client
828834
certificate 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
849855
verify it is trusted (chain building, online verification) and map it to
850856
a 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
853860
they cannot be joined, the verification will have to be turned OFF using
854861
the 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

877885
PingCastle 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

981989
For more details please see the user documentation.
982990

983-
Entities
991+
**Entities**
984992

985993
PingCastle configures by default an entity named \"Default\". It is the
986994
entity where Auto Created domains are assigned.
@@ -995,20 +1003,20 @@ to edit a base hierarchy using an Excel file.
9951003

9961004
This Excel file is the same used in the PingCastleReporting tool.
9971005

998-
Encryption
1006+
**Encryption**
9991007

10001008
PingCastle Enterprise comes by default with the PingCastle default
10011009
encryption key.
10021010

10031011
If 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

10081016
You can import existing report using the bulk import functionality of
10091017
the Advanced -\> Interoperability menu.
10101018

1011-
Agents
1019+
**Agents**
10121020

10131021
You can configure PingCastle program to send their report to the
10141022
program.
@@ -1032,7 +1040,7 @@ To avoid any hole in security architecture, it was chosen to not run
10321040
PingCastle scans from the web application. That means that the local
10331041
domains have to push their information into PingCastle Enterprise.
10341042

1035-
Program
1043+
**Program**
10361044

10371045
It is recommended to run the latest official version of PingCastle. The
10381046
PingCastle.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
10431051
added, they will not be visible unless the PingCastle Enterprise program
10441052
is updated, but no data will be lost in the mean time.
10451053

1046-
Schedule
1054+
**Schedule**
10471055

10481056
The best way to schedule it is to run your own scheduler. Indeed, you
10491057
may have purchase a batch product which is looking for failure or
@@ -1056,7 +1064,7 @@ scheduler.
10561064
The 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

10611069
You need to create an API key with the upload right (the \"Agent\" page
10621070
as admin).
@@ -1078,11 +1086,11 @@ PingCastle Enterprise supports a synchronization mode to implement a
10781086
security zone model (used within the Defense). Ony domains are
10791087
synchronized (no AzureAD).
10801088

1081-
PingCastle Enterprise high trust
1089+
**PingCastle Enterprise high trust**
10821090

10831091
PingCastle Enterprise high trust
10841092

1085-
PingCastle Enterprise low trust
1093+
**PingCastle Enterprise low trust**
10861094

10871095
PingCastle audits
10881096

@@ -1205,7 +1213,7 @@ The method to run the application manually is to run the command:
12051213
dotnet.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

12101218
Additionnally, you can choose to open the application on the network by
12111219
specifying the \--server.urls parameter:
@@ -1221,7 +1229,7 @@ service connect under IIS APPPool\\AppName. We recommend to look at the
12211229
following page to grant right to the application pool account on Sql
12221230
Server:
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

12261234
Then depending on the platform additional logs can be stored.
12271235

@@ -1270,7 +1278,9 @@ Solution:
12701278
identify the correct version of the framework and install it. Do not
12711279
forget 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.
13811391
5. 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

Comments
 (0)