De Linux command line is een zeer krachtig stuk gereedschap. De meerderheid van de webservers draait op Linux/Unix. Sommige hosting bedrijven bieden SSH toegang aan tot hun hosting omgeving. Via SSH kun je dan inloggen en de Linux Command Line gebruiken.
In deze presentatie toont Peter enkele tijdsbesparende Command Line commando's die je kunt gebruiken bij jouw Joomla websites:
Enkele SSH command line commando's;
Analyseren en ongedaan maken van een gehackte website;
Een backup maken van een website;
Ongebruikte bestanden vinden;
Het opzetten van een test omgeving.
28. Joomladagen 2015Joomladagen 2015
Basis
~ “tilde”
= standaard home map (“mijn documenten”)
cd ~
> “groter dan teken”
= stuur uitvoer naar nieuw bestand
ls -al > bestand-met-bestandslijst.txt
>> “dubbel groter dan teken”
= voeg uitvoer to aan eind van bestand
ls -al >> bestand-met-bestandslijst.txt
29. Joomladagen 2015Joomladagen 2015
Basis
| “pipe”
= commando's koppelen
ls | less
peter@example.com:/var/www/joomla-cms$
cat configuration.php | grep password
public $password = 'my-secret-db-password';
30. Joomladagen 2015Joomladagen 2015
Symbolic links
Aanmaken van symbolic link: ln
ln -s [TARGET DIR/FILE] [SHORTCUT]
peter@example.com:~$
ln -s /var/www/joomla-cms joomla-test
peter@example.com:~$ ls -al
drwxr-xr-x 2 peter pc 4096 Oct 26 20:34 .
drwxr-xr-x 56 peter pc 4096 Oct 26 19:29 ..
-rw-r--r-- 1 peter pc 0 Nov 7 15:50 example_file.txt
lrwxrwxrwx 1 peter pc Nov 7 15:50 joomla-test ->
/var/www/joomla-cms
34. Joomladagen 2015Joomladagen 2015
SSH
Secure Shell
gebruikt public-key cryptografie
(authenticeren & beveiligen van data communicatie)
peter@computer:~$ ssh peter@192.168.0.10
35. Joomladagen 2015Joomladagen 2015
SSH
peter@computer:~$ ssh peter@example.com
The authenticity of host 'example.com (93.184.216.119)' can't
be established.
RSA key fingerprint is 10:51:ab:f5:d7:[..]:17:16:1f:22:33.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'example.com,93.184.216.119'
(RSA) to the list of known hosts.
peter@example.com's password:
peter@example.com ~ $
38. Joomladagen 2015Joomladagen 2015
Automatisering
● Automatiseer herhalende handelingen
– Automatiseer een aantal commando's
– Gebruik variabelen & input / output
● Automatische handelingen gebaseerd op tijd?
Crontab (ook wel: cronjob)
39. Joomladagen 2015Joomladagen 2015
Shell t.o.v. bash
Shell
The Bourne shell (sh)
command-line
interpreter
Scripts starten met:
#!/bin/sh
Vaak symbolic link
naar bash
Bash
“Bourne-again shell”,
gratis vervanging
voor de Bourne shell
(sh) met meer opties
en betere syntax
Scripts starten met:
#!/bin/bash
40. Joomladagen 2015Joomladagen 2015
Dash?
Op Ubuntu/Debian:
~$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Mar 1 2012
/bin/sh -> dash
= Debian Almquist shell = standaard voor
/bin/sh
Bash is de standaard login shell
voor interactief gebruik
46. Joomladagen 2015Joomladagen 2015
Zoeken
find → zoek bestanden
locate → zoek bestanden (snel, index in
database)
whereis → vind source/binary en handleidingen
which → wat is het path naar een bestand
53. Joomladagen 2015Joomladagen 2015
Hack herstellen
● Backup huidige situatie (zie 6. Backup)
● Analyse
– Gehackte bestanden
– Log files server
● Verwijder onveiligheid
● Schoon bestanden op
54. Joomladagen 2015Joomladagen 2015
Bestanden zoeken
● Nieuwe bestanden (laaste 10 dagen)
find images/ -name "*.php" -mtime -10
● Nieuwe mogelijke bestanden van hackers
find . -type f -newermt 2014-03-09 ! -newermt 2014-
03-11
→ bestand tijd & datum kan worden aangepast....
64. Joomladagen 2015Joomladagen 2015
Apache
Handmatige installatie
$ sudo apt-get install apache2
Start/stop/herstarten
$ sudo service apache2 start
$ sudo service apache2 stop
$ sudo service apache2 restart
Installatie mod rewrite
$ sudo a2enmod rewrite
65. Joomladagen 2015Joomladagen 2015
Apache
● Probleem met .htaccess / Mod Rewrite?
$ sudo nano /etc/apache2/sites-enabled/000-default
AllowOverride None
→ AllowOverride All
● “Could not reliably determine the server's fully
qualified domain name, using 127.0.1.1 for
ServerName”
$ echo "ServerName localhost" | sudo tee
/etc/apache2/conf.d/fqdn
66. Joomladagen 2015Joomladagen 2015
Apache ownership
issues
Draai Apache onder gebruiker “vagrant” (niet op live site!)
$ sudo nano /etc/apache2/envvars
export APACHE_RUN_USER=vagrant
export APACHE_RUN_GROUP=vagrant
Fout met herstarten van Apache?
$ sudo rm -R /var/lock/apache2
Toewijzen van webroot & bestanden
aan gebruiker “vagrant”:
$ sudo chown -R vagrant:vagrant /var/www/
74. Joomladagen 2015Joomladagen 2015
Used Photos
Title sheet:
● Magic Wand - Open Clip Art Library, 2011
http://commons.wikimedia.org/wiki/File:Magic_Wand.svg
● GNU Linux - "Wipes Windows in seconds!"
http://www.schnews.org.uk/images/560-linux-large.jpg
● Raspberry Pi – Switched On Tech Design
http://www.sotechdesign.com.au/raspberry-pi-has-arrived/
● Wikimedia Servers-0051 16, Helpameout, 2012
http://commons.wikimedia.org/wiki/File:Wikimedia_Servers-0051_16.jpg
1. Computer
● 1. General
● IBM Electronic Data Processing Machine - GPN-2000-001881, NASA, 1957
● http://upload.wikimedia.org/wikipedia/commons/2/20/IBM_Electronic_Data_Processing_Machine_-
_GPN-2000-001881.jpg
2. Basics
● Lego Color Bricks, Alan Chia, 2007
http://commons.wikimedia.org/wiki/File:Lego_Color_Bricks.jpg
75. Joomladagen 2015Joomladagen 2015
Used Photos
3. Commands
●
US Navy 110913-N-DR144-348 Rig Captain Boatswain's Mate 2nd Class Christopher Cook gives orders as deck
department Sailors launch a rigid hull infl - James R. Evans, 2011
http://commons.wikimedia.org/wiki/File:US_Navy_110913-N-DR144-348_Rig_Captain_Boatswain
%27s_Mate_2nd_Class_Christopher_Cook_gives_orders_as_deck_department_Sailors_launch_a_rigid_hull_infl.jpg
●
CPM-Manual - Hubert Berberich, 2011
http://commons.wikimedia.org/wiki/File:CPM-Manual.jpg
● Red Book Dec 1915 Contents Page - Red Book Corporation, 1915
http://commons.wikimedia.org/wiki/File:Red_Book_Dec_1915_Contents_Page_-_Unbaited_Trap.jpg
●
Archive boxes 2 - Effeietsanders, 2009
http://commons.wikimedia.org/wiki/File:Archive_boxes_2.JPG
● Touch to exit - Tom Rolfe, 2007
http://commons.wikimedia.org/wiki/File:Touch_to_exit.jpg
● Neon sign, "CHANGE" - Felix Burton, 2005
http://commons.wikimedia.org/wiki/File:Neon_sign,_%22CHANGE%22.jpg
●
Cat November 2010-1a - Alvesgaspar, 2010
http://commons.wikimedia.org/wiki/File:Cat_November_2010-1a.jpg
●
CSIRO ScienceImage 1342 Nanotechnology - division, CSIRO, 2003
http://commons.wikimedia.org/wiki/File:CSIRO_ScienceImage_1342_Nanotechnology.jpg
●
Xerox Phaser 4600 - JackPotte, 2012
http://commons.wikimedia.org/wiki/File:Xerox_Phaser_4600.png
76. Joomladagen 2015Joomladagen 2015
Used Photos
●
Long Distance Movers - RoadWay Van Lines, 2014
http://commons.wikimedia.org/wiki/File:Long_Distance_Movers.jpg
● Vuilnisbak-Lebbeke - Volkov Vitaly, 2005
http://commons.wikimedia.org/wiki/File:Vuilnisbak-Lebbeke.JPG
●
TRTC Taipei Main Station No-bicycle-access notice - Solomon203, 2013
http://commons.wikimedia.org/wiki/File:TRTC_Taipei_Main_Station_No-bicycle-access_notice_20130324.jpg
●
Prva samopostrežna trgovina v Mariboru na Partizanski cesti 1960 - Jože Gal, 1960
http://commons.wikimedia.org/wiki/File:Prva_samopostre
%C5%BEna_trgovina_v_Mariboru_na_Partizanski_cesti_1960_(1).jpg
4. Connecting
●
Switchboard Manual - Peel Conner, Geez-oz, 2012
http://commons.wikimedia.org/wiki/File:Switchboard_Manual_-_Peel_Conner.JPG
● Bundesarchiv Bild 183-2008-0516-500, Fernschreibmaschine mit Telefonanschluss - Illger, Willi, 1930
http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-2008-0516-
500,_Fernschreibmaschine_mit_Telefonanschluss.jpg
5. Scripts
● Binary Code, Cncplayer, 2013
http://commons.wikimedia.org/wiki/File:Binary_Code.jpg
77. Joomladagen 2015Joomladagen 2015
Used Photos
6. Finding Files
● Postcards and magnifying glass, Anna, 2007
http://commons.wikimedia.org/wiki/File:Postcards_and_magnifying_glass.jpg
● Bundesarchiv Bild 183-M0125-421, Fundbüro in Berlin - Klaus Franke, 1973
http://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-M0125-421,_Fundb
%C3%BCro_in_Berlin.jpg
●
DARPA Big Data - DARPA, 2013
http://commons.wikimedia.org/wiki/File:DARPA_Big_Data.jpg
●
Magnifying glass - Faberge - shakko, 2011
http://commons.wikimedia.org/wiki/File:Magnifying_glass_-_Faberge.jpg
●
Magnifying glass on antique table - Stéphane Magnenat, 2008
http://commons.wikimedia.org/wiki/File:Magnifying_glass_on_antique_table.jpg
● Unused Phonebooks - David Shankbone, 2013
http://commons.wikimedia.org/wiki/File:Unused_Phonebooks.JPG
7. Backup
● IBM 7330 on white background, Crisco 1492, 2013
http://commons.wikimedia.org/wiki/File:IBM_7330_on_white_background.jpg