Schlagwort: Microsoft

Spam Spam Spam, wonderful Spam

Nein, ist natür­lich nicht won­der­ful, der Spam.
Es fällt auf, daß der Groß­teil des Spams mitt­ler­wei­le nicht mehr aus Ruß­land, Chi­na oder Bra­si­li­en kommt, son­dern von genau zwei Anbie­tern: gmail und outlook.com.
Oh, ich bin mir sicher, daß sie ihre Kun­den soweit es geht vor Spam schüt­zen — aber offen­kun­dig tun sie nichts, ihre Kun­den selbst am Spam­men zu hin­dern. Ganz im Gegen­teil: SPF stimmt, DKIM stimmt, damit fliegt man schon mal ein gutes Stück unter den meis­ten Spam­fil­tern.
Nicht unter mei­nen, die scoren bei­des mit 0.1 (0 geht nicht bei Spa­m­As­sas­sin) Damit haben Goog­le und Micro­soft es geschafft, halb­wegs (halb­wegs wegen der Pro­ble­me mit Wei­ter­lei­tun­gen und Mai­ling­lis­ten) funk­tio­nie­ren­de Anti-Spam-Tech­ni­ken zu töten.
Ich kann nur jedem, dem an Email gele­gen ist, raten, von die­sen bei­den Mail­pro­vi­dern größt­mög­li­chen Abstand zu neh­men.

0

Ingenieure, IT

Hier im Haus haben wir eine ziem­lich gute (ziem­lich ist unter­trie­ben) Lüf­tungs­an­la­ge eines deut­schen(?) Her­stel­lers — die­se.
Nun kann man heut­zu­ta­ge kaum noch Anla­gen ver­kau­fen, die nicht in irgend­ei­ner Wei­se über Com­pu­ter und/oder Apps bedient wer­den kön­ne, so auch unse­re Anla­ge.
Jeden­falls irgend­wie:

WLAN TCP / IP via Rou­ter ja
Anschluss Mod­bus / IP via Rou­ter ja

Das

via Rou­ter ja

ist natür­lich falsch: Das Gerät hat einen Ether­net-Anschluß, ist ein DCHP-Cli­ent (nix IPv6) und spricht dort nicht etwa HTTP, son­dern Mod­Bus. Die Anla­ge muß also nur ans LAN mit einem DHCP-Ser­ver (es läßt sich kei­ne fixe Adres­se ver­ge­ben) kom­men. Daß man im Tech­nik­raum Ether­net zu lie­gen hat, ist eher unwahr­schein­lich, aber für WLAN hat es aus wel­chen Grün­den auch immer nicht gereicht (nein, man kann es auch nicht nach­rüs­ten).

Hat man dann doch die Anla­ge ans Netz bekom­men, kann man sie mit einer App (Andro­id oder IOS) steu­ern, also jeden­falls wenn die App die Anla­ge fin­det, was immer­hin oft der Fall ist. nmap -sT -p502 fin­det die Anla­ge immer.

Aber man kann sie auch viel detail­lier­ter kon­fi­gu­rie­ren — dafür hat die Anla­ge einen USB-Anschluß. Mini-USB-B. Schon das ist gaga. Um das machen zu kön­nen, gibt es ein Pro­gramm namens iFlow, nur hipp mit dem i. Aller­dings nur für Win­dows. Es braucht .NET 3.5, das ist von anno dazu­mal. Es braucht genau die­se Ver­si­on, neue­re gehen nicht.
Ich habe kein Win­dows, in einer VM auf Linux wird die Anla­ge nicht gefun­den (ich wer­de wei­terfri­ckeln, viel­leicht doch irgend­wann?)
Wür­de ich eine Ver­bin­dung bekom­men, hät­te ich 3 Accounts:

  • User (ohne Paß­wort)
  • Instal­la­teur (mit Paß­wort)
  • Admin (mit ande­rem Paß­wort)

Die Paß­wör­ter sind hart codiert und ste­hen im Inter­net. Das GUI ähnelt der SPS-Steue­rung eines Atom­kraft­wer­kes (jeden­falls stel­le ich mir eine sol­che so vor)

Ehr­lich: So schafft sich Deutsch­land ab.

0

ActiveSync, z-push, autodiscover

So, jetzt habe ich das mal alles schön zusam­men­ge­klöp­pelt.

Ziel war: Auf den iDe­vices Push­mail zu haben. Nor­ma­ler­wei­se braucht man das nicht, wenn der Cli­ent IMAP IDLE kann — aber IOS kann das eben nicht. Man­che sagen, weil das ziem­lich viel Strom kos­tet; ich weiß es nicht.
Das hat zur Fol­ge, daß Mails erst dann abge­ru­fen wer­den, wenn man in die Mail-App geht. Funk­tio­niert zwar, ist aber nicht schön. Mit dem Exchan­ge von der Fir­ma funk­tio­niert Push­mail sehr schön, aber ich habe eben kein Exchan­ge und wer­de sicher­lich auch nie eins haben — das wal­te Hugo!
Der Mecha­nis­mus hin­ter dem Push­mail, wie es Exchan­ge macht, heißt Active­Sync, und da gibt es eine Open­So­ur­ce-Imple­men­tie­rung: z-push.

Auf gehts!
Einen neu­en vhost erzeugt, push.sokoll.com, mit SSL selbst­ver­ständ­lich. Wild­card-Zer­ti­fi­ka­te sind übri­gens eine tol­le Erfin­dung 🙂

 

<VirtualHost 195.110.60.28:443>
  RewriteEngine On
  RewriteRule ^/Microsoft-Server-ActiveSync$ /webroot/com/sokoll/push/index.php
  DocumentRoot /webroot/com/sokoll/push
  ServerName push.sokoll.com
  ServerAdmin rainer@sokoll.com
  LogFormat "%v %l %u %t \"%r\" %>s %b" combined
  CustomLog /var/log/apache2/push.sokoll.com-access_log combined
  ErrorLog /var/log/apache2/push.sokoll.com-error_log
  <IfModule headers_module>
    Header append MS-Server-ActiveSync: 14.0
    Header append MS-ASProtocolVersions: 1.0,2.0,2.1,2.5,12.0,12.1,14.0
    Header append MS-ASProtocolCommands: Sync,SendMail,SmartForward,SmartReply,GetAttachment,GetHierarchy,CreateCollection,DeleteCollection,MoveCollection,FolderSync,FolderCreate,FolderDelete,FolderUpdate,MoveItems,GetItemEstimate,MeetingResponse,ResolveRecipients,ValidateCert,Provision,Search,Ping,Notify,ItemOperations,Settings
  </IfModule>
  SSLEngine on
  SSLCertificateFile /etc/ssl/private/wildcard.sokoll.com.crt
  SSLCertificateKeyFile /etc/ssl/private/wildcard.sokoll.com.key
  SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
  SSLHonorCipherOrder on
  SSLCipherSuite ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-SHA:HIGH:!aNULL:!MD5:!ADH
  <Directory /webroot/com/sokoll/push>
    AllowOverride none
    Order allow,deny
    Allow from all
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag magic_quotes_runtime off
    php_flag short_open_tag on
  </Directory>
</VirtualHost>

 

Wir wech­seln in die Docu­men­tRoot und holen uns das aktu­el­le z-push (heu­te: 2.1.3) und packen das aus.
Bei mir sieht das dann so aus:

allinclusive:/webroot/com/sokoll/push # ls -l
total 168
-rw-rw-r-- 1 wwwrun www 11571 Jun 11 18:03 INSTALL
-rw-rw-r-- 1 wwwrun www 36212 Jan 28 2013 LICENSE
drwxrwxr-x 8 wwwrun www 4096 Jun 25 18:52 backend
-rw-rw-r-- 1 wwwrun www 13611 Nov 28 18:45 config.php
drwxrwxr-x 2 wwwrun www 4096 Jun 25 18:52 include
-rw-rw-r-- 1 wwwrun www 13790 Sep 17 2013 index.php
drwxrwxr-x 11 wwwrun www 4096 Jun 25 18:52 lib
drwxrwxr-x 2 wwwrun www 4096 Jun 25 18:52 tools
-rw-rw-r-- 1 wwwrun www 2040 Jun 25 18:51 version.php
-rwxrwxr-x 1 wwwrun www 34476 Feb 28 2013 z-push-admin.php
-rwxrwxr-x 1 wwwrun www 29586 Jan 4 2013 z-push-top.php
allinclusive:/webroot/com/sokoll/push #

config.php bear­bei­ten:

allinclusive:/webroot/com/sokoll/push # diff -u config.php.org config.php
--- config.php.org 2014-12-03 17:52:57.425843135 +0100
+++ config.php 2014-11-28 18:45:02.302475244 +0100
@@ -45,7 +45,7 @@
 * Default settings
 */
 // Defines the default time zone, change e.g. to "Europe/London" if necessary
- define('TIMEZONE', '');
+ define('TIMEZONE', 'Europe/Berlin');
// Defines the base path on the server
 define('BASE_PATH', dirname($_SERVER['SCRIPT_FILENAME']). '/');
@@ -196,7 +196,7 @@
 * Backend settings
 */
 // the backend data provider
- define('BACKEND_PROVIDER', '');
+ define('BACKEND_PROVIDER', 'BackendIMAP');
/**********************************************************************************
 * Search provider settings
@@ -266,4 +266,4 @@
 */
 );
-?>
\ No newline at end of file
+?>
allinclusive:/webroot/com/sokoll/push #

INSTALL lesen und even­tu­ell php-Pake­te nach­in­stal­lie­ren. backend/imap/config.php habe ich in Ruhe gelas­sen, dort steht drin, man möge sich per IMAP auf local­host ver­bin­den. Das ist zwar kei­ne ver­schlüs­sel­te Ver­bin­dung, aber da es local­host ist, inter­es­siert uns das nicht.

Mein IMAP-Ser­ver (dovecot) horch­te nicht auf local­host, also müs­sen wir das ändern:

allinclusive:/etc/dovecot/conf.d # diff -u 10-master.conf.org 10-master.conf
--- 10-master.conf.org 2014-11-28 12:39:50.850711901 +0100
+++ 10-master.conf 2014-11-28 13:07:19.034694100 +0100
@@ -16,7 +16,8 @@
service imap-login {
 inet_listener imap {
- port = 0
+ address = localhost
+ port = 143
 }
 inet_listener imaps {
 port = 993
allinclusive:/etc/dovecot/conf.d #

Im Prin­zip war es das. Wir wol­len es aber noch schi­cker haben: Auto­dis­co­ver. Ein Mecha­nis­mus von Micro­soft, mit dem man dem Mail­cli­ent nur noch die Email-Adres­se und das Paß­wort über­ge­ben muß, den Rest (Ser­ver, Ports, Ver­schlüs­se­lung) fin­det der Cli­ent sel­ber. Es gibt zwar auch auto­mx — aber da hät­te ich einen klei­nen Medi­en­bruch, da ich eine Web­site ansur­fen muß.

Also einen neu­en vhost ein­rich­ten 🙂

<VirtualHost 195.110.60.28:443>
  DocumentRoot /webroot/com/sokoll/autodiscover
  ServerName autodiscover.sokoll.com
  ServerAdmin rainer@sokoll.com
  CustomLog /var/log/apache2/autodiscover.sokoll.com-access_log combined
  ErrorLog /var/log/apache2/autodiscover.sokoll.com-error_log
  SSLEngine on
  SSLCertificateFile /etc/ssl/private/wildcard.sokoll.com.crt
  SSLCertificateKeyFile /etc/ssl/private/wildcard.sokoll.com.key
  SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
  SSLHonorCipherOrder on
  SSLCipherSuite ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-SHA:HIGH:!aNULL:!MD5:!ADH
  Alias /Autodiscover/Autodiscover.xml "/webroot/com/sokoll/autodiscover/autodiscover.php"
  Alias /AutoDiscover/AutoDiscover.xml "/webroot/com/sokoll/autodiscover/autodiscover.php"
  <Directory /webroot/com/sokoll/autodiscover>
    AllowOverride none
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Die autodiscover.php hat mir dann eini­ge Kopf­schmer­zen gemacht, bis ich doch eine gefun­den habe, die funk­tio­niert, und zwar beim Apfel­schwein — herz­li­chen Dank! Zu Doku­men­ta­ti­ons­zwe­cken liegt mei­ne hier. nach autodiscover.php umbe­nen­nen, ins rich­ti­ge Ver­zeich­nis wer­fen, Varia­blen anpas­sen, fer­tig.

Apa­chen und Dovecot rel­oa­den, das wars.

 

Und so sieht es dann aus:

Einen neu­en Exchan­ge-Account anle­gen:

IMG_1258

Email-Adres­se und Paß­wort ein­ge­ben, die Beschrei­bung ist frei wähl­baar:

IMG_1259

Für kur­ze Zeit taucht ein Bild­schirm auf, der sagt: “Alles OK

IMG_1260

Da z-sync nur Mail macht, wäh­len wir auch nur Mail aus (Für den Rest haben wir ja own­cloud mit Card/CalDAV :-))

IMG_1261

Alles schick!

Mit­ge­lie­fert wer­den zwei klei­ne php-Skrip­te für die Kom­man­do­zei­le: z-push-top.php zeigt die ver­bun­de­nen User, Gerä­te, IP-Adres­sen und den aktu­el­len Sta­tus an, z-push-admin.php gibt ver­schie­de­ne Infor­ma­tio­nen und über die regis­trier­ten Gerä­te, das ist ganz wit­zig.

Synchronized by user: rainer@sokoll.com
-----------------------------------------------------
DeviceId:               applc39jhx51f39c
Device type:            iPhone
UserAgent:              Apple-iPhone5C2/1202.435
Device Model:           iPhone5C2
Device friendly name:   iPhone 5
Device OS:              iOS 8.1.1 12B435
Device OS Language:     de
ActiveSync version:     14.0
First sync:             2014-11-28 18:52
Last sync:              2014-12-03 19:57
Total folders:          62
Synchronized folders:   2
Synchronized data:      Emails(2)
Status:                 OK
WipeRequest on:         not set
WipeRequest by:         not set
Wiped on:               not set
Attention needed:       No errors known

Geht aber auch mit Andro­id:

Synchronized by user: rainer@sokoll.com
-----------------------------------------------------
DeviceId:               sec03d95a650e199
Device type:            SAMSUNGSMT
UserAgent:              SAMSUNG-SM-T110/101.40202
ActiveSync version:     14.0
First sync:             2014-11-28 19:45
Last sync:              2014-11-28 19:51
Total folders:          60
Synchronized folders:   1
Synchronized data:      Emails
Status:                 OK
WipeRequest on:         not set
WipeRequest by:         not set
Wiped on:               not set
Attention needed:       No errors known
2+
© Rainer Sokoll Frontier Theme