Microsoft ADFS integration with Shibboleth

Posted by on Nov 9, 2017 in Microsoft Management | Keine Kommentare

Header_Blog
Starting with the Windows Server 2003 R2 version, Microsoft introduced the Active Directory Federation Services (ADFS), a software component which provides users with single sign-on access to systems and applications located across organizational boundaries.
ADFS is part of the Active Directory Services.

The authenticated user is provided with a series of Claims related to his / her identity that are inserted into a Token, which is digitally signed (a SAML Token). This token is then recognized and used by the various applications that accept this authentication scheme which enables Single Sign On mode for an application.

The advantage is that the user authenticates once on the ADFS service and then does not need to provide his/her credentials again to the various application servers that may also be outside the network containing the Active Directory Domain.

Mehr

Monitoren sie Ihren XtremIO EMC Storage

Posted by on Nov 7, 2017 in NetEye | Keine Kommentare

NetEye_XtremeIO
Sie haben eine XtremIO Dell EMC Storage und möchten sie gerne überwachen, dann habe ich das richtige dafür. Vor nicht allzu langer Zeit habe ich ein Monitoring Plugin für XtremIO Storages geschrieben. Was kann dieses Plugin:

  • XTREMIO_CTRL_Status: Damit überwachen sie die Kontroller und sehen den Status der Hardware
  • XTREMIO_DPG_Status: Damit überwachen sie ihre DPG Gruppen auf dem Storage
  • XTREMIO_Storage_Efficiency: Dies überprüft und visualisiert die aktuelle „deduplication und compress“ Effizienz des XtremIO
  • XTREMIO_Storage_Space: Dies überprüft ob sie noch genug Storage zur Verfügung haben

Und wie funktioniert es?

Mehr

Ihre CISCO Syslog in Elasticsearch, so geht es!

Posted by on Okt 31, 2017 in Log Auditing, NetEye, Syslog | Keine Kommentare

Elasticsearch
Sie haben eine CISCO Netzwerk Infrastruktur und möchten die Logs über das Syslog Protokol in eine Elasticsearch Datenbank schreiben? Hier erfahren Sie wie das geht mit allen notwendigen Filtern und Pattern für ihre Logstash Funktionalität.

Wie man weiss bekommt man über eine Logstash Instanz Daten in die Elasticsearch Datenbank. Der Vorteil liegt darin diese Daten zu analysieren und in Felder aufzuteilen so dass diese in Elasticsearch indiziert und verwendet werden können. CISCO ist als Netzwerkgeräte Hersteller sehr bekannt und eingesetzt, also ist es wichtig eine Lösung zu haben um die Logs welche ich von diesen Geräten schicken kann richtig zu indizieren.

Dieser Artikel beschäftigt sich grundlegend mit 2 Arten von CISCO Logs:

  • Netzwerkgeräte wie Switche oder Router
  • Cisco WLC
  • Die CISCO Radius Appliance

Das ganze habe ich in 2 filterrule getrennt da die RADIUS logs etwas total anderes sind und mit „normalen“ CISCO Logs nichts gemeinsam haben. Also habe ich dafür folgende Pattern benutzt:

CISCOTIMESTAMPTZ %{CISCOTIMESTAMP}( %{TZ})?
NEXUSTIMESTAMP %{YEAR} %{MONTH} %{MONTHDAY} %{TIME}( %{TZ})?
ISETIMESTAMP %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})? %{ISO8601_TIMEZONE}?

Und dann habe ich folgende Filter Rules geschrieben, die Log Gruppe habe ich verwendet um das parsen auf eine gewisse Gruppe einzuschränken, man kann das auch weglassen wenn man möchte:

#
# FILTER - Try to parse the cisco log format
#
# Configuration:
#   clock timezone Europe +1
#   no clock summer-time
#   ntp server 0.0.0.0 prefer
#   ntp server 129.6.15.28
#   ntp server 131.107.13.100
#   service timestamps log datetime msec show-timezone
#   service timestamps debug datetime msec show-timezone
#   logging source-interface Loopback0
#   ! Two logging servers for redundancy
#   logging host 0.0.0.0 transport tcp port 8514
#   logging host 0.0.0.0 transport tcp port 8514
#   logging trap 6

filter {
  # NOTE: The frontend logstash servers set the type of incoming messages.
  if [type] == "syslog" and [host_group] == "Netzwerk" {
    # Parse the log entry into sections.  Cisco doesn't use a consistent log format, unfortunately.
    grok {
      patterns_dir => "/var/lib/neteye/logstash/etc/pattern.d"
      match => [
        # IOS
        "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} ((%{NUMBER:log_sequence#})?:( %{NUMBER}:)? )?%{CISCOTIMESTAMPTZ:log_date}: %%{CISCO_REASON:facility}-%{INT:severity_level}-%{CISCO_REASON:facility_mnemonic}: %{GREEDYDATA:message}",
        "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} ((%{NUMBER:log_sequence#})?:( %{NUMBER}:)? )?%{CISCOTIMESTAMPTZ:log_date}: %%{CISCO_REASON:facility}-%{CISCO_REASON:facility_sub}-%{INT:severity_level}-%{CISCO_REASON:facility_mnemonic}: %{GREEDYDATA:message}",

        # Nexus
        "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} ((%{NUMBER:log_sequence#})?: )?%{NEXUSTIMESTAMP:log_date}: %%{CISCO_REASON:facility}-%{INT:severity_level}-%{CISCO_REASON:facility_mnemonic}: %{GREEDYDATA:message}",
        "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} ((%{NUMBER:log_sequence#})?: )?%{NEXUSTIMESTAMP:log_date}: %%{CISCO_REASON:facility}-%{CISCO_REASON:facility_sub}-%{INT:severity_level}-%{CISCO_REASON:facility_mnemonic}: %{GREEDYDATA:message}",

	# WLC
	"message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} %{SYSLOGHOST:wlc_host}: %{DATA:wlc_action}: %{CISCOTIMESTAMP:log_date}: %{DATA:wlc_mnemonic}: %{DATA:wlc_mnemonic_message} %{GREEDYDATA:message}"
      ]

      overwrite => [ "message" ]

      add_tag => [ "cisco" ]
    }
  }

  # If we made it here, the grok was sucessful
  if "cisco" in [tags] {
    date {
      match => [
        "log_date",

        # IOS
        "MMM dd HH:mm:ss.SSS ZZZ",
        "MMM dd HH:mm:ss ZZZ",
        "MMM dd HH:mm:ss.SSS",
        
        # Nexus
        "YYYY MMM dd HH:mm:ss.SSS ZZZ",
        "YYYY MMM dd HH:mm:ss ZZZ",
        "YYYY MMM dd HH:mm:ss.SSS",
        
        # Hail marry
        "ISO8601"
      ]
    }

    # Add the log level's name instead of just a number.
    mutate {
      gsub => [
        "severity_level", "0", "0 - Emergency",
        "severity_level", "1", "1 - Alert",
        "severity_level", "2", "2 - Critical",
        "severity_level", "3", "3 - Error",
        "severity_level", "4", "4 - Warning",
        "severity_level", "5", "5 - Notification",
        "severity_level", "6", "6 - Informational"
      ]
    }

  } # if
} # filter

Für die CISCO RADIUS LOGS habe ich folgenden Filter verwendet:

 

#
# FILTER - Try to parse the ise logfiles (Radius)
#

filter {
  if [type] == "syslog" and [host_group] == "ISE" {
    grok {
      patterns_dir => "/var/lib/neteye/logstash/etc/pattern.d"
      match => [
        "message", "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} %{DATA:ise_log_type} %{NUMBER:ise_log_sequence} %{INT:ise_log_lines_split} %{INT:ise_log_line_sequence} %{ISETIMESTAMP} %{NUMBER:ise_log_number} %{NUMBER:ise_log_id} %{DATA:ise_log_facility} %{DATA:ise_log_id_description},.* Device IP Address=%{IP:ise_device_ip},.* UserName=%{DATA:ise_username},.* NetworkDeviceName=%{DATA:ise_network_device_name},.* User-Name=%{DATA:ise_user_name},.* (NAS-Port-Id=%{DATA:ise_nas_port_id},.* )?(cisco-av-pair=%{DATA:ise_cisco_av_pair},.* )?AuthenticationMethod=%{DATA:ise_authentication_method},.* (AuthenticationStatus=%{DATA:ise_authentication_status}, .*)?(EndPointMACAddress=%{DATA:ise_endpoint_mac_address},.*)? Location=%{DATA:ise_location},%{GREEDYDATA:message}"
      ]
      add_tag => [ "ISE" ]
      remove_tag => [ "_grokparsefailure" ]
      tag_on_failure => [ "_iseparsefailure" ]
    }
  }
} # filter

Das ganze zusammengesetzt ergibt nun gut formatierte CISCO Logs in Elasticsearch, mit welchen man dann auch wirklich etwas anfangen kann. Sie können all die oben genannten Dateien von hier (Cisco-Logstash-Elasticsearch) herunterladen.

Mehr

End to End Monitoring mit Alyvix auf der Heise Cloud-Konferenz

Posted by on Okt 5, 2017 in EriZone & OTRS, NetEye | Keine Kommentare

heise

 

Die „Heise Cloud-Konferenz – by c’t & iX“ am 17. Oktober 2017 in Köln bringt IT-Entscheider und Anbieter für einen Austausch zu den praktischen Erfahrungen mit Private, Hybrid und Public Cloud-Infrastrukturen zusammen. Fragen der Plattform-Auswahlkriterien, der Sicherheit (Datenschutz vs. Datensicherheit) oder des Preis-Leistungsverhältnisses werden ebenso wie konkrete technische Herausforderungen wie Multicloud-Sourcing, Monitoring oder Service Level Agreements beleuchtet.

Eröffnen wird die Konferenz unser Georg mit einem Beitrag zu Sourcing und Monitoring in Multicloud-Umgebungen. Er wird konkrete Features von Alyvix vorstellen und beleuchten, wie eine erhöhte Servicequalität aus Nutzersicht sichergestellt wird. Das durchwegs hochkarätig besetzte Event findet im KOMED, Mediapark 7 in Köln statt. Anmeldungen können direkt auf den Konferenzseiten vorgenommen werden. Hauptzielgruppe sind CIOs, Cloud-Experten, IT-Admins, Projektleiter, Entscheider, Datenschutzbeauftragte und Cloud-Anwender.

Mehr

Überwachung des Netzwerk-Traffics auf Microsoft Hyper-V Servern via PowerShell

Posted by on Sep 26, 2017 in Capacity Management, Nagios, Nagios Plugins, NetEye | Keine Kommentare

Die Überwachung des Netzwerk-Traffics auf Netzwerkgeräten basiert traditionell auf SNMP-Abfragen. Mittels vorgefertigter Programmbefehle können die Statistiken zur Übertragung von Datenpaketen einer oder mehrerer Netzwerkschnittstellen via SNMP abgefragt werden.

Während die Abfragen auf Netzwerkgeräten auch heute noch via SNMP abgefragt werden, so bedarf es bei der Abfrage dieser Informationen im Bereich der Microsoft Hyper-V-Server anderer Ansätze. Der Grund liegt in der Konfiguration der Netzwerkanbindung: So werden beispielsweise mehrere physikalische Netzwerkschnittstellen einer Hyper-V Appliance zu einer logischen Schnittstelle gebündelt, welche den Netzwerk-Traffic auch transparent über mehrere Netzwerkgeräte verteilen kann. Auf diese Art kann der Netzwerk-Traffic z.B. auf mehrere Switche verteilt werden und gleichzeitig die Ausfallsicherheit erhöht werden. Ein weiterer Grund zur Suche nach Alternativen ist die eingestellte Weiterentwicklung der SNMP-Implementierung durch Microsoft.

Schematisch dargestellt könnte eine physikalische Netzwerkverkabelung wie folgt aussehen: Ein physikalischer Hyper-V Host verfügt über 2 aktive physikalische Netzwerkanbindungen, welche über zwei Switche am Netzwerk angeschlossen warden.

Schematische Netz- und Verbindungsdarstellung

Schematische Netz- und Verbindungsdarstellung

Mehr

Eindrücke vom „Digital Business Forum“

Posted by on Sep 22, 2017 in EriZone & OTRS, NetEye | Keine Kommentare

Die voranschreitende Digitalisierung verändert Gesellschaft, Umwelt und Märkte. Mit welchen Infrastrukturlösungen und Prozessen sich digitale Vorreiter für die vernetze Zukunft rüsten, war Thema des „Digital Business Forums“ letzte Woche in Bozen.

Was dies für die Qualitätssicherung von IT-Diensten bedeutet, wie sich unsere tägliche Arbeit ändern wird und was konkret  im Bereich System Management zu erwarten ist, zeigten die teilnehmenden Experten u.a. von Microsoft Österreich, dem Fraunhofer Institut, der Universität Bozen und auch Würth Phoenix auf. Eindrücke von der Veranstaltung haben wir in einem kurzen Video zusammengefasst.

Mehr