Drücke "Enter", um den Text zu überspringen.

Kategorie: Internet

Wöchentlicher Wetterbericht aus der blauen Wolke

Um meinen Blog hier künftig wieder etwas mehr zu nutzen, habe ich mir folgendes überlegt:

Ab dem 01.01.2024 werde ich hier wöchentlich, immer montags, eine Zusammenfassung der für meinen Teil der Arbeit mit Azure relevanten Änderungen, News und Abkündigungen für euch bereitstellen. Dabei wird es primär um die Bereiche Compute, Storage und Network gehen, aber auch Themen aus dem Umfeld von Azure Monitor, Azure Migrate, Datenbanken und mehr werdet ihr dann hier finden. Schaut also gerne jede Woche rein – und lasst mich gerne wissen, was ihr über dieses Vorhaben denkt. Danke!

Und jetzt wünsche ich euch erstmal ein paar schöne Tage im „alten Jahr“ – bis zum ersten Januar!

Schreibe einen Kommentar...

Azure Firewall – Unerwartetes Verhalten mit DNAT Rules

Die Azure Firewall hat ein für mich zunächst nicht nachvollziehbares, aber dann verständliches, wenn auch nicht erwartetes Verhalten. Allerdings steht es, wenn man dann genau nachliest, auch genau so, wie es passiert in der Doku. Aber nochmal langsam…

Ich habe auf einer Azure Firewall einige DNAT Rules, um auf Jump-Hosts zu kommen, die in unterschiedlichen Netzwerken stehen:

Hier ist also für zwei VMs aus dem freien Internet über die Public IP der Azure Firewall und zwei höhere Ports der Durchgriff auf RDP TCP/3389 konfiguriert.

Zwischen den beiden Netzwerken, in denen sich die VMs befinden, soll der Traffic aber stark reglementiert sein. Daher sind dort nur einige Ports explizit erlaubt, für den Rest sollte die Azure Firewall „per default“ blockieren:

Jedoch ist es dennoch so, dass zwischen den beiden VMs, die ja in getrennten Netzen stehen, weiterhin Kommunikation möglich ist, auch jenseits von ICMP und HTTP(S). Getestet hatte ich es mit RDP – das geht noch, obwohl das nach meiner Meinung nicht so sein sollte.

Und das hatte mich sehr verwundert. Zunächst hatte ich das als Fehlverhalten interpretiert. Ein kurzer Call mit dem Support hat aber geklärt, dass dieses Verhalten so ganz normal ist. Das wiederum war für mich unerwartet.

Die Lösung hier ist, dass eine DNAT Rule eine implizite Network Rule nach sich zieht. Dabei werden allerdings nicht Port und Destination IP sondern Translated Adress und Translated Port für die Destination verwendet. So steht es auch in der Doku:

(Quelle: https://docs.microsoft.com/en-us/azure/firewall/rule-processing)

Es gibt hier also zwei Lösungen, um das Ziel, keine Kommunikation zwischen den Netzen zu haben, zu erreichen:

  • In den DNAT Rules konkrete Source-IPs / Netze eintragen
  • Explizite Network Rules mit einem Deny zwischen den Netzen

Schreibe einen Kommentar...

Azure Adventskalender 2020 – Zusammenfassung

Weihnachten 2020 ist nun Geschichte und damit endete auch mein Azure Adventskalender in diesem Jahr. Jeden Tag ein neues Video für euch – das hat mir viel Spaß, aber auch einiges an Arbeit bereitet. Daher möchte ich natürlich, dass die Videos auch nach der Weihnachtszeit weiterhin zu eurem Nutzen sind. Und deswegen fasse ich euch hier nochmal alle Videos kurz zusammen:

01. Dezember 2020

Hinter Tür Nummer eins verbarg sich ein Video zu den Diagnostic Settings in Azure. Ihr findet es hier:
https://youtu.be/cAjqU0202X4

02. Dezember 2020

Das zweite Türchen hielt einen Überblick zu den verschiedenen VM-Größen in Azure und eine Erklärung selbiger bereit. Es ist hier zu finden:
https://youtu.be/mTZbOxKrlrM

03. Dezember 2020

Hinter diesem Türchen war ein Video zu den Resource Locks zu finden. Hier geht es zum Video:
https://youtu.be/X0IHwU6EA_E

04. Dezember 2020

Das vierte Türchen verbarg einen Überblick zum Azure Advisor und Erklärungen zu seinen Empfehlungen. Das Video gibt es hier:
https://youtu.be/RmTaXwZfP6o

05. Dezember 2020

Am fünften Tag gab es ein Video zur Datenbank-Migration in Azure. Es ist über diesen Link zu erreichen:
https://youtu.be/c1xfZqY-eyM

06. Dezember 2020

Am Nikolaustag ging es im täglichen Video um die Azure Firewall (verbunden mit VNET-Peering). Das Video findet ihr hier:
https://youtu.be/EsX2B1DZvzA

07. Dezember 2020

Für das siebte Türchen habe ich ein Video zu einem netten Sicherheitsfeature des Security Center bzw. Defender aufgezeichnet – es geht um Just-in Time (JIT) VM Access. Das Video ist über diesen Link zu sehen:
https://youtu.be/k2LUYmMxOx4

08. Dezember 2020

Für diesen Tag gab es ein Video zu den Network Security Groups (NSG) und den Application Secruity Groups (ASG). Ihr findet es hier:
https://youtu.be/FBmInxpkSEM

09. Dezember 2020

Das neunte Türchen hat ein Video zu den verschiedenen Disk-Typen für Azure VMs beschert. Schaut es euch hier an:
https://youtu.be/oANdFp21W9k

10. Dezember 2020

Budgets
https://youtu.be/qoANsC2lhx4

11. Dezember 2020

Resource Graph
https://youtu.be/ApMXdfioDt4

12. Dezember 2020

Azure SQL Serverless
https://youtu.be/l7YNtr8Zr8c

13. Dezember 2020

IaaS Antimalware Extension
https://youtu.be/HP_i0eTSr-0

14. Dezember 2020

Azure Active Directory Conditional Access
https://youtu.be/V1PBESIvjOY

15. Dezember 2020

ARM Template Export
https://youtu.be/fft5e14gZk8

16. Dezember 2020

Burstable VMs (B-Serie)
https://youtu.be/Ow79XJ5UKZQ

17. Dezember 2020

Quotas
https://youtu.be/wUoTbb9q220

18. Dezember 2020

Azure VM Backup
https://youtu.be/oabUJSEyAakhttps://youtu.be/oabUJSEyAak

19. Dezember 2020

Azure Loadbalancer
https://youtu.be/K4p6QzWrevM

20. Dezember 2020

Azure SQL Elastic Pool
https://youtu.be/neS9UzfoZYs

21. Dezember 2020

Update Management für VMs
https://youtu.be/oCHzHir1YDE

22. Dezember 2020

Availability Sets
https://youtu.be/gxVTZHgtQTY

23. Dezember 2020

Availability Zones
https://youtu.be/nQXuU2OCZ8c

24. Dezember 2020

Azure Monitor
https://youtu.be/QJpDo1X6wCs

Die gesamte Playlist findet ihr hier:

Adventskalender 2020 – YouTube

Schreibe einen Kommentar...

Azure Adventskalender 2020

In einer Woche ist es soweit – mit dem 01.12. beginnt die jährliche Saison der Adventskalender. Ich habe mir für dieses Jahr etwas Besonderes überlegt. ich werde jeden Tag ein virtuelles Türchen auf meinem YouTube-Kanal bereithalten, hinter dem sich dann jeweils ein neues Video verbergen wird! Also seid gespannt, abonniert meinen Kanal und schaut euch die täglichen Videos an.

https://www.youtube.com/c/HaikoHertes

Schreibe einen Kommentar...

SysAdmin Horror Stories – FREE eBook von Altaro

With Halloween only a few days away, this year Altaro gathered SysAdmins’ funniest and most horrifying stories into one eBook, especially for you.

We all know that a SysAdmin’s job is no easy task and apart from constantly having systems to update, bugs to fix and users to please, SysAdmins encounter all sorts of situations throughout their careers. From tech situations to funny anecdotes, terrible mishaps or incidents with colleagues, this eBook includes real stories of what SysAdmins go through on a daily basis.

The eBook is very easy to download as no registration is required. Click on Download and it’s yours. It includes more than 25 short stories but this one is our personal favourite 😊.

Schreibe einen Kommentar...

YouTube Videos zu Microsoft Azure

Wie ihr ggf. dem ein- oder anderen Blog-Artikel hier entnehmen könnt, beschäftige ich mich seit einigen Monaten sowohl berufsbedingt als auch aus eigenem Interesse mit Microsoft Azure. Als logische Konsequenz daraus habe ich jetzt bereits einige erste YouTube Videos aus diesem Umfeld aufgezeichnet und veröffentlicht. Ihr findet diese hier:

azure

Konkret geht es in den ersten Videos um ARM Templates und Azure CDN – weitere werden folgen! Schaut mal rein – ich freue mich auf Kommentare, Fragen und Likes! Smiley

 

https://www.youtube.com/playlist?list=PLPK8RW8p4Ok_g5ojGI6Lq80POQRRscRpz

Schreibe einen Kommentar...

PowerShell & Fotobox – Fotos zu einem bestimmten Hashtag von Instagaram laden

Auf meiner in den letzten Wochen und Monaten gebauten Fotobox (Mehr dazu hier) gibt es einen extra Bildschirm für eine Slideshow der aufgenommenen Fotos. Diese zeigt die neuesten x Fotos aus der Liste aller aufgenommenen Bilder, wobei ein neues Foto immer das älteste Bild ablöst (zu der technischen Realisierung hier werde ich später noch einen größeren Artikel schreiben).

Nun kam mir in diesem Zusammenhang die Idee, aus den sozialen Medien ebenfalls die aktuellsten Bilder zu einem bestimmten Hashtag abzurufen, damit die Gäste unter diesem Hashtag Handyfotos posten könnten, die dann wiederum in die Slideshow einfließen sollten. Hierzu gibt es ein paar Lösungen im Internet, die aber fast alle recht teuer sind und auch größtenteils nur im Browser ablaufen. Ich wollte aber gern die einzelnen Dateien lokal auf dem Rechner haben. Also habe ich mir ein PowerShell-Skript geschrieben, welches genau diese Anforderung erfüllt – allerdings vorerst nur für Instagram.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# What are you searching for?
$Hashtag = "PUTYOURHASHTAGHERE"
 
# How long to wait for the next retry - set to 0 to only search once
$SecondsBetweenRequests = 10
 
# Where do you want to store the downloaded pictures? Use no "\" at the end!
$WhereToStorePictures = "D:\Pictures\" 
 
### Don't change anything below here unless you know what you are doing! ###
 
# If the destination folder does not exist, we need to create it first
If(!(Test-Path $WhereToStorePictures -PathType Container)) 
{
    New-Item $WhereToStorePictures -ItemType Directory
}
 
$URI = "https://www.instagram.com/explore/tags/$Hashtag/"
 
# We are running this from now one until CTRL-C is pressed
Write-Host "To stop the process, press CTRL+C - otherwise it runs forever!" -ForegroundColor Yellow
While($true)
{
    # Get the whole content according to the hashtag search
    $HTML = Invoke-WebRequest -Uri $URI 
 
    # Get all the filenames of pictures with that hashtag from the HTML
    $URLs = ($HTML.Content | Select-String -Pattern '"display_url":\s.*?"edge_liked_by"' -AllMatches).Matches.Value | ForEach-Object {$_.Substring(16,$_.Length-34)}
 
    # Iterate through all the pics on the website
    ForEach($URL in $URLs)
    {
        # We need the filename to see if it was allready downloaded
        $Filename = $URL.Substring($URL.LastIndexOf('/')+1,$URL.length-$URL.LastIndexOf('/')-1) 
 
        # If the pic is not allready in the destination folder, download it
        If(!(Test-Path -PathType Leaf -Path "$WhereToStorePictures\$Filename"))
        {
            Write-Host "`nNew Picture found!" # You can remove this if you want
            Start-BitsTransfer $URL -Destination "$WhereToStorePictures\" # The actual download
        }
    }
    If($SecondsBetweenRequests -eq 0) # Then we just do the download-thing once
    {
        break
    }
    else
    {
        Start-Sleep -Seconds $SecondsBetweenRequests
        Write-Host "." -NoNewline # Just to let you know it is still working... - you can remove this if you want
    }
 
}

 

Das Skript ist wie üblich auch im Microsoft Script Center zu finden: https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Get-Instagram-7d9ddb44

Viel Spaß beim Ausprobieren oder adaptieren!

1 Kommentar

ThinClient Wyse Winterm 3150SE als Download-Client z.B. für Rapidshare

Wer kennt das nicht? Da hat man einen oder mehrere größere Downloads, da müsste man den PC die ganze Nacht oder sogar mehrere Tage laufen lassen. Wenn man dabei an die Stromkosten denkt, dann wird einem schnell bewusst, dass dies nicht die optimale Lösung ist. So ging es auch mir. Also musste eine leise, kleine und vor allem stromsparende Lösung her.

Da ich nicht viel Geld ausgeben wollte, entschied ich mich für einen etwas älteren gebrauchten Thinclient der Firma Wyse, den ich vor einiger Zeit bei eBay erworben hatte. Kurz zu den Details des Gerätes:

  • AMD Geode GX CPU
  • 128MB DDR Ram (fix)
  • 10/100MBit/s FastEthernet
  • 256MB IDE Flash HDD
  • 4x USB
  • 2x PS/2
  • VGA-Anschluss
  • Audio-Anschluss
  • 2x Seriell (COM), 1x Parallel (LPT)
  • ca. 3kg schwer
  • 210x57x160mm groß
  • ca. 7W Leistungsaufnahme
  • Komplett lüfterlos
So, nun zu der Realisierung. Als Betriebssystem sollte Debain Linux 6.0 Squeeze (stable) zum Einsatz kommen, es gibt sicher Alternativen, aber die CPU wird nicht von jedem Linux-Derivat unterstützt und außerdem muss man eben mit recht wenig RAM auskommen.
Da der interne Flash-Speicher natürlich viel zu klein ist, kommen bei mir ein 4GB USB Stick (bootfähig) für das Betriebssystem sowie eine 40GB 2.5“ USB Festplatte für die Downloads zum Einsatz. Der USB-Stick muss zur Installation im unteren rechten USB-Port stecken. Für die Installations-Quelle gibt es 2 Möglichkeiten: Booten via PXE (von mir favorisiert) oder von einem zweiten USB-Stick (dieser müsste dann oben links im USB-Port stecken).
Wichtig: Bei der Installation muss ein 486-er Kernel installiert werden, da die aktuellen 686 alle mit PAE sind, was vom Prozessor nicht unterstützt wird.
Nach der Installation habe ich den pyLoad Download-Manager installiert, da dieser über ein schönes Web-Frontend verfügt und auch die gängigen One-Click-Hoster und Container-Formate unterstützt.
apt-get update
apt-get upgrade
apt-get install python2.5 python-crypto python-pycurl tesseract python-django
wget http://get.pyload.org/get/ubuntu-cli/
dpkg -i pyload-cli-v0.4.6-all.deb

Mit 
python /usr/share/pyload/pyLoadCore.py 
kann man dann den pyLoad-Kern laden. Beim ersten Start werden einige Parameter abgefragt.

Für SSL muss man noch ein Zertifikat generieren:

cd ~/.pyLoad
openssl genrsa 1024 > ssl.key
openssl req -new -key ssl.key -out ssl.csr
openssl req -days 36500 -x509 -key ssl.key -in ssl.csr > ssl.srt

Weitere Details folgen!
Schreibe einen Kommentar...