Anmelden
Ich möchte für die nächsten 30 Tagen angemeldet bleiben
Deutsch
Several pages in the usergroup are available in English. Click on english to visit these pages.
Druckerfreundlich Frage zum Thema Sicherheit
Sortieren:
Nächster BeitragNächster Beitrag
Sie sind nicht autorisiert, um eine Antwort zu erstellen.
Autor Nachrichten
Roland ThöniBenutzer ist Offline
Beiträge: 152
Basic Member


--
05 Jun 2020 23:17
Wir hatten vor kurzem in einem anderen Beitrag das Thema Sicherheit.
Jetzt haben wir im Team verschiedene Serverversionen und SQL Version durchgearbeitet, von Express, Developer, Web, Standard bis hin zum Enterprise. Wir wollten auf Nummer sichergehen, damit kein Zugriff möglich ist. Überall gibt es diesen Fehler unten, ob mit Windows- Authentifizierung oder mit SA:

Fehler mit SRV 2019, SQL 2019 Express/Standard
Es gibt zur Zeit keine Sicherheitsmeldungen für DNN Platform, Version 09.05.00/09.06.01
Im Log gibt es dafür diesen Eintrag:
2020-06-05 23:25:53.749+02:00 [vps74][D:2][T:34][ERROR] DotNetNuke.Services.Exceptions.Exceptions - System.Data.SqlClient.SqlException (0x80131904): Es konnte eine Verbindung mit dem Server hergestellt werden, doch w�hrend des Handshakes vor der Anmeldung trat ein Fehler auf. (provider: SSL Provider, error: 0 - Das angegebene Handle ist ung�ltig.) ---> System.ComponentModel.Win32Exception (0x80004005): Das angegebene Handle ist ung�ltig
   bei System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   bei System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   bei System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   bei System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   bei System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   bei System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   bei System.Data.SqlClient.SqlConnection.Open()
   bei PetaPoco.Database.OpenSharedConnection()
   bei DotNetNuke.Data.PetaPoco.PetaPocoExt.ExecuteReader(Database database, String sql, Object[] args)
   bei DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteReader(String connectionString, CommandType type, Int32 timeoutSec, String sql, Object[] args)
   bei DotNetNuke.Data.SqlDataProvider.ExecuteReader(String procedureName, Object[] commandParameters)
   bei DotNetNuke.Services.Log.EventLog.DBLoggingProvider.<>c.b__25_0(CacheItemArgs c)
   bei DotNetNuke.Common.Utilities.DataCache.GetCachedDataFromRuntimeCache(CacheItemArgs cacheItemArgs, CacheItemExpiredCallback cacheItemExpired)
ClientConnectionId:5c160f7b-f450-404c-9133-cc5e3f1db3b7
Fehlernummer (Error Number):-2146893055,Status (State):0,Klasse (Class):20
2020-06-05 23:30:01.738+02:00 [vps74][D:3][T:3][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [3] Error executing SQL: DECLARE @Output TABLE(Data NVARCHAR(255), Depth INT)
INSERT INTO @Output EXEC sys.xp_dirtree 'D:\WEB\TG-COM'
SELECT @@ROWCOUNT

Parameter '@Output' specified but none of the passed arguments have a property with this name (in 'DECLARE @Output TABLE(Data NVARCHAR(255), Depth INT)
INSERT INTO @Output EXEC sys.xp_dirtree 'D:\WEB\TG-COM'
SELECT @@ROWCOUNT
')

Fehler mit SRV 2008 R2, SQL 2012 WEB
There was an error retrieving your content. Please check your internet connection.
Could Not Connect To https://dnnplatform.io/security.aspx?type=Framework&name=DNNCORP.CE&version=090601. You Should Verify The Source Address Is Valid And That Your Hosting Provider Has Configured Their Proxy Server Settings Correctly.
Im Log gibt es keinen Eintrag

Nun gehen wir davon aus, das der Fehler oben vom DNN Sicherheitshinweise ausgelöst wird.
Sind wir damit auf dem Holzweg? Wir hatten alles blockiert bis auf den Port 80, sowie ohne Internetverbindung.

Beste Grüsse und schönes Wochenende.
Sebastian LeupoldBenutzer ist Offline
Beiträge: 7101
Senior Member


--
06 Jun 2020 00:15
Hallo Roland,
ohne Details zur Konfiguration der Server ist das schwer zu beantworten, daher nur ein paar Hinweise:-
- das klingt nach einem Web-basierten Hacker-Angriff.
- zum zweiten Eintrag: DNN enthält keine Datei Security.aspx.
- der erste Eintrag enhält leider nicht den geamten Aufrug, aber hier wird versucht, eine Dateiliste via SQL Server auszugeben.
Grüße aus Karlsruhe,
Sebastian Leupold
dnnWerk Verbund
dnnWerk - die DotNetNuke-Experten Deutsche DotNetNuke Usergroup
Roland ThöniBenutzer ist Offline
Beiträge: 152
Basic Member


--
06 Jun 2020 08:03
Hallo Sebastian
Danke für deine Erklärungen. Ich versuche das mal kurz aufzuzeigen. Wir haben vom Domainnamen über DNS bis zu den Servern alles neu erstellt. Also einen Webzugriff in dem Sinne fast nicht möglich, da diese Adresse (Domain. sowie die IP Adresse) wirklich frisch ist und nirgendwo zu finden sein kann. Bei den Ports ist alles zu, bis auf http 80 und 7070 anydesk.
Meine Arbeitsgeräte (HP Z820 Win 10/MacBook Catalina) haben wir komplett neu erstellt um sicher zu gehen, dass nichts von mir kommt.

Wir haben uns nach dieser Vorgabe hier: https://www.digitalalphas.com/how-to-install-dotnetnuke-dnn/ gehalten und kommen immer zum gleichen Ergebnis.
Bitte versteht mich nicht faltsch, aber auch wenn wir in der vmware das Netzwerk nie onlineschalten kommt diese Meldung.
Sprich wir haben die Grundinstallation durchgeführt, danach die beiden Microsoft CodeDom .NET Compiler for .NET 4.5/4.6+, sowie den DNN JWT Auth Handler in den Erweiterungen ausgewählt, danach die Website-Dateien und System-Dateien (diesen Ordner und Unterordner synchronisieren) Cache leeren, Anwendung neustarten und zack, die Einträge sind drinnen.

Ohne irgendjemand da was in die Schuhe schieben zu wollen, aber wir haben auch vor jeder Neuinstallation auf Github die 9.5.0 - 9.6.1 heruntergeladen.
Kann es sein, das da was drinnen ist oder verbogen?

Ergänzung:
Wir haben testhalber noch die DNN 9.2.2/9.3.1 genommen und haben keinen Eintrag wie oben gefunden im log.ressources. Erst ab der DNN 9.3.2 beginnt das mit den Einträgen.
Quereinsteiger aus dem Eventbusiness
Sebastian LeupoldBenutzer ist Offline
Beiträge: 7101
Senior Member


--
06 Jun 2020 13:28
Sind das die Einträge aus dem Windows EventLog oder aus DNN (EventLog/ Log4Net)?
Gibt es zur gleichen Zeit auch Einträge aus dem IIS LogFile für diese Website?
Grüße aus Karlsruhe,
Sebastian Leupold
dnnWerk Verbund
dnnWerk - die DotNetNuke-Experten Deutsche DotNetNuke Usergroup
Roland ThöniBenutzer ist Offline
Beiträge: 152
Basic Member


--
06 Jun 2020 14:16
Im DNN Sicherheitsüberprüfung:
CheckSqlRisk : Check Current SQL Account Permission
erfolgreich
The SQL Server account configured correctly.

-------- 2020-06-06 16:03:02.262+02:00 [vps74][D:13][T:20][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [3] Error executing SQL: DECLARE @Output TABLE(Data NVARCHAR(255), Depth INT) INSERT INTO @Output EXEC sys.xp_dirtree 'D:\WEB\TG-COM' SELECT @@ROWCOUNT Parameter '@Output' specified but none of the passed arguments have a property with this name (in 'DECLARE @Output TABLE(Data NVARCHAR(255), Depth INT) INSERT INTO @Output EXEC sys.xp_dirtree 'D:\WEB\TG-COM' SELECT @@ROWCOUNT ') 2020-06-06 16:03:02.279+02:00 [vps74][D:13][T:20][ERROR] DotNetNuke.Data.SqlDataProvider - System.ArgumentException: Parameter '@Output' specified but none of the passed arguments have a property with this name (in 'DECLARE @Output TABLE(Data NVARCHAR(255), Depth INT) INSERT INTO @Output EXEC sys.xp_dirtree 'D:\WEB\TG-COM' SELECT @@ROWCOUNT ') bei PetaPoco.Internal.ParametersHelper.<>c__DisplayClass5_0. b__0(Match m) bei System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat) bei System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator) bei PetaPoco.Database.CreateCommand(IDbConnection connection, CommandType commandType, String sql, Object[] args) bei DotNetNuke.Data.PetaPoco.PetaPocoExt.ExecuteReader(Database database, String sql, Object[] args) bei DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteReader(String connectionString, CommandType type, Int32 timeoutSec, String sql, Object[] args) bei DotNetNuke.Data.SqlDataProvider.ExecuteSQLInternal(String connectionString, String sql, Int32 timeoutSec, String& errorMessage) 2020-06-06 16:03:02.287+02:00 [vps74][D:13][T:20][ERROR] DotNetNuke.Data.PetaPoco.PetaPocoHelper - [3] Error executing SQL: DECLARE @OS VARCHAR(1000) EXECUTE xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductName', @OS OUTPUT SELECT 1 Parameter '@OS' specified but none of the passed arguments have a property with this name (in 'DECLARE @OS VARCHAR(1000) EXECUTE xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductName', @OS OUTPUT SELECT 1') 2020-06-06 16:03:02.288+02:00 [vps74][D:13][T:20][ERROR] DotNetNuke.Data.SqlDataProvider - System.ArgumentException: Parameter '@OS' specified but none of the passed arguments have a property with this name (in 'DECLARE @OS VARCHAR(1000) EXECUTE xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductName', @OS OUTPUT SELECT 1') bei PetaPoco.Internal.ParametersHelper.<>c__DisplayClass5_0. b__0(Match m) bei System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat) bei System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator) bei PetaPoco.Database.CreateCommand(IDbConnection connection, CommandType commandType, String sql, Object[] args) bei DotNetNuke.Data.PetaPoco.PetaPocoExt.ExecuteReader(Database database, String sql, Object[] args) bei DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteReader(String connectionString, CommandType type, Int32 timeoutSec, String sql, Object[] args) bei DotNetNuke.Data.SqlDataProvider.ExecuteSQLInternal(String connectionString, String sql, Int32 timeoutSec, String& errorMessage) ----------



2020-06-06 14:03:00 10.50.1.74 GET /API/PersonaBar/Security/GetBasicLoginSettings cultureCode=de-DE 80 roland.thoeni 195.141.53.232 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:77.0)+Gecko/20100101+Firefox/77.0 http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37 200 0 0 5986
2020-06-06 14:03:02 10.50.1.74 GET /API/PersonaBar/Security/GetAuditCheckResults - 80 roland.thoeni 195.141.53.232 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:77.0)+Gecko/20100101+Firefox/77.0 http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37 200 0 0 367
2020-06-06 14:03:08 10.50.1.74 GET /API/PersonaBar/Security/GetAuditCheckResult id=CheckUnexpectedExtensions 80 roland.thoeni 195.141.53.232 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:77.0)+Gecko/20100101+Firefox/77.0 http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37 200 0 0 366
2020-06-06 14:03:15 10.50.1.74 GET /API/PersonaBar/Security/GetAuditCheckResult id=CheckHiddenSystemFiles 80 roland.thoeni 195.141.53.232 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:77.0)+Gecko/20100101+Firefox/77.0 http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37" target="_blank" rel="nofollow">http://www.xy.com/DesktopModules/ad...tml?cdv=37 200 0 0 513
-------------------------------------------------------------
Das DNN Log (TXT): https://www.dropbox.com/s/pn782q492c56h5r/Protokolldateien_resources_log.txt?dl=0
Das IIS Log (TXT): https://www.dropbox.com/s/xffsddb9xrq5pie/u_ex200606.log?dl=0
Quereinsteiger aus dem Eventbusiness
Sebastian LeupoldBenutzer ist Offline
Beiträge: 7101
Senior Member


--
06 Jun 2020 14:48
ich habe auch noch gestöbert, und der Befehl ist tatsächlich Teil des Sicherheitsaudits - der aber vermutlich wegen PetaPoco immer fehlschlägt (false positive) und dabei einen Fehler auslöst - was er eigentlich auch nicht soll. Du kannst die Einträge im Log also ignorieren.
Bei den älteren Servern Win2008 und 2012 könnte der an den Einstellungen der verwendeten .Net-Version liegen oder das der DOM-Compiler nicht unterstützt wird. Wenn ihr die alten Windows-Server-Versionen nicht wirklich braucht, würde ich da nicht viel Zeit investieren.
Bitte löschen die Dateien in Deiner Dropbox wieder.
Grüße aus Karlsruhe,
Sebastian Leupold
dnnWerk Verbund
dnnWerk - die DotNetNuke-Experten Deutsche DotNetNuke Usergroup
Roland ThöniBenutzer ist Offline
Beiträge: 152
Basic Member


--
06 Jun 2020 14:59
Danke Sebastian
Das positive ist am ganzen ist, das ich einen 2019 Server mit der Express Edition am laufen habe und alles wieder aufgeräumt. :)

Schönes Wochenende und danke für alles ....
Quereinsteiger aus dem Eventbusiness
Michael TobischBenutzer ist Offline
Beiträge: 942
Advanced Member


--
09 Jun 2020 08:12

Hallo Roland,

in meinem Blog habe ich verschiedene Aspekte zur Absicherung von DNN beschrieben (manche davon sind aber nicht mehr gültig, insbesondere auf das Thema "Request Validation" im Teil 3 solltest du verzichten, das ist in der Zwischenzeit nicht mehr relevant bzw. anders gelöst und führt dazu, dass die Site nicht mehr funktioniert).

Den Blog findest du hier: Michaels Blog

Wie man den SQL-Server absichern kann findest du im Teil 7

Gruß aus Innsbruck
Michael

Michael Tobisch
DNN★MVP

dnnWerk Austria
DNN Usergroup für den deutschsprachigen Raum
DNN Connect
Roland ThöniBenutzer ist Offline
Beiträge: 152
Basic Member


--
16 Jun 2020 21:10
Hallo Michael
Danke für deinen Input. Ich bin diese eins zum anderen am abarbeiten. Nun frage ich mich allerdings schon, ob es möglich wäre eine Kopie einer web.config als Beispiel irgendwo herunterzuladen zum vergleichen mit deinen Beispielen.
Zum anderen Frage ich mich auch, ob es nicht möglich wäre, diese Einträge schon von Beginn an in der web.config im Zip auf Github auf jeder DNN bereits zu intergrieren?

Quizfrage ist noch, ob das hier behoben werden kann:
020-06-16 21:58:01.785+02:00 [vps74][D:2][T:12][FATAL] DotNetNuke.Web.Common.Internal.DotNetNukeHttpApplication - System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (:).
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

So wie ich das verstehe, ist das im DNN selber irgendwo hinterlegt und da schraube ich schon mal nichts dranherum: https://stackoverflow.com/questions/25570506/a-potentially-dangerous-request-path-value-was-detected-from-the-client-an
Quereinsteiger aus dem Eventbusiness
Sebastian LeupoldBenutzer ist Offline
Beiträge: 7101
Senior Member


--
16 Jun 2020 21:36
hallo Roland,
Schau dir mal die web.config aus dem Install-Paket für deine DNN-Version an, der Eintrag httpRuntime sollte in beiden gleich sein.
Grüße aus Karlsruhe,
Sebastian Leupold
dnnWerk Verbund
dnnWerk - die DotNetNuke-Experten Deutsche DotNetNuke Usergroup
Michael TobischBenutzer ist Offline
Beiträge: 942
Advanced Member


--
17 Jun 2020 07:33
Hallo Roland,

> Zum anderen Frage ich mich auch, ob es nicht möglich wäre, diese Einträge schon
> von Beginn an in der web.config im Zip auf Github auf jeder DNN bereits zu intergrieren?


das ist insofern schwierig, als es ja von den Anforderungen abhängt. Wer noch kein Zertifikat erstellt hat (was mit Sicherheit in den meisten Test- und Entwicklungsumgebungen der Fall ist) der läuft sofort in ein Problem mit der Umleitung auf HTTPS bzw. HSTS. Auch Policies (CSP, Feature Policy etc.) sind sehr individuell zu gestalten. Andererseits ist einiges ja auch schon eingeflossen, Schau dir dazu bitte auch die Folien zu meinem Vortrag auf der DNN Connect 2019 an

Zu allen beschriebenen Punkten sei angemerkt: einen nach dem anderen, probieren ob alles funktioniert, sonst zurück, dann den nächsten.

Zur Request Validation habe ich bereits angemerkt, dass die von mir beschriebene Vorgangsweise nicht mehr gilt. Ich sollte den Blog vielleicht dahingehend einmal anpassen...

Gruß aus Innsbruck
Michael

Michael Tobisch
DNN★MVP

dnnWerk Austria
DNN Usergroup für den deutschsprachigen Raum
DNN Connect
Sie sind nicht autorisiert, um eine Antwort zu erstellen.

Active Forums 4.2
NOT LICENSED FOR PRODUCTION USE
www.activemodules.com