Ukázka a šifrování databázového souboru



Výchozí konfigurační soubor

Konfigurační soubor database.enc definuje umístění databázového serveru a autorizaci ke každé databázi. Níže je uveden konfigurační soubor ve výchozím stavu. V tomto otevřeném stavu je soubor použitelný a lze takto instalaci provozovat po nahrazení připojovacích údajů za produkční. Otevřená forma není vhodná a dovoluje snadné vyzrazení přístupu k SQL serveru neoprávněným osobám. Pro zašifrování údajů přejděte níže na této stránce do sekce "Šifrování konfiguračního souboru".

 

<config>
  <connections>
    <connection id="CS01" name="DATA">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_data]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>
    <connection id="CS02" name="ARCHIVE">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_archiv]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>
    <connection id="CS03" name="QSD">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_qsd]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>
    <connection id="CS04" name="ATTACHMENTS">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_attach]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>
    <connection id="CS05" name="TRAINING">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_training]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>
  </connections>
  <databases actual="DB01">
    <database id="DB01" name="[PRODUCTION]">
      <default>CS01</default>
      <subdatabases>
        <subdb type="archiv">CS02</subdb>
        <subdb type="qsd">CS03</subdb>
        <subdb type="attachments">CS04</subdb>
      </subdatabases>
    </database>
    <database id="DB02" name="[TRAINING]">
      <default>CS05</default>
    </database>
  </databases>
</config>

 

Popis jednotlivých částí a jejich význam

Definování připojení k databázi:

    <connection id="CS01" name="DATA">
      <provider>mssql</provider>
      <string>Data Source=[SQL_SERVER_PCINSTANCE_NAME];Initial Catalog=[NAME_DATABASE_data]</string>
      <user>pal</user>
      <password>[HESLO_SQL_UZIVATELE_PAL]</password>
    </connection>

connection

 

 

Definice připojení k určité databázi (Palstat může využívat jedno či více připojení)

 

 

Id

Jedinečný identifikátor připojení

 

 

Name

Název Připojení popisující druh databáze a viditelný např. v programu DBBM

 

provider

 

Na jaký typ databáze se budeme připojovat

 

string

 

Tzv. connection string, definuje server a název databáze.

 

 

Data Source

Definujte název či IP adresu SQL serveru VČETNĚ názvu instance

 

 

Initial Catalog

Název SQL databáze pro daný typ připojení

 

user

 

Jméno uživatele pod jakým se má aplikace připojovat k SQL serveru. Nastavte na „pal“

 

password

 

Heslo uživatele


Navázání připojení do bloku s jednou databázovou volbou:

<databases actual="DB01">
  <database id="DB01" name="NAZEV FIRMY - Palstat 3G">
    <default>CS01</default>
    <subdatabases>
      <subdb type="archiv">CS02</subdb>
      <subdb type="qsd">CS03</subdb>
      <subdb type="attachments">CS04</subdb>
    </subdatabases>
  </database>
</databases>

connection

 

 

Blok databází může obsahovat několik databází, které lze při spuštění vybrat

 

 

actual

Identifikátor databáze, který má být výchozí

 

database

 

Definování bloku s připojením, může být vloženo více bloků a při spuštění bude nabídnuto.

 

 

id

Jedinečný identifikátor, používá se do

 

 

name

Název databáze jak má být viditelný uživatelům při spuštění Palstat.

 

default

 

Identifikátor spojení, který má být použit pro tento blok jako výchozí (běžně databáze data)

 

subdatabases

 

Pokud je pro databázový blok použito použití s více databázemi, data jsou rozložena.

 

subdb

 

Zápis s identifikátorem připojení na konkrétní typ databáze.

 

 

type

Definuje o jaký typ databáze se jedná.Upravujte pouze identifikátor nikdy „type“

 

Navázání připojení do bloku s dvěma databázovými volbami:

<databases actual="DB01">
   <database id="DB01" name=" DATABAZE 1 - Palstat 3G">
     <default>CS01</default>
     <subdatabases>
       <subdb type="archiv">CS02</subdb>
       <subdb type="qsd">CS03</subdb>
       <subdb type="attachments">CS04</subdb>
     </subdatabases>
   </database>
  <database id="DB02" name="DATABAZE 2 - Palstat 3G">
    <default>CS11</default>
  </database>
</databases>

 

Šifrování konfiguračního souboru - doporučujeme

Šifrování proveďte po instalaci systému kdy po dobu instalace jsou hesla v konfiguračních souborech čitelná a aplikace PalstatCAQ je jako celek funkční.
 

Definování hesel pro šifrování:
 

  • v adresáři CAQservice vyhledejte "PasswordManager.exe"
  • definujte "Password ID" například "MSSQL_PASS" nebp "SMTP_PASS"
  • pro každé ID přiřaďte odpovídající heslo
  • uložte konfiguraci kdy v adresáři ./CONFIG se nově založí šifrovaný BIN soubor


Přiřazení ID do konfigurace:
 

  • každé heslo je zastoupeno vlastním ID identifikátorem definovaným v předchozím kroku
  • nyní přiřaďte jednotlivá ID na patřičná místa v database.enc (MSSQL) případně config.xml (SMTP)
  • v místě v patřičném souboru kde je čitelné heslo vložte identifikátor hesla v této podobě
    • "#ID=MSSQL_PASS" např. pro database.enc
    • "#ID=SMTP_PASS" např. pro config.xml

 

Reverzní decrypt:

Je omezeno na 2FA pouze pro servisní zásahy a omezeno specielním procesem aktivace, který není pro uživatele a administrátory dostupný.

caqinfo /expert [2FA] /pwdstore

Ukázka database.enc s převedením hesel do šifrování

<config>
  <connections>
    <connection id="CS01" name="Example">
      <provider>mssql</provider>
      <string>Data Source=SQLSERVERSQL_INSTANCE;Initial Catalog=SQL_DATABASE</string>
      <user>pal</user>
      <password>#ID=MSSQL_PASS</password>
    </connection>
  </connections>

  <databases actual="DB02">
	<database id="DB02" name="Example">
		<default>CS01</default>
	</database>
   </databases>
</config>



 


 

 

Šifrování konfiguračního souboru - zastaralé

Postup níže je zastaralý a doporučujeme přejít na modernější metodu zabezbečení.

Pro šifrování konfiguračního souboru je nutné, aby součástí adresáře CONFIG byl také soubor „database.pwd“, který slouží jako klíč pro vytvoření šifrovaného connection souboru. Je dodáván pouze na vyžádání.

Pomocí tohoto programu můžete také definovat více instancí PALSTAT CAQ a zcela odděleně provozovat i několik systému například pro testování. Stačí založit potřebný počet „konekcí“ a tyto přiřadit k více záznamům jak ukazuje obrázek níže.


Vytvoření šifrovaného připojení – volitelně ( nutný soubor database.pwd )

Spusťte program ./APL/ConnStrEditor.exe a ihned po spuštění budete vyzvání k vložení potvrzovacího souboru. Na serveru v adresáři CONFIG nalistujte soubor database.pwd. Následně dojde k otevření programu kde přejděte na záložku „Editace připojení“. Klikněte na ikonku  pro založení nového připojení. Dále vyplňte pole

„Name“ název připojení slouží jen pro identifikaci

„Provider“ druh databázového serveru

„Login“ a „Password“ vložte uživatele, který je oprávněn přistupovat k serveru

„Connection String“ viz příklad níže. Obsahuje název databáze a serveru

Data Source=lukas-pc;Initial Catalog=pal3g_data

Stejným způsobem založte připojení pro všechny databáze, které palstat používá tedy:

pal3g_data, pal3g_archiv, pal3g_attach, pal3g_qsd

Pomocí tlačítka “Test it” můžete otestovat zda Vámi definované připojení je funkční.

Přiřazení připojení k databázím

Po vytvoření připojení je nutné jejich přiřazení pro každou databázi viz. Obrázek a nastavení vytvořené instance jako výchozí pomocí tlačítka „Nastavit jako výchozí“

 

 

 

 

 

https://www.palstat.cz/ - Systém řízení kvality Ubytování ve Vrchlabí