Redmine auf einem frischen Ubuntu 14.04 LTS installieren

Ein einfaches „apt-get install redmine“ reicht nicht mehr, um eine aktuelle Redmine-Installation auf Ubuntu zu installieren. Aus diesem Grund dokumentiere ich hier, wie ich bei mir Redmine installiert habe.

Orientiert an dieser Anleitung poste ich hier meine Arbeitsschritte:

Prequisits / Voraussetzungen für Redmine schaffen

Apache installieren

apt-get install --no-install-recommends apache2 libapache2-mod-passenger logrotate ssl-cert

Ruby, git und andere Redmine-Abhängigkeiten installieren:

apt-get install --no-install-recommends git ruby ruby-dev ruby-rmagick rake make gcc libmysqlclient-dev patch

Quelltext von RUBY mittels git herunterladen
Apache installieren

cd /var/www
git clone https://github.com/redmine/redmine

Anschließend wird das redmine-repository geklont:

09-05-_2016_14-38-18

Anschließend wechselt ihr in das redmine-Verzeichnis und wechselt den Branch auf den aktuellen Stable:

cd redmine
git checkout 3.1-stable

Als nächstes bedienen wir uns dem offiziellen „Ruby Paketsystem“, um die Abhängigkeiten für Ruby downzuloaden. Achtet darauf, bei dem Befehl die HTTPS-Verbindung zur Paketquelle anzugeben!
Dafür müssen wir als erstes die Paketquelle in eine Datei schreiben mit dem Befehl:

09-05-_2016_14-52-18
GEMs Pakete für Redmine installieren
cat << EOF >> /etc/gemrc

In die Datei schreibt ihr die folgenden Zeilen:

:sources:
- https://rubygems.org
EOF

Anschließend wechselt ihr in das Verzeichnis /var/www/redmine und installiert die Pakete „bundler“ und „nokogiri“

cd /var/www/redmine
gem install --no-ri --no-rdoc bundler nokogiri
hash -r

An dieser Stelle weiche ich von der oben genannten englischen Anleitung ab und gebe meinen externen MySQL-Server an, indem ich die Config kopiere und editiere:

cd config
sudo cp database.yml.example database.yml
sudo vim database.yml

Kopiert noch diese Zeilen in die database.yml:

# Clean up the environment
unset REDMINE_PASSWORD

09-05-_2016_15-08-26Nutze Bundler zum installieren erforderlicher gems und deaktiviere nicht genutzte:

cd /var/www/redmine
bundle install --without development test postgresql sqlite rmagick

09-05-_2016_15-01-10

Konfiguration

Um eine MySQL-Datenbank anzulegen, verbindet Euch mit dem MySQL-Server Eurer Wahl oder legt einen lokalen mittelt apt-get install mysql-server an.
Mit den folgenden Befehlen legt ihr eine mysql-Datenbank mit einem zufääligen Passwort an:

REDMINE_PASSWORD=$(openssl rand -base64 33)
mysql -e "CREATE DATABASE redmine CHARACTER SET utf8;"
mysql -e "CREATE USER 'redmine'@'localhost' IDENTIFIED BY '$REDMINE_PASSWORD';"
mysql -e "GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';"

Redmine

Als nächstes legt ihr einen User „redmine“ an:

adduser --quiet --system --group --gecos 'Passenger user for redmine' --shell /usr/sbin/nologin --home /nonexistent --no-create-home redmine

Korrigiert die Berechtigung für die Konfigurationsdatei:

touch /var/www/redmine/config/database.yml
chmod 640 /var/www/redmine/config/database.yml
chgrp redmine /var/www/redmine/config/database.yml

Als nächstes legt eine configuration.yml an und füllt sie mit den nachstehenden Inhalten:

touch /var/www/redmine/config/configuration.yml
chmod 640 /var/www/redmine/config/configuration.yml
chgrp redmine /var/www/redmine/config/configuration.yml
cat << EOF > /var/www/redmine/config/database.yml
production:
  adapter: mysql2
  database: redmine
  # XXX: Unix sockets are faster than loopback connections
  #host: 127.0.0.1
  socket: /var/run/mysqld/mysqld.sock
  username: redmine
  password: "$REDMINE_PASSWORD"
  encoding: utf8
EOF

Solltet ihr an dieser Stelle Berechtigungsprobleme erhalten, versucht es nochmal mit sudo -i.

Als nächstes bereitet ihr die Datenbank vor inklusive Beispieldaten:

# Re-run Bundler to automatically install the right DB adapter now that database.yml is populated
cd /var/www/redmine
sudo bundle install --without development test postgresql sqlite rmagick

# Generate a secret token and protect it
sudo rake generate_secret_token
sudo chmod 0640 config/initializers/secret_token.rb
sudo chgrp redmine config/initializers/secret_token.rb

sudo RAILS_ENV=production rake db:migrate
sudo RAILS_ENV=production REDMINE_LANG=en rake redmine:load_default_data

# Encrypt SCM and LDAP passwords
sudo RAILS_ENV=production rake db:encrypt

Bereite ein paar Verzeichnisse vor:

cd /var/www/redmine
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine: files log tmp public/plugin_assets
sudo chmod -R 0755 public/plugin_assets
sudo chmod -R 0750 files log tmp  # can contain sensitive data
sudo find files log tmp public/plugin_assets -type f -exec chmod -x {} +

Konfiguriere die LOG-Rotation, damit die Log-Dateien nicht das Dateisystem vollschreiben:

sudo -i
cat << EOF > /etc/logrotate.d/redmine
/var/www/redmine/log/*.log {
  daily
  missingok
  rotate 7
  compress
  notifempty
  copytruncate
}
EOF
exit

Apache Konfiguration

Ich werde als Aufruf-URL ein https://host/pm konfigurieren. Dafür ergänze ich in der configuration.yml folgende Zeilen:

  # Configuration of the autologin cookie.
  # autologin_cookie_name: the name of the cookie (default: autologin)
  # autologin_cookie_path: the cookie path (default: /)
  # autologin_cookie_secure: true sets the cookie secure flag (default: false)
  autologin_cookie_name:
  autologin_cookie_path: "/pm"
  autologin_cookie_secure: true

Anschließend lege ich einen symbolischen Link an:

ln -s public pm

Optional könnt ihr ungenutzte Module entfernen:

a2dismod access_compat alias authz_groupfile autoindex cgid deflate dir env filter negotiation status > /dev/null

Konfiguriert die SSL-Konfiguration des Apache

cat << EOF > /etc/apache2/sites-available/pm.svc.sdeziel.info-ssl.conf
<VirtualHost _default_:443>
  ServerName  EUER_SERVERNAME
  ServerAdmin webmaster@EUREDOMAIN.DE

  ErrorLog /var/log/apache2/redmine-error.log
  CustomLog /var/log/apache2/redmine.log combined

  SSLEngine On
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

  # Passenger user
  PassengerUser redmine

  # XXX: If NOT using a sub-URI
  #DocumentRoot /var/www/redmine/public

  # XXX: If using a sub-URI (/pm)
  DocumentRoot /var/www/redmine/pm
  RailsBaseURI /pm
  PassengerAppRoot /var/www/redmine
</VirtualHost>
EOF

Den nachfolgenden Schritt in der Anleitung kann ich nicht nachvollziehen, habe ihn aber dennoch durchgeführt:
„Tweak Passenger performance:“

cat << EOF > /etc/apache2/conf-available/zz-passenger-performance.conf
# Passenger tuning
PassengerMaxPoolSize 2
PassengerMinInstances 1
# XXX: Pick one of those PassengerPreStart
#PassengerPreStart https://pm.svc.sdeziel.info/
#PassengerPreStart https://pm.svc.sdeziel.info/pm
PassengerMaxRequests 5000
PassengerUploadBufferDir /tmp/
# Breaks compatibility with mod_autoindex and mod_rewrite
PassengerHighPerformance on

# Do not reveal too much about the server
ServerTokens Prod
ServerSignature Off

Es empfiehlt sich, nur HTTPS-Verbindungen zuzulassen:

sudo a2dissite default 000-default default-ssl
sudo a2ensite EUER_SERVERNAME.info-ssl
sudo a2enmod ssl passenger
sudo a2enconf zz-passenger-performance

sudo apache2ctl -S && service apache2 restart

Windows Terminalserver 2008 R2 – Zertifikat für Remote Apps erneuern

Einmal im Jahr bettelt unser Terminal Server darum, ein neues Zertifikat für die RemoteApps zu erhalten – und jedes Jahr auf’s neue kommt die Frage auf – wie ging das noch mal mit der Zertifikatserneuerung im Active Directory?

Wie erstellt Ihr Euch im Active Directory von Eurer Zertifizierungsstelle (DomänenController) ein neues Zertifikat?

Ganz einfach:

  • Öffnet Euch eine Management-Konsole und fügt Euch (Strg + M) das SnapIn für „Zertifikate -> Lokaler Computer“ hinzu.
  • Anschließend geht ihr auf „Eigene Zertifikate“.
  • Rechte Maustaste –> Alle Aufgaben –> Neues Zertifikat anfordern

15-04-_2016_17-21-14

Anschließend einfach auf „Weiter“15-04-_2016_17-21-23

Wählt die „Active Directory-Registrierungsrichtlinie“ aus15-04-_2016_17-21-30

Setzt ein Häkchen auf „Computer“ und klickt auf „Registrieren“. 15-04-_2016_17-22-01Fertig ist das Zertifikat erstellt.

Jetzt könnt ihr es, sofern dafür benötigt, noch im RemoteApp Manager einbinden:

15-04-_2016_17-30-43

 

Microsoft Office Makros per Gruppenrichtlinie (GPO) abstellen zum Schutz vor Ransomware wie Locky und Cryptolocker

Das Stichwort „Ransomware“ ist derzeit in aller Munde und auch an mir geht die Aufgabe nicht vorbei, das Netzwerk meines Arbeitsgebers abzusichern. Aus diesem Grund heute aus aktuellem Anlass eine Anleitung, wie man mittels Gruppenrichtlinien im gesamten Unternehmen wirksam verhindert, dass Ransomware auf den Rechner mittels Makroschädling den PC infiziert.

Makros sind nur ein möglicher Infektionsweg von vielen. Täglich werden neue Wege aufgezeigt.

Aus diesem Grund noch mal der Hinweis, dass nur Backups,
 welche nicht permanent am PC angeschlossen sind, 
vor Ransomware schützen können.

Wie vereinheitlicht man die Office-Makro-Sicherheitseinstellungen seiner Anwender mittels zentraler Anpassung der via Gruppenrichtlinie?

  1. Herunterladen und Bereitstellen der Gruppenrichtlinie

    1. Herunterladen der Administrativen Vorlagen für Microsoft Office (In der Regel heutzutage die 64-Bit Version)
      1. Office 2007
      2. Office 2010
      3. Office 2013
      4. Office 2016
    2. Nach dem Download führen Sie die heruntergeladenen AdminTemplates_32/64.exe -Dateien aus. Sie werden aufgefordert, ein Verzeichnis zu nennen, wohin Sie die Vorlagendateien entpacken möchten. entpacken Sie die Dateien an einen Ort, an den Sie von Ihrem Domänencontroller aus hinkommen
    3. Verbinden Sie sich mit Ihrem Domänencontroller und kopieren Sie die Dateien im Verzeichnis admx in das Verzeichnis
      %systemroot%\PolicyDefinitions\
      Sie brauchen nur die Unterverzeichnisse für de und en, die anderen Sprachen müssen Sie nicht mit kopieren.
      08-03-_2016_09-11-17
  2. Konfigurieren der Gruppenrichtlinie

Erstellen Sie in der Gruppenrichtlinienverwaltung  eine neue Gruppenrichtlinie für die Office-Sicherheitseinstellungen. Die zugehörigen Makroeinstellungen finden Sie an der folgenden Stelle:

Benutzerkonfiguration\Administrative Vorlagen\[Office-Programm [Version]]

Hier gehen Sie je nach Version wie folgt vor:

  1. Office 2013
    Hier können Sie gegebenenfalls gleich die komplette VB-Skript-Ausführung deaktivieren:Benutzerkonfiguration \ Administrative Vorlagen \ Microsoft Office 2013 \ Sicherheitseinstellungen \  VBA für office-Anwendungen deaktivieren
    08-03-_2016_08-49-17Diese Richtlinie schalten Sie auf Aktiviert.
  2. Beispiel : Word 2013
    Benutzerkonfiguration \ Administrative Vorlagen \Microsoft Word 2013 \ Word-Optionen \ Sicherheit \ Trust-Center \ Einstellungen für VBA-Makrobenachrichtigungen
    08-03-_2016_08-56-07Hier wählen Sie „Alle Makros ohne Benachrichtigung deaktivieren“.Die Einstellungen für die anderen Office-Programme und Word-Versionen befinden sich an den folgenden Stellen:
ProgrammGPO-PfadEinstellung
Word 2013Microsoft Word 2013\Word-Optionen\Sicherheit\Trust-CenterEinstellungen für VBA Makrobenachrichtigungen:
Alle Makros ohne Benachrichtigung deaktivieren
Word 2010Microsoft Word 2010\Word-Optionen-Sicherheit\SicherheitscenterEinstellungen für VBA Makrobenachrichtigungen:
Alle Makros ohne Benachrichtigung deaktivieren
Word 2007Microsoft Office Word 2007\Word-Optionen\Sicherheit\VertrauensstellungscenterEinstellungen für VBA Makrobenachrichtigungen:
Keine Warnungen für alle Makros, aber alle Makros deaktivieren
Excel 2013Microsoft Excel 2013\Excel-Optionen\Sicherheit\Trust-CenterEinstellungen für VBA Makrobenachrichtigungen:
Alle Makros ohne Benachrichtigung deaktivieren
Excel 2010Microsoft Excel 2010\Excel-Optionen\Sicherheit\SicherheitscenterEinstellungen für VBA Makrobenachrichtigungen:
Alle Makros ohne Benachrichtigung deaktivieren
Excel 2007Microsoft Office Excel 2007\Excel-Optionen\Sicherheit\VertrauensstellungscenterEinstellungen für VBA Makrobenachrichtigungen:
Keine Warnungen für alle Makros, aber alle Makros deaktivieren

Die GPO-Pfade für die Makro-Einstellungen der in der Tabelle genannten Programme lassen sich ebenfalls ableiten auf Outlook, Access, Powerpoint und all die anderen Office-Programme. Die Pfade unterscheiden sich bei den Versionen zumeist in der unterschiedlichen Übersetzung des „Trust-Centers“.

Vergessen Sie anschließend nicht, die Gruppenrichtlinie mit der richtigen Organisationseinheit in Ihrem Netzwerk zu verknüpfen, damit diese aktiv wird.

 

Webmin auf Ubuntu Linux installieren

Also Nicht-Linux-Profi behelfe ich mir gerne mit charmanten Hilfsmitteln. So installiere ich mir auf einem Ubuntu gerne die Applikation Webmin – ein WebFrontend, mit dem sich Linux komfortabel administrieren lässt.

Ubuntu warnt ausdrücklich vor der Verwendung von Webmin. Für die einfachen Zwecke, die ich dafür bisher verwendet habe, war es jedoch immer ausreichend.

Um Webmin zu installieren, sind folgende Schritte notwendig:

sudo apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions

unter https://sourceforge.net/projects/webadmin/… lässt sich die aktuelle Webmin-Version als deb-File herunterladen. Am Einfachstem mit dem Befehl wget:

 sudo wget http://downloads.sourceforge.net/project/webadmin/webmin/1.780/webmin_1.780_all.deb?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fwebadmin%2Ffiles%2Fwebmin%2F1.780%2F&ts=1456781966&use_mirror=netcologne

Gegebenenfalls muss man die heruntergeladene Datei mit mv noch umbenennen.

installieren lässt sich das dev-File wie folgt:

sudo dpkg --install webmin_1.780_all.deb

Anschließend lässt sich Webmin aufrufen durch
https://ipAdresse:10000