[Asterisk] Projektlog Fernwartung mit 2-Faktor-Autorisierung
Per Telefon freischaltbarer Fernwartungsport
Ziel: SSH-Tunnel von aussen ins LAN ermöglichen, um bspw. lokalen Entwicklungsserver erreichbar zu machenWeg:
- ssh auf einem weiteren Port
- diesen Port per NAT-Forwarding am Router nach außen freigeben
- diesen Port am Pi per iptables sperren und nur bei Bedarf per Anruf mit Passworteingabe freigeben und nach x-Sekunden wieder sperren (bestehende ssh-Sitzungen bleiben erhalten)
SSH:
- mehrere Ports:
sudo nano /etc/ssh/sshd_config -> Port 1234
sudo /etc/init.d/ssh restart
- ssh-Nutzer für Tunnel einrichten:
http://www.ab-weblog.com/de/erstellen-eines-beschraenkten-ssh-benutzers-nur-fur-ssh-tunneling/
- Sicherheitsvorkehrungen und fail2ban:
http://jankarres.de/2013/12/raspberry-pi-ssh-vor-angriffen-absichern/
- Eingerichtete Nutzer anzeigen (letztes skript):
http://www.cyberciti.biz/faq/linux-list-users-command/
- Tunnel erzeugen:
http://blog.ch-becker.de/2011/02/20/ssh-tunnel-mit-linux/
Konfiguration iptables-Firewall:
http://www.gtkdb.de/index_36_2167.html
http://www.forum-raspberrypi.de/Thread-tutorial-linux-firewall-iptables-unter-raspbian-konfigurieren
- open and close Ports:
http://www.serverschool.com/dedicated-servers/how-to-close-and-open-ports-with-iptables/
- iptables-save > /etc/iptables/rules.v4
- ip6tables-save > /etc/iptables/rules.v6
http://www.sysadminslife.com/linux/quicktipp-iptables-regeln-dauerhaft-speichern-mit-iptables-persistent-debian-ubuntu-linux-mint/
iptables einstellen und Einstellungen sichern:
- sudo apt-get install iptables-persistent
Skript oder Kommandos als root (setuid) ausführen:
- für die Nutzung in Asterisk
http://unix.stackexchange.com/questions/364/allow-setuid-on-shell-scripts/369#369
Asterisk:
- TrySystem:
http://www.voip-info.org/wiki/view/Asterisk+cmd+TrySystem
- Passworteingabe
http://das-asterisk-buch.de/1.6/applications-authenticate.html
techomatic - 2014-04-08 12:53