27. 7. 2016

Vypnutí a zapnutí automatického doplňování dat do ID sloupce

Pokud máte na tabulce zapnuté automatické doplňování čísel v ID sloupci a chcete zde provést insert dalších dat, která mají u sebe IDčka, musíte provést zapnutí jedné funkce, aby vám to bylo povoleno. A po dokončení pak tuto funkci zase vypnout.

SET IDENTITY_INSERT Název_tabulky ON
váš skript
SET IDENTITY_INSERT Název_tabulky OFF

Tuto funkci můžete použít současně pouze u jedné tabulky. Tzn., pokud funkci u tabulky nevypnete, nepůjde jinde použít.

24. 7. 2016

Jak zjistit přesnou verzi Windows

Zjistit přesnou verzi operačního systému Windows lze více způsoby, ale nejrychlejší a nejobsáhlejší je asi tento jediný.
Pro zobrazení informačního okna, klepněte na Start a napište příkaz

winver

Ten zobrazí toto okno, kde vidíte verzi vašeho systému i jaký přesný build máte nainstalovaný.

19. 7. 2016

WIX Toolset - vytvoření projektu

MSI už existuje nějakou dobu, nicméně až v poslední době se s ním začíná pracovat čím dál více.


Proč zrovna Wix?

Jeho základem je XML, takže je jednoduchý na správu. Je škálovatelný, můžete definovat různé podmínky a také jej můžete využívat na větších projektech.
Nicméně s jeho učením je to už trošku horší... Trvalo mi asi měsíc než jsem se do toho dostal a pochopil o co vlastně jde. Pokud jste s instalacemi přišli do styku už dříve, určitě to zvládnete rychleji.




Co budete potřebovat?

Pokud používáte Vistual Studio, budete to mít o hodně jednodušší.
Jelikož je VS zdarma (za určitých podmínek), můžete si jej stáhnout přímo z webu VS zde.
Wix Toolset je také zdarma a stahovat můžete zde.
Wix se dá využívat i bez VS, přímo z příkazové řádky (light.exe, candle.exe, heat.exe atd). Nicméně, já zde budu popisovat tvorbu instalace přes VS.
Nainstalujte prvně Visual Studio a poté Wix, protože Wix přidá do VS různé featury, které budete určitě potřebovat.

Tvorba projektu

Otevřete VS a založte nový projekt.
File -> New -> Project -> Windows Installer XML -> Setup Project
Otevře se vám soubor Product.wxs ve kterém jsou už základní elementy a atributy. Nyní ještě instalačku vytvořit nejde, musíte zde dodat další informace, které si postupně projdeme.

Upozornění na začátek - XML soubory jsou case sensitive, takže "ID" neznamená to samé co "Id" nebo "id".

Product element - hlavní popis produktu
Id: jedinečné GUID aplikace - mělo by být stále stejné a nikdy se neměnit. Jak vidíte, tak se zde objevila hvězdička. Místo hvězdičky zde doplňte GUID - což můžete provést následovně: Tools -> Create GUID -> Registry Format -> Copy. Proč je toto nutné udělat? Protože, kdyby zde zůstala hvězdička, GUID by se s každým novým buildem (novou tvorbou) změnilo a to je nežádoucí, pokud chcete v budoucnu provádět aktualizace vaší aplikace.
GUID můžete v projektu použít se složenými závorkami i bez nich - fungovat bude obojí.
Name: název aplikace
Language: seznam jazykových ID, které bude balíček podporovat
Version: verze vaší aplikace
Manufacturer: Výrobce - což jste vlastně vy
UpgradeCode: jedinečné GUID, které vám bude sloužit až budete vytvářet minor verze aplikace
Package: informace o instalačním balíčku
InstallerVersion: specifikujte jaká práva musí mít uživatel, aby mohl aplikaci nainstalovat
Compressed: nastavte na "yes", pakliže chcete mít kompripované soubory ve zdroji
InstallScope: definice, jestli se bude aplikace instalovat pro všechny uživatele nebo jen pod daného uživatele
Dokumentaci k sekci naleznete přímo zde.

MediaTemplete: zde dodejte ještě toto EmbedCab='yes'
Tím říkáte, že instalační soubor bude pouze jeden, tzn. všechny soubory se schovají do jednoho msi.
Výsledek bude vypadat takto
<MediaTemplate EmbedCab="yes" />


Tímto to samozřejmě nekončí. Příště si ukážeme, jak přidat do instalátoru soubory a provést build aplikace.

Zdroje

Nick Ramirez - Wix: A Developer's Guide to Windows Installer XML - vynikající kniha pro každého, kdo chce s Wixem začít pracovat. Najdete zde opravdu hodně praktických informací, příkladů a vysvětlení.


wixtoolset.org - ocifiální web na kterém najdete i průvodce vytvořením instalace. Podle mě není ale tak dobrý jako uvedená kniha.

Jak v Cisco ACS nastavit jedno zařízení jako Secondary

1. Jelikož jsem toto prováděl v testovacím prostředí, vypnul jsem využívání trust komunikace. Konkrétně Configuration -> Global System Options -> Trust Communication Settings -> Enable Nodes Trust Communication odškrtněte.




2. Každý stroj musí mít samozřejmě svou vlastní licenci, kterou jste nahrávali na začátku, po instalaci. Anebo ji můžete znovu nahrát přes System Operation -> Configuration -> Licensing -> Base Server License -> vyberte vaše ACS a klikněte na Upgrade/Modify -> zde načtěte licenci a dole na stránce potvrďte Submit.

3. Nyní si otevřete webové rozhranní na zařízení, které chcete nastavit jako pasivní neboli jako "slave". Jakékoliv zařízení, které nainstalujete se automaticky stává Primary zařízením neboli Master. Takže pokud chcete spojit dvě zařízení dohromady, rozhodněte se, které z nich bude secondary a s tím pracujte. V menu jděte do System Operation -> Operations -> Local Operations -> Deployment Operations -> jako Primary Instance zadejte hostname nebo IP adresu Primary serveru. Jméno a heslo zadejte tohoto zařízení. Následně stačí jen potvrdit "Register to Primary". Toto bude chvilku trvat, proběhne restart a jestli se objeví nějaké problémy, zařízení vám to napíše.

Pro ověření, že druhé zařízení je správně nakonfigurované jako Secondary, můžete provést v System Operation -> Operations -> Distributed System Management -> u jednoho uvidíte Primary a u druhého Secondary.

ACS využívá vlastní certifikáty (System Operation -> Configuration -> Local Server Certificates -> Local Certificates). Nicméně, když jsem prováděl propojení, nějak mi to nechtělo chodit. Musel jsem si vygenerovat dva nové certifikáty, respektive žádost pro každé zařízení (System Operation -> Configuration -> Local Server Certificates -> Outstanding Signing Requests). Oba měli stejnou certifikační autoritu a díky tomu si věřili.

Zdroje:
http://www.cisco.com/c/en/us/td/docs/net_mgmt/cisco_secure_access_control_system/5-6/installation/guide/csacs_book.pdf


16. 7. 2016

Skript pro namapování rolí uživateli v databázi MS SQL

Mapování lze provést přes SQL Management Studio nebo také scriptem.
Přes studio stačí kliknout pravým tl. myši na uživatele -> User mapping -> a zde uživateli přiřadit různé role pro konkrétní databáze.


Scriptem si ukážeme vytvoření uživatele, stanovení hesla, přiřazení databáze a namapování rolí.

CREATE LOGIN [jmeno_uzivatele] WITH PASSWORD='heslo', DEFAULT_DATABASE=[Testovaci], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO


Povolení uživatele

ALTER LOGIN [jmeno_uzivatele] ENABLE
GO


use [AleFIT_MAB]; create user [jmeno_uzivatele] from login [jmeno_uzivatele];
GO


Přidání konkrétních rolí

ALTER ROLE [db_datareader] ADD MEMBER [jmeno_uzivatele]
GO
USE [AleFIT_MAB]
ALTER ROLE [db_datawriter] ADD MEMBER [jmeno_uzivatele]
GO

15. 7. 2016

Instalace MS SQL 2012 pomocí Powershell a SQL CMD

Jedná se sice o MS SQL 2012, ale podobné to je i s SQL 2016, které vyšlo nedávno.
Nejprve budete potřebovat ISO soubor s MS SQL server. Je možné, že to funguje i s verzí Express, ale toto nemám odzkoušené.

ConfigurationFile.ini

Spusťte si samotnou instalaci MS SQL a proklikejte ji tak, jak chcete aby vypadala, až do stavu "Ready to Install". Nebojte se, že ji na začátku nevidíte, klikejte dál, ona se objeví. Zde dole uvidíte cestu k ConfigurationFile.ini souboru, který budete potřebovat. Tento si někam uložte a následně z něj udělejte ještě kopii. To proto, že ho budeme upravovat a pokud se budete chtít k původní verzi vrátit, bude lepší, když to budete mít zálohované, než celý proces proklikávání instalace absolvovat znovu.
Nyní můžete instalaci nadobro přerušit, pokračovat se bude už jen přes Powershell.


Soubor vypadá nějak takto



V souboru uvidíte spoustu definic, které je možné rozlousknout tady. Ale to důležité je, že tam musíte ještě něco přidat, upravit a taky něco smazat. To proto, aby to nebylo zase tak jednoduché...

Odstraňte
UIMODE="Normal"

Upravte
QUIET="False"   =>   QUIET="True"
FEATURES=SQLENGINE,CONN,SSMS,ADV_SSMS,SNAC_SDK   => toto jsou vybrané Features, které chcete nainstalovat. Jestliže jste si vybrali jiné, pak toto ponechte jak máte.
INDICATEPROGRESS="False"   =>   INDICATEPROGRESS="True"
ENABLERANU="True"   =>   ENABLERANU="False"

Přidejte
ASSYSADMINACCOUNTS="Administrator"
SAPWD="Test12345"

Powershell scripty

Povolení spouštění scriptů

set-executionpolicy remotesigned

Instalace SQL ODBC, které můžete stáhnout přímo od Microsoftu zde. Instalace proběhne na pozadí a nainstalují se všechny Features z balíčku.

Start-Process -FilePath "C:\Temp\msodbcsql.msi" "addlocal=SQL_SQLODBC_CORE,SQL_SQLODBC_SDK"

Instalace SQL CMD, které můžete stáhnout přímo od Microsoftu zde. Instalace proběhne také na pozadí a akceptují se Licenční podmínky (EULA).

msiexec /i "C:\Temp\MsSqlCmdLnUtils.msi" /passive IACCEPTMSSQLCMDLNUTILSLICENSETERMS=YES

Samotná instalace MS SQL probíhá sice přes Powershell, ale je realizována SQL CMD. Je také nutné mít ISO SQL serveru. Do konzole Powershellu vám budou vypisovány logy z instalace. K instalaci potřebujete ConfigurationFile.ini, který vygenerujete pomocí instalačního balíčku SQL.

D:\Setup.exe /ConfigurationFile=C:\Temp\ConfigurationFile.INI


Zdroje:
https://technet.microsoft.com/en-us/library/ms144259(v=sql.110).aspx
https://msdn.microsoft.com/en-us/library/dd239405.aspx
https://technet.microsoft.com/en-us/library/ms143219(v=sql.110).aspx
https://technet.microsoft.com/cs-cz/library/ms144259(v=sql.110).aspx

14. 7. 2016

Jak zjistit, jestli váš systém Windows čeká na restart

Stáhněte si tuto funkci přímo z Microsoftu: https://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542

Spusťte Powershell s admin právy.


Prvním příkazem povolte spouštění scriptů

set-executionpolicy remotesigned


Druhým aktivujte vlastní funci

. C:\Get-PendingReboot.ps1


nebo

import-module C:\get-pendingreboot.ps1


Třetím už jen vyvolejte nový script

Get-PendingReboot


A výsledek pak bude vypadat takto.





Pokud je hodnota True alespoň u jednoho, restart je vyžadován. Pokud je u všech False, potřeba není.

12. 7. 2016

Změna hesla ve Windows Server

Může nastat situace, že jste připojeni na virtuální server a nemáte možnost vyvolat změnu hesla přes klasický CTRL+ALT+DELETE. Proto je zde ještě jedna zkratka, která je níže a která změnu hesla vyvolá.

CTRL+ALT+END

8. 7. 2016

SQL skript pro vložení textu, který je na více řádcích

Máte text, který je na více řádcích a chcete jej vložit do databáze. Jak by měl takový skript vypadat?
Ať už použijete update nebo insert, důležitá je syntaxe, která souvisí přímo s textem.

update TABULKA set SLOUPEC = 'Můj
text
na
více

řádcích
'
where id = 60299

Všimněte si apostrofů, který začínají a ukončují text, tak jako kdybyste použili klasický skript.

10 smrtelných hříchů správce o zabezpečení systému Windows

1. Nedostatečná dokumentace a školení
Co uděláte, když odejte důležitá osoba? Pokud nemáte dokumentaci, jste prostě v háji.

2. Přílišná důvěra v lidi
Na světě jsou tisíce kamer, které jsou špatně zabezpečené. Co ta vaše?
A co webové stránky? Myslíte, že čím jednodušší, tím menší šance na hacknutí?

3. Co vidíte není to co dostanete
Explorer.exe je spuštěný pod uživatelem a dá se podvrhnout tak, aby uživatel viděl naprosto něco jiného než má.

4. Nedostatek monitorignu sítě
Je PING tak neškodný jak vypadá?

5. Instalace pirátského software
Máte své uložiště instalaček? A kontrolujete ho, jestli v něm není nějaký záškodník? Většina, opravdu většina administrátorů, NE.

6. Šifrování - co je šifrování?
Je HTTPS opravdu tak všemohoucí jak se o něm říká?

7. Používání staré technologie
Převzetí explorer.exe ve Windows XP je velice jednoduché.

8. Špatná kontrola přístupu
Podvrhnutí služby jiným souborem i přesto, že ke složce nemá běžný uživatel přístup? Ano, i to je možné.

9. Ignorování offline přístupu
Přes System Recovery je možné nahrát do systému svůj kód.

10. Neporozumění heslům
Změna uživatelského hesla v AD - při kontrole složitosti hesla jej nešifruje.
Běží vám služby pod admin účty? To není zrovna nejlepší řešení. Pokud se útočník dostane na server, není pro něj složité toto heslo zjistit.



Zdroj: https://www.youtube.com/watch?v=wo7o81VhvVA

6. 7. 2016

Jak vyexportovat certifikát s privátním klíčem, který je označený jako neexportovatelný

Konzoly MMC, nejen pro správu certifikátů, asi znáte. Nicméně i pro ty, kteří jej neznají, ukážu jak ji otevřít a zobrazit si veškeré certifikáty. Následně pak ukážu, jak si vyexportovat certifikát, který má privátní klíč a je označený jako neexportovatelný.

Otevřete si MMC konzoly (stačí napsat mmc do startu). Zobrazí se vám toto okno. Vyberte File -> Add/Remove Snap-in.


Zde vlevo vyberte Certificates a klepněte na Add.


Ponechte vybrané My User Account a klepněte na Finish.


Vpravo uvidíte vybranou "sekci" - Certificates - Current User. Potvrďte OK. Toto znamená, že uvidíte osobní certifikáty, které jsou pod uživatelem, pod kterým jste právě přihlášeni. Pokud byste chtěli vidět certifikáty jiného uživatele, stačí konzoly MMC spustit jako daný uživatel (podržte SHIFT a klepněte pravým tl. myši a vyberte Run as different User neboli Spustit jako jiný uživatel). Anebo samozřejmě se přihlaste pod daným uživatelem do jeho profilu.

 
Nyní tedy máte otevřenou konzoly kde jsou osobní certifikáty. Pokud si vyzkoušíte export některého z nich, je možné, že vám to nepůjde. Nyní si ukážeme jak to udělat, aby to šlo :)




Stáhněte si binaries odtud http://blog.gentilkiwi.com/mimikatz
S velkou pravděpodobností bude váš prohlížeč i antivir hlásit, že se jedná o malware. Povolte spuštění, protože bez toho to nepůjde. Rozbalte archiv a spusťte jako Administrator.


Zadejte postupně tyto příkazy
crypto::capi
privilege::debug
crypto::cng
crypto::certificates /store:my /export



Pokud se u exportu objeví KO - Error, jak můžete vidět u čísla 6 - export certifikátu s privátním klíčem neproběhl. Jestliže uvidíte OK - export proběhl v pořádku.

Export s certifikáty je v té samé složce, odkud jste spouštěly aplikaci.
Až budete certifikáty importovat jinam, použijte heslo "mimikatz".

Zdroje:
https://github.com/gentilkiwi/mimikatz/wiki/module-~-crypto#certificates
http://stackoverflow.com/questions/3914882/how-to-export-non-exportable-private-key-from-store