Linux
Alias-Befehle anlegen und dauerhaft speichern
- Details
Um einen Alias-Befehl dauerhaft zur Verfügung zu haben, muss das Alias in der BASHRC hinterlegt werden:
echo "alias foo=bar" >> ~/.bashrc
Dann die BASHRC "sourcen":
source ~/.bashrc
So steht der Befehl auch nach einem Neustart noch zur Verfügung.
Android: Vorinstallierte Apps entfernen
- Details
Wer ein neues Smartphone mit Android kauft, kennt das: Es sind jede Menge unnötiger Apps installiert, die man eigentlich los haben möchte. Im besten Fall kann man diese noch deaktivieren, aber entfernen lassen sie sich oft nicht.
Hier zeige ich, wie man sie mit Hilfe der ADB (Android Debug Bridge) entfernen kann.
Achtung! Wenn Ihr Apps entfernt die euer System dringend benötigt kann es sein, dass das Smartphone nicht mehr startet. Dann hilft nur noch das Zurücksetzen des Geräts über den Recovery-Modus.
Zuerst müssen wir den Paketnamen der Apps heraus finden die wir entfernen möcthen. Das geht am einfachsten mit der kostenlosen App "Package Names Viewer" aus dem Play Store.
In diesem Beispiel wollen wir die App "Hangouts" entfernen. Der Paketname lautet also com.google.android.talk.
Als nächstes müssen wir in Android die Entwickleroptionen aktivieren. Dazu in die Einstellungen gehen und auf "Über das Telefon" drücken. Dann müssen wir 7x auf die "Build-Nummer" drücken, dann wird die entsprechende Option in den Konfigurationen sichtbar.
Nun die Konfiguration öffnen -> Entwickleroptionen und das "USB-Debugging" aktivieren.
Nun muss ADB installiert werden. Unter Linux geht das ganz einfach mit
sudo apt install adb
Nun das Smartphone mit dem USB-Kabel verbinden und am Rechner anschließen.
Mit adb devices kann man sich die Geräte anzeigen lassen, die angeschlossen sind.
Um eine ADB Shell auf das Smartphone zu öffnen, gibt man nun adb shell ein. Ist man verbunden, kann man nun die entsprechenden Pakete auflisten und entfernen.
Installierte Apps anzeigen:
pm list packages
bzw.
pm list packages -3 (System-Apps ausblenden)
Um ein Paket zu entfernen:
pm uninstall -k --user 0 com.google.android.talk
Der User 0 steht dabei für den ersten Benutzer auf dem System. Für gewöhnlich gibt es nur einen.
Um zu sehen ob es noch weitere Benutzer gibt:
Apache 2 mit mod_security absichern (Debian Lenny)
- Details
1.) Herrunterladen der benötigten Pakete
Die Pfade müssen natürlich bei einer neueren Version entsprechend angepasst werden. Außerdem muss evtl. das Paket auf die installierte Betriebssystem-Version angepasst werden (AMD64, PowerPC...).
Ich würde die Pakete einfach nach /tmp herunterladen.
cd /tmp
wget http://etc.inittab.org/~agi/debian/libapache-mod-security2/libapache-mod-security_2.5.9-1_i386.deb
wget http://etc.inittab.org/~agi/debian/libapache-mod-security2/mod-security-common_2.5.9-1_all.deb
2.) Installation der Pakete
Auch hier gilt wieder, den Pfad (bzw. die Datei) entsprechend auf sein System abzuändern.
dpkg -i mod-security-common_2.5.9-1_all.deb libapache-mod-security_2.5.9-1_i386.deb
3.) modsecurity-Verzeichnis im Apache-Pfad anlegen
mkdir /etc/apache2/modsecurity2
chmod 600 -R /etc/apache2/modsecurity2
4.) Herunterladen und entpacken der Regeln
Diese Regeln kommen direkt von modsecurity.com, und verhindern schon die meisten üblichen Angriffe.
wget http://www.modsecurity.org/download/modsecurity-core-rules_2.5-1.6.1.tar.gz
nun können wir die heruntergeladenen Regeln entpacken und in das vorher angelegte Verzeichnis verschieben:
tar fvx modsecurity-core-rules_2.5-1.6.1.tar.gz
mv *.conf /etc/apache2/modsecurity2/
5.) Dem Apache den Ordner mit den Regeln bekannt machen
vi /etc/apache2/conf.d/mod-security2.conf
...und folgendes einfügen:
<IfModule mod_security2.c>
Include /etc/apache2/modsecurity2/*.conf
</IfModule>
6.) Symlink zum Apache-Logfile erstellen
Damit wird das Apache Log-Verzeichnis an Debian angepasst. Somit werden die Logfiles dann unter /var/log/apache2/modsec_<Regel>.log abgelegt.
ln -s /var/log/apache2 /etc/apache2/logs
7.) Testen ob das Modul geladen wurde
Wenn ihr euch auf eurem Webserver eine "phpinfo.php"-Datei anlegt könnt ihr sehen, ob das mod_security Modul korrekt geladen wurde. Und zwar unter dem Punkt "Loaded Modules".
Die phpinfo.php (kann natürlich auch anders heißen) muss folgenden Inhalt haben:
‹?php phpinfo(); ?›
8.) Erstmal nur mitloggen, später blockieren
Zuerst soll mal nichts blockiert, sondern nur geloggt werden:
vi /etc/apache2/modsecurity2/modsecurity_crs_10_config.conf
Diese Zeile folgendermaßen anpassen:
SecRuleEngine DetectionOnly
So werden alle potenziellen Gefahren und Warnungen zwar geloggt, aber noch nichts geblockt. Man sollte also das Modul erstmal eine Weile so laufen lassen, damit nicht zuviel geblockt wird, was evtl. garnicht erwünscht ist.
Jetzt muss natürlich der Apache neu geladen werden:
/etc/init.d/apache2 reload
In der Datei /var/log/apache2/modsec_debug.log kann man nun nachsehen, was alles geblockt werden würde. Hier ein Beispiel:
[31/Jan/2010:12:15:23 +0100] [www.itwelt.org/sid#3f1b6d0][rid#1125ac1][/administrator/index.php][1] Access denied with code 501 (phase 2). Pattern match "(?:\b(?:\.(?:ht(?:access|passwd|group)|www_?acl)|global\.asa|httpd\.conf|boot\.ini)\b|\/etc\/)" at ARGS:text. [file "/etc/apache2/modsecurity2/modsecurity_crs_40_generic_attacks.conf"] [line "114"] [id "950005"] [msg "Remote File Access Attempt"] [data "/etc/"] [severity "CRITICAL"] [tag "WEB_ATTACK/FILE_INJECTION"]
Jede dieser Regeln hat eine ID, in diesem Fall ist das z.B. die "950005". So ist es möglich, später Ausnahmen für mod_security festzulegen.
9.) Ausnahmen hinzufügen
Mit der oben ausgelesenen ID ist es nun möglich, Ausnahmen für bestimmte Seiten festzulegen. Am einfachsten ist es, ein neues Config-File mit einer Whitelist anzulegen:
vi /etc/apache2/mod_security/modsecurity_crs_99_whitelist.conf
<LocationMatch /administrator/index.php>
SecRuleRemoveById 950005
SecRuleRemoveById 950006
SecRuleRemoveById 950907
</LocationMatch>
Man kann die Ausnahmen alternativ auch in den <VirtualHost...>-Bereich der entsprechenden Apache Konfigurations-Datei eintragen. (/etc/apache2/sites-available/...). Die Syntax ist dann die gleiche wie im obigen Beispiel.
10.) mod_security "scharf" schalten
Um unser Modul nun einzuschalten, und auch potenzielle Angriffe zu blockieren, muss die Konfiguration entsprechend angepasst werden:
vi /etc/apache2/modsecurity2/modsecurity_crs_10_config.conf
SecRuleEngine On
Apache 2: Module aktivieren/deaktivieren
- Details
Getestet unter Debian 8 'Jessie'
Die Module für den Apache 2 können ganz einfach mit Hilfe von a2enmod aktiviert werden.
Alle verfügbaren Module anzeigen:
a2enmod
Das entsprechende Modul aktivieren:
a2enmod MODULNAME
Dann die Apache-Konfiguration neu einlesen:
/etc/init.d/apache2 reload
So kann das Modul bei Bedarf wieder deaktiviert werden:
a2dismod MODULNAME
Apache 2: Passphrase-Abfrage des Zertifikats beim Start abschalten
- Details
Getestet mit Debian "Wheezy" und Apache2
Wenn man einen Schlüssel mit Passwort erstellt hat, verlangt Apache2 bei jedem Neustart den Passphrase. So kann man die manuelle Eingabe des Passphrase abschalten:
cd /etc/apache2/ssl/
cp server.key server.pass.key
openssl rsa -in server.pass.key -out server.key