OWA – Benutzer login nur als Light

Ich habe in letzter Zeit öfter das Phänomen beobachten können das User im OWA automatisch die Lightversion angezeigt bekommen.
Dabei spielt es keine Rolle ob der Login mit dem IE, dem FF oder dem Safari passierte. Andere Benutzerkonten bekamen direkt die richtige Version angezeigt.

Merkwürdigerweise ist bei den Usern welche die Lightversion bekommen die Option “Einstellungen für Blinde und Personen mit eingeschränktem Sehvermögen verwenden” aktiviert.

Wenn man diese Option deaktiviert wird Outlook Webaccess normal ohne die LightVersion angezeigt.

 

  1. Mit dem entsprechenden Benutzerkonto im OWA anmelden
  2. Auf Optionen klicken
  3. Klicken Sie im Bereich Optionen auf Allgemeine Einstellungen oder “Barrierefreiheit”.
  4. Das Kontrollkästchen Einstellungen für Blinde und Personen mit eingeschränktem Sehvermögen verwenden deaktivieren, und klicken Sie dann auf Speichern.
  5. Am OWA abmelden und wieder anmelden

LDAP Windows 2008 MaxPageSize

Wer die MaxPageSize im LDAP ändern möchte um größere Querys zu stellen muss eine Änderung im LDAP vornehmen. Microsoft vergisst in Ihrer Anleitung leider einen sehr wichtigen Punkt.

 

Starten von Ntdsutil.exe

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie ntdsutil in das Feld Öffnen ein und drücken Sie anschließend die Eingabetaste. Sie können jederzeit die Hilfe aufrufen, indem Sie ? an der Eingabeaufforderung eingeben.

Anzeigen aktueller Richtlinieneinstellungen

  1. Geben Sie an der Ntdsutil-Eingabeaufforderung LDAP policies ein und drücken Sie anschließend die Eingabetaste.
  2. Geben Sie an der LDAP Policy-Eingabeaufforderung connections ein und drücken Sie anschließend die Eingabetaste.
  3. Geben Sie an der Server Connection-Eingabeaufforderung connect to server <DNS-Name des Servers> ein und drücken Sie anschließend die Eingabetaste.
    Sie wollen die Verbindung zu dem Server herstellen, mit dem Sie gerade arbeiten.
  4. Geben Sie an der Server Connection-Eingabeaufforderung q ein und drücken Sie anschließend die Eingabetaste, um zum vorherigen Menü zurückzugehen.
  5. Geben Sie an der LDAP Policy-Eingabeaufforderung show values ein und drücken Sie anschließend die Eingabetaste.
  6. Es erscheint eine Anzeige der vorhandenen Richtlinien.

Ändern von Richtlinieneinstellungen

  1. Geben Sie an der Ntdsutil-Eingabeaufforderung LDAP policies ein und drücken Sie anschließend die Eingabetaste.
  2. Geben Sie an der LDAP Policy-Eingabeaufforderung Set <Einstellung> to <Variable> ein und drücken Sie anschließend die Eingabetaste.
    Beispiel: Set MaxPageSize to 10000. Diese Einstellung würde sich ändern, wenn Sie einen weiteren Prozessor zu Ihrem Server hinzufügen.
  3. Sie können den Befehl Show Values verwenden, um Ihre Änderungen zu überprüfen. Wenn Sie die Änderungen abgeschlossen haben, geben Sie an der LDAP Policy-Eingabeaufforderung q ein und drücken Sie anschließend die Eingabetaste.
  4. Speichern der Einstellungen : commit changes
  5. Um Ntdsutil.exe zu beenden, geben Sie an der Eingabeaufforderung q ein und drücken Sie anschließend die Eingabetaste.

Roundcube 0.7.1 Autologin

Um zu vermeiden, dass ein Benutzer sich doppelt für Roundcube anmelden muss, wenn man unterschiedliche Formulare, Portale, Interfaces… benutzt, kann das Plugin Autologon verwendet werden.

Plugin aktivieren:

/roundcube/config/main.inc.php

$rcmail_config['plugins'] = array('autologon');

 

Autologon konfigurieren:

/roundcube/plugins/autologon/autologon.php

<?php
 
/**
 * Sample plugin to try out some hooks.
 * This performs an automatic login if accessed from localhost
 */
class autologon extends rcube_plugin
{
  public $task = 'login';
 
  function init()
  {
    $this->add_hook('startup', array($this, 'startup'));
    $this->add_hook('authenticate', array($this, 'authenticate'));
  }
 
  function startup($args)
  {
    $rcmail = rcmail::get_instance();
 
    // change action to login
    if (empty($_SESSION['user_id']) && !empty($_POST['_autologin']))
      $args['action'] = 'login';
 
    return $args;
  }
 
  function authenticate($args)
  {
    if (!empty($_POST['_autologin'])) {
      $args['user'] = $_POST['_user'];
      $args['pass'] = $_POST['_pass'];
      $args['cookiecheck'] = false;
      $args['valid'] = true;
    }
 
    return $args;
  }
}

HTML Formular:

<form name="form" action="roundcube/index.php" method="post">
<input type="hidden" name="_action" value="login" />
<input type="hidden" name="_task" value="login" />
<input type="hidden" name="_autologin" value="1" />
<table border="0">
<tr>
<td>Benutzername:</td>
<td>
<input name="_user" id="rcmloginuser" size="28" type="text" /></td>
</tr>
<tr>
<td>Passwort:</td>
<td>
<input name="_pass" id="rcmloginpwd" size="28" type="password"/></td>
</tr>
<tr>
<td>
<input class="Button" type="submit" size="28" value="Webmail Login"/></td>
</tr>
</table>
</form>

MySQL Tabellen aus Datenbank einzeln sichern

Mit dem Programm mysqldump lassen sich bequem die Datenbanken sichern. Nachteil ist aber, dass bei sehr großen Datenbanken die SQL-Dumps unübersichtlich werden.

Eine Möglichkeit ist es, die Tabellen in einer Datenbank einzeln in eine .sql Datei zu sichern.
Als Grundlage diente das Script von Bernd Scheu Sichern von grossen MySQL-Datenbanken.

Das nachfolgende Script hat folgende Funktionsweise:

  • Es erstellt einen Ordner mit dem Datum des Backups als Namen im Format DD.MM.YY
  • Auslesen aller Datenbanken
  • Auslesen der einzelnen Tabellen einer Datenbank
  • Für jede Datenbank wird ein extra Ordner angelegt
  • Die Dumps der Tabellen werden erzeugt
  • Mit zip komprimiert und anschließend werden die .sql Dateien gelöscht
  • Der Ablauf wird in einer Log-Datei festgehalten

#!/bin/bash
# set the global variables here:
theUser=root
thePassword=PASSWORD
theDate=$(date +'%d.%m.%Y')
theMySQLPath=/usr/bin
#theDB=$3
theBackupDestination=/root/backups

# variables of the script
theTimeStamp=$(date +'%d.%m.%Y %H:%M:%S')
theFolder=$theBackupDestination/$theDate
theLog=$theFolder/dbDaily_$theDate.log
theFile=$theFolder/dbDaily_$theDate.sql

mkdir -p $theFolder
echo "Starting at $theTimeStamp ..." >> $theLog

declare -a TABLE_LIST
declare -a DB_LIST
#get all databases and the tables
DB_LIST=`$theMySQLPath/mysql --user=$theUser --password=$thePassword -Bse "show databases"`
echo "Databases are: " >> $theLog
for database in $DB_LIST; do
	mkdir -p $theFolder/$database
        echo $database >> $theLog
	cd $theFolder/$database
        TABLE_LIST=`$theMySQLPath/mysql --user=$theUser --password=$thePassword -Bse "show tables from $database"`
        for table in $TABLE_LIST; do
        	echo -e "\t" $table >> $theLog
	        theTable=$table.sql
		theZIP=$table.zip
		# start dumping the table
		theTimeStamp=$(date +'%d.%m.%Y %H:%M:%S')
		echo -e "\t... dumping table $theTable, starting at $theTimeStamp ..." >> $theLog
		$theMySQLPath/mysqldump --user=$theUser --password=$thePassword --lock-tables=0 --skip-comments --skip-extended-insert --quick $database $table > $theTable
		# create ZIP archive
		echo -e "\t... compressing database dump, starting at $theTimeStamp ..." >> $theLog
	        echo -e "\t[$theTable] => [$theZIP]" >> $theLog
		zip $theZIP $theTable >> $theLog
        	# TEST ZIP - archive (very important)
	        echo -e "\t... test ZIP-archive, starting at $theTimeStamp ..." >> $theLog
		zip -T $theZIP >> $theLog
	        echo -e "\t... compressing finished ..." >> $theLog
        	echo -e "\t[$theZIP]" >> $theLog
	        # clean up
        	echo -e "\t... removing database dump ..." >> $theLog
	        echo -e "\t[$theTable]" >> $theLog
        	rm $theTable; >> $theLog
	        echo " " >> $theLog
	done
        echo " " >> $theLog
done

echo -e "\t... database dump complete ..." >> $theLog
theTimeStamp=$(date +'%d.%m.%Y %H:%M:%S')
echo -e "\t... database backup finished, finished at $theTimeStamp." >> $theLog

Net2Net IPSec VPN mit IPFire und FritzBox

Ausgangslage:

  • 2 Standorte, auf beiden Seiten eine feste IP
  • Standort A mit einer FritzBox: Netz 192.168.10.0/255.255.255.0, Externe IP vom ISP: 1.1.1.1
  • Standort B mit IPFire: Netz 192.168.20.0/255.255.255.0, Externe IP vom ISP: 2.2.2.2
  • IPFire, getestet mit IPFire 2.9 – core50 
  • FritzBox 6360, Firmware-Version 85.05.07
  • Verbindung als IPSec Net2Net

Schritt 1

  • FRITZ!Box-Fernzugang einrichten Version 01.00.07 herunterladen
  • http://webgw.avm.de/download/Download.jsp?partid=14654
  • Programm starten und Neu drücken
  • “Verbindung zwischen zwei FRITZ!Box-Netzwerken einrichten”
  • Externe IP von Standort A eintragen, in diesem Beispiel 1.1.1.1
  • internes Netzwerk eintragen, 192.168.10.0/255.255.255.0
  • Externe IP von Standort B eintragen, 2.2.2.2
  • internes Netzwerk des Standort B, 192.168.20.0/255.255.255.0
  • “Die beiden Verzeichnisse anzeigen, die die beiden Konfigurationsdateien enthalten”

Wir brauchen jetzt nur die “fritzbox_1_1_1_1.cfg” Datei, also kann das andere Fenster geschlossen werden.

Schritt 2

  • die fritzbox_1_1_1_1.cfg Datei öffnen und den PSK unter “key = ” kopieren (ohne Anführungszeichen)
  • auf die FritzBox verbinden
  • Internet –> Freigaben –> VPN
  • “Durchsuchen” und die fritzbox_1_1_1_1.cfg auswählen

Schritt 3

  • IPFire –> Dienste
  • “Öffentliche IP oder FQDN für das rote Interface oder <%defaultroute>:” 2.2.2.2
  • “Aktiviert” Haken setzen und Speichern
  • unter “Verbindungsstatus und -kontrolle:” Button Hinzufügen
  • “Netz-zu-Netz Virtual Private Network”
  • Name: frei wählbar
  • Host-IP Adresse: RED
  • Lokales Subnetz: 192.168.20.0/255.255.255.0
  • Remote Host/IP:1.1.1.1
  • Remote Subnetz: 192.168.10.0/255.255.255.0
  • “Verwenden Sie einen Pre-Shared Schlüssel:” den vorher kopierten PSK aus der .cfg einfügen
  • “Speichern” Button
  • unter “Verbindungsstatus und -kontrolle:” Bearbeiten (Stift-Symbol) –> Erweitert –> Haken setzen bei “IKE+ESP: Verwenden Sie nur die vorgeschlagenen Einstellungen.”

Das VPN sollte nun aufgebaut werden.

Mögliche Probleme können in den Log-Dateien eingesehen werden:

  • IPFire: /var/log/messages
  • FritzBox: System –> Ereignisse –> Internetverbindung

Schritt 4

Das VPN zur Fritzbox hat Probleme mit DPD (Dead Peer Detection).  Wählt man “restart” wird ca. jede 2-3 Minuten das VPN von Seiten des IPFire neu aufgebaut, weil angeblich ein Down-Status erkannt wurde. Die Option “clear” und “hold” beenden das VPN und verbinden es nicht neu.

Lösung:

  • SSH auf IPFire verbinden
  • vi /etc/ipsec.conf
  • im Konfigurationsabschnitt “conn NAME” die 3 Einträge dpddelay=30, dpdtimeout=120, dpdaction=clear entfernen
  • in den Eigenschaften auf dem IPFire dieser VPN-Verbindung sollte nicht wieder gespeichert werden, ansonsten werden diese Einstellungen erneut gesetzt und müssten manuell entfernt werden
  • das Webinterface vom IPFire besitzt leider nicht die Option DPD zu deaktivieren