SlideShare une entreprise Scribd logo
1  sur  78
Joomladagen 2015Joomladagen 2015
> Linux Command Line Magic
Peter Martin
www.db8.nl / @pe7er
1
Joomladagen 2015Joomladagen 2015
1.Introductie
2.Commando's
3.Basis
4.Verbinden
5.Scripts
Linux Command
Line Magic
6.Backup
7.Bestanden zoeken
8.Hack herstellen
9.In a Box
1. Introductie
Joomladagen 2015Joomladagen 2015
Linux
● Cross-platform besturingssysteem
● Open Source & gratis
● Stabiel
– Multi user
– Multi tasking
● Populair
– Internet servers
● Ontstaan
– Minix (Unix-achtig besturingssysteem)
Joomladagen 2015Joomladagen 2015
● Debian .deb
– Debian
– Ubuntu
Distributies
● Red Hat .rpm
– Fedora
– CentOS
● Anders
– Slackware
– Arch Linux
– Gentoo
Joomladagen 2015Joomladagen 2015
● Commercieel
– BSD/OS
– Solaris
– Mac OS
Unix
● Gratis
– FreeBSD
– NetBSD
– OpenBSD
2. Commando's
Joomladagen 2015Joomladagen 2015
man
Online handleiding (manual)
man man
Joomladagen 2015Joomladagen 2015
ls
Toon (list) inhoud map
ls -al
List devices
lsusb
lspci
lsmod
Joomladagen 2015Joomladagen 2015
mkdir
Map aanmaken (make directory)
mkdir joomladagen2015
(rmdir = remove directory)
Joomladagen 2015Joomladagen 2015
cd
Ga naar map
(change directory)
cd joomladagen2015
cd ..
cd ~
cd /var/www/
Joomladagen 2015Joomladagen 2015
cat
Toon bestand (= concatenate files & print)
cat configuration.php
Joomladagen 2015Joomladagen 2015
nano
Wijzig bestand
nano configuration.php
Joomladagen 2015Joomladagen 2015
cp
Kopieer bestand (copy)
cp bestand.txt nieuwbestand.txt
Joomladagen 2015Joomladagen 2015
mv
Verplaats bestand (move)
mv bestand.txt nieuwe-naam.txt
Joomladagen 2015Joomladagen 2015
rm
Verwijder bestand of map (remove)
rm /var/www/joomla-cms/configuration.php
rm -R /var/www/joomla-cms/installation
Joomladagen 2015Joomladagen 2015
chmod
Verander permissies (change mode)
sudo chmod +x somescript.sh
Joomladagen 2015Joomladagen 2015
chown
Wijzig eigenaar (change ownership)
3. Basis
Joomladagen 2015Joomladagen 2015
Bestanden
Linux = “Files are us”
alles = bestand
Joomladagen 2015Joomladagen 2015
Bestanden
● Eigenaar
– Gebruikersnaam
– Naam van “proces” (bijv. Apache = www-data)
● Groep
– Gebruikers toegewezen aan groep hebben dezelfde rechten
● Permissies
– Lees (read (4))
– Schrijf (write (2))
– Uitvoeren (execute (1))
Joomladagen 2015Joomladagen 2015
Bestand
-rw-r--r-- 1 peter pc 1174 Nov 7 15:50 example_file.txt
read (4)
write (2)
execute (1)
eigenaar
rw-
r(4)+w(2)
groep
r--
r(4)
publiek
r--
r(4)
= 644
Joomladagen 2015Joomladagen 2015
Gebruikers
Gebruikers
– Gewone gebruikers: gebruiker@computer:~$
– Root gebruiker: root@computer:~#
– “whoami” (wiebenik)
– “groups” (welke groepen?)
Verander gebruiker:
– “su gebruikersnaam”
– “su root” of gewoon “su”
Joomladagen 2015Joomladagen 2015
Commando
uitvoeren
Commando + parameters
sh script uitvoeren:
script.sh met execute permissies, of
./script.sh
Commando uitvoeren als root gebruiker
– Sudo [commando]
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
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';
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
4. Verbinden
Joomladagen 2015Joomladagen 2015
Terminal
Text Terminal
“TTY” TeleTYpewriter
Joomladagen 2015Joomladagen 2015
Terminal
Windows
– Programma voor SSH: PuTTY
Mac OSX
– Ingebouwd: “Terminal”
Linux
– Ingebouwd: Terminal Emulator
Joomladagen 2015Joomladagen 2015
SSH
Secure Shell
gebruikt public-key cryptografie
(authenticeren & beveiligen van data communicatie)
peter@computer:~$ ssh peter@192.168.0.10
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 ~ $
Joomladagen 2015Joomladagen 2015
Keyless login
Genereer public/private rsa
authenticatie sleutel paar:
$ ssh-keygen -t rsa
Op computer:
private key: ~/.ssh/id_rsa
public key: ~/.ssh/id_rsa.pub
Installeer publieke sleutel op server:
ssh-copy-id username@remote-server.org
5. Scripts
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)
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
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
Joomladagen 2015Joomladagen 2015
Voorbeeld
voorbeeld.sh
#!/bin/bash
# declareer STRING variabele
STRING="Hallo Joomladag!"
# print variabele op het scherm
echo $STRING
6. Backup
Joomladagen 2015Joomladagen 2015
Backup bestanden
Synchronisatie met andere locatie
– rsync van “bron” naar “doel”
$ rsync -arv peter@voorbeeld.nl:~/joomla-cms/
/var/www/joomla-cms-backup/
username
@ server
: folder
username
@ server
: folder
Joomladagen 2015Joomladagen 2015
Backup database
MySQL Dump
$ mysqldump -u gebruikersnaam -p
databasenaam > een-sql-textbestand.txt
7. Bestanden
zoeken
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
Joomladagen 2015Joomladagen 2015
Bestand kwijt?
Zoek een specifiek bestand
find /var/www/ -name “configuration.php”
Joomladagen 2015Joomladagen 2015
Grootste
bstanden?
Toon de 15 grootste bestanden:
$ find . -type f -exec du -Sh {} + | sort -rh | head -n 15
Joomladagen 2015Joomladagen 2015
Recente
bestanden?
Toon nieuwe bestanden
van de laatste 7 dagen:
find . -type f -ctime -7
Joomladagen 2015Joomladagen 2015
Recent veranderd
Veranderd afgelopen 7 tot 3 dagen:
find . -type f -mtime -7 ! -mtime -3
Joomladagen 2015Joomladagen 2015
Ongebruikte
plaatjes
Scan naar ongebruikte plaatjes
1. maak SQL dump &
2. vergelijk bestanden in /images/ met SQL dump
Script "jfindfiles" van Rene Kreijveld
https://gist.github.com/renekreijveld/
8. Hack herstellen
Joomladagen 2015Joomladagen 2015
Hack herstellen
● Backup huidige situatie (zie 6. Backup)
● Analyse
– Gehackte bestanden
– Log files server
● Verwijder onveiligheid
● Schoon bestanden op
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....
Joomladagen 2015Joomladagen 2015
Zoeken
● Zoek hacker scripts
grep -r "eval" /var/www/joomla-cms | grep
"base64_decode"
Joomladagen 2015Joomladagen 2015
NeoPi
Opsporen van verborgen scripts
(Python 2.6 nodig)
Installeren
$ git clone https://github.com/Neohapsis/NeoPI.git
Starten
$ /var/www/NeoPI/neopi.py -Aa /var/www/joomla-
cms
9. In a box
Joomladagen 2015Joomladagen 2015
VirtualBox
“Computer in Computer”
● Download https://www.virtualbox.org/
● Start Virtualbox
● Installeer besturingssysteem
– Bijv. via .iso image
– Installeren kost VEEL tijd
Joomladagen 2015Joomladagen 2015
Vagrant
Virtuele ontwikkelomgeving configureren &
managen
– “wrapper” om virtualizatie software
● Download http://www.vagrantup.com/
– Installeer op Debian Linux:
$ sudo dpkg –i vagrant_1.5.2_x86_64.deb
Joomladagen 2015Joomladagen 2015
Vagrant
gebruik Vagrant:
map + configuratie bestand “Vagrantfile”
Joomladagen 2015Joomladagen 2015
Vagrant Cloud
Kant-en-klaar virtuele omgevingen
● Zoek omgeving op
https://vagrantcloud.com/
bijv Debian 7 64 bit
https://vagrantcloud.com/chef/boxes/debian-7.8
● Install Vagrant Box
$ vagrant box add chef/debian-7.8
Joomladagen 2015Joomladagen 2015
Install Vagrant Box
● Map voor ieder project
e.g. ~/projecten/joomladag2015
● Initialeer Vagrant Box
$ vagrant init chef/debian-7.8
● Configuratie: “Vagrantfile”
config.vm.box = "chef/debian-7.8"
config.vm.network "forwarded_port", guest: 80, host: 8080
Joomladagen 2015Joomladagen 2015
Vagrant Box
● Start Vagrant Box
$ vagrant up
● Log in op Vagrant Box
$ vagrant ssh
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
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
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/
Joomladagen 2015Joomladagen 2015
Server Script – PHP
Installatie PHP + MySQL
$ sudo apt-get install php5 php5-mysql
Test:
$ sudo nano /var/www/test.php
<?php phpinfo(); ?>
Joomladagen 2015Joomladagen 2015
Database GUI –
phpMyAdmin
Installatie
$ sudo apt-get install phpmyadmin
Browser
http://localhost:8080/phpmyadmin/
Joomladagen 2015Joomladagen 2015
Joomla
Installatie
$ sudo wget
https://github.com/joomla/joomla-
cms/releases/download/3.4.1/Joomla_3.4.1-Stable-
Full_Package.zip
Unzip
$ sudo unzip Joomla_3.4.1-Stable-Full_Package.zip
Browser
http://localhost:8080/joomla/
Joomladagen 2015Joomladagen 2015
Kijk ook naar...
Linux Containers
https://linuxcontainers.org/
→ 1 “box” per applicatie & boxen verbinden
Docker
https://www.docker.com/
Conclusie
Joomladagen 2015Joomladagen 2015
1.Introductie
2.Commando's
3.Basis
4.Verbinden
5.Scripts
Conclusie
6.Backup
7.Bestanden zoeken
8.Hack herstellen
9.In a Box
Joomladagen 2015Joomladagen 2015
Vragen?
Peter Martin
e-mail: info at db8.nl
website: www.db8.nl
twitter: @pe7er
Presentatie: http://www.db8.nl
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
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
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
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
Joomladagen 2015Joomladagen 2015
Used Photos
8. In a box
● Carton empty box - humusak2
http://www.freeimages.com/photo/1440365
●
Virtualbox logo, Oracle Corporation, 2010
http://en.wikipedia.org/wiki/File:Virtualbox_logo.png
● Vagrant - Fco.plj, 2013
● http://en.wikipedia.org/wiki/File:Vagrant.png
9. Recover hack
● Youve-been-hacked, Hanonen, 2014
http://commons.wikimedia.org/wiki/File:Youve-been-hacked.jpg
Conclusion
●
EquinoxeJuniorHighPac-Man - Equinoxe, 2012
http://www.c64-wiki.com/index.php/File:EquinoxeJuniorHighPac-Man.png

Contenu connexe

Tendances

JD14nl Form2content VS Zoo GJ-R
JD14nl Form2content VS Zoo GJ-RJD14nl Form2content VS Zoo GJ-R
JD14nl Form2content VS Zoo GJ-RGert-Jan Radstaake
 
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nl
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nlSitemaps uit de doeken gedaan - Nico Bouwman - #jd15nl
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nlJoomla!Days Netherlands
 
WordPress website onderhoud met wp cli
WordPress website onderhoud met wp cliWordPress website onderhoud met wp cli
WordPress website onderhoud met wp cliAartGeys
 
Serving Up Your Rails App On A Mongrel Cluster
Serving Up Your Rails App On A Mongrel ClusterServing Up Your Rails App On A Mongrel Cluster
Serving Up Your Rails App On A Mongrel ClusterRobbert
 
Joomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component CreatorJoomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component CreatorRené Kreijveld
 
Versimpel beheer met Joomla modules
Versimpel beheer met Joomla modulesVersimpel beheer met Joomla modules
Versimpel beheer met Joomla modulesEmiel Kwakkel
 
Joomla backend-beheer vereenvoudigen - Joomladagen 2016
Joomla backend-beheer vereenvoudigen - Joomladagen 2016Joomla backend-beheer vereenvoudigen - Joomladagen 2016
Joomla backend-beheer vereenvoudigen - Joomladagen 2016Rick Spaan
 
The state of Blogging platforms #WPANTWERP 26-11-2015
The state of Blogging platforms #WPANTWERP 26-11-2015The state of Blogging platforms #WPANTWERP 26-11-2015
The state of Blogging platforms #WPANTWERP 26-11-2015Herman Maes
 
Laat het internet voor je werken met web viewers
Laat het internet voor  je werken met web viewersLaat het internet voor  je werken met web viewers
Laat het internet voor je werken met web viewersBruno Jeurissen
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsRichard Tuin
 
Best Practice: Joomla! templating
Best Practice: Joomla! templatingBest Practice: Joomla! templating
Best Practice: Joomla! templatingHans Kuijpers
 
Presentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar templatePresentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar templateHan Maassen
 
Going live with a Checklist
Going live with a ChecklistGoing live with a Checklist
Going live with a ChecklistRené Kreijveld
 
Presentatie ark extensions inline edit and mediamanagment
Presentatie ark extensions inline edit and mediamanagmentPresentatie ark extensions inline edit and mediamanagment
Presentatie ark extensions inline edit and mediamanagmentJoris Stolker
 
Keynote Les 8
Keynote Les 8Keynote Les 8
Keynote Les 8hba.ict
 

Tendances (16)

JD14nl Form2content VS Zoo GJ-R
JD14nl Form2content VS Zoo GJ-RJD14nl Form2content VS Zoo GJ-R
JD14nl Form2content VS Zoo GJ-R
 
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nl
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nlSitemaps uit de doeken gedaan - Nico Bouwman - #jd15nl
Sitemaps uit de doeken gedaan - Nico Bouwman - #jd15nl
 
WordPress website onderhoud met wp cli
WordPress website onderhoud met wp cliWordPress website onderhoud met wp cli
WordPress website onderhoud met wp cli
 
Serving Up Your Rails App On A Mongrel Cluster
Serving Up Your Rails App On A Mongrel ClusterServing Up Your Rails App On A Mongrel Cluster
Serving Up Your Rails App On A Mongrel Cluster
 
Joomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component CreatorJoomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component Creator
 
Versimpel beheer met Joomla modules
Versimpel beheer met Joomla modulesVersimpel beheer met Joomla modules
Versimpel beheer met Joomla modules
 
Vagrant + ansible vs docker
Vagrant + ansible vs dockerVagrant + ansible vs docker
Vagrant + ansible vs docker
 
Joomla backend-beheer vereenvoudigen - Joomladagen 2016
Joomla backend-beheer vereenvoudigen - Joomladagen 2016Joomla backend-beheer vereenvoudigen - Joomladagen 2016
Joomla backend-beheer vereenvoudigen - Joomladagen 2016
 
The state of Blogging platforms #WPANTWERP 26-11-2015
The state of Blogging platforms #WPANTWERP 26-11-2015The state of Blogging platforms #WPANTWERP 26-11-2015
The state of Blogging platforms #WPANTWERP 26-11-2015
 
Laat het internet voor je werken met web viewers
Laat het internet voor  je werken met web viewersLaat het internet voor  je werken met web viewers
Laat het internet voor je werken met web viewers
 
PFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele testsPFZ Workshop - Automatiseren van functionele tests
PFZ Workshop - Automatiseren van functionele tests
 
Best Practice: Joomla! templating
Best Practice: Joomla! templatingBest Practice: Joomla! templating
Best Practice: Joomla! templating
 
Presentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar templatePresentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar template
 
Going live with a Checklist
Going live with a ChecklistGoing live with a Checklist
Going live with a Checklist
 
Presentatie ark extensions inline edit and mediamanagment
Presentatie ark extensions inline edit and mediamanagmentPresentatie ark extensions inline edit and mediamanagment
Presentatie ark extensions inline edit and mediamanagment
 
Keynote Les 8
Keynote Les 8Keynote Les 8
Keynote Les 8
 

Similaire à Linux command-line-magic-jdnl15

De 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentDe 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentFloris Lof
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_conchristiantester
 
Drupal7 Development
Drupal7 DevelopmentDrupal7 Development
Drupal7 DevelopmentHans Rossel
 
Nluug - LibreOffice and CollaboraOnline
Nluug - LibreOffice and CollaboraOnlineNluug - LibreOffice and CollaboraOnline
Nluug - LibreOffice and CollaboraOnlineCor Nouws
 
Symfony CMF experiences
Symfony CMF experiencesSymfony CMF experiences
Symfony CMF experiencesmdekrijger
 
Website-tool: CMS of Framework
Website-tool: CMS of FrameworkWebsite-tool: CMS of Framework
Website-tool: CMS of FrameworkNils Breunese
 
Een fileserver opzetten met Samba
Een fileserver opzetten met SambaEen fileserver opzetten met Samba
Een fileserver opzetten met SambaBert Van Vreckem
 
Oplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceOplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceguesta83c7d
 
oplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceoplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceguesta83c7d
 
Drupal Cursus Hans Rossel
Drupal Cursus Hans RosselDrupal Cursus Hans Rossel
Drupal Cursus Hans RosselHans Rossel
 
The power of unix scripts for Joomla!
The power of unix scripts for Joomla!The power of unix scripts for Joomla!
The power of unix scripts for Joomla!René Kreijveld
 
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...Avansa Mid- en Zuidwest
 
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloud
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloudCursus: Deel 2 - Raspberry Pi, creëer je eigen cloud
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloudIDG Nederland
 
Infra as Code workshop
Infra as Code workshopInfra as Code workshop
Infra as Code workshopMarinoDekker
 
Introductie Drupal development
Introductie Drupal developmentIntroductie Drupal development
Introductie Drupal developmentBart Hanssens
 
Drupal Deployment demo
Drupal Deployment demoDrupal Deployment demo
Drupal Deployment demodropsolid
 
Installatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientInstallatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientSandro Pibia
 
Bart Lageweg - Ansible/Cobbler
Bart Lageweg - Ansible/CobblerBart Lageweg - Ansible/Cobbler
Bart Lageweg - Ansible/CobblerSplend
 

Similaire à Linux command-line-magic-jdnl15 (20)

Hands on presentatie
Hands on presentatieHands on presentatie
Hands on presentatie
 
De 10 geboden van WordPress Development
De 10 geboden van WordPress DevelopmentDe 10 geboden van WordPress Development
De 10 geboden van WordPress Development
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_con
 
Drupal7 Development
Drupal7 DevelopmentDrupal7 Development
Drupal7 Development
 
Nluug - LibreOffice and CollaboraOnline
Nluug - LibreOffice and CollaboraOnlineNluug - LibreOffice and CollaboraOnline
Nluug - LibreOffice and CollaboraOnline
 
Drupal8
Drupal8Drupal8
Drupal8
 
Symfony CMF experiences
Symfony CMF experiencesSymfony CMF experiences
Symfony CMF experiences
 
Website-tool: CMS of Framework
Website-tool: CMS of FrameworkWebsite-tool: CMS of Framework
Website-tool: CMS of Framework
 
Een fileserver opzetten met Samba
Een fileserver opzetten met SambaEen fileserver opzetten met Samba
Een fileserver opzetten met Samba
 
Oplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceOplijsting mogelijkheden open source
Oplijsting mogelijkheden open source
 
oplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceoplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_source
 
Drupal Cursus Hans Rossel
Drupal Cursus Hans RosselDrupal Cursus Hans Rossel
Drupal Cursus Hans Rossel
 
The power of unix scripts for Joomla!
The power of unix scripts for Joomla!The power of unix scripts for Joomla!
The power of unix scripts for Joomla!
 
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
 
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloud
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloudCursus: Deel 2 - Raspberry Pi, creëer je eigen cloud
Cursus: Deel 2 - Raspberry Pi, creëer je eigen cloud
 
Infra as Code workshop
Infra as Code workshopInfra as Code workshop
Infra as Code workshop
 
Introductie Drupal development
Introductie Drupal developmentIntroductie Drupal development
Introductie Drupal development
 
Drupal Deployment demo
Drupal Deployment demoDrupal Deployment demo
Drupal Deployment demo
 
Installatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web clientInstallatie apache, qgis server en lizmap web client
Installatie apache, qgis server en lizmap web client
 
Bart Lageweg - Ansible/Cobbler
Bart Lageweg - Ansible/CobblerBart Lageweg - Ansible/Cobbler
Bart Lageweg - Ansible/Cobbler
 

Plus de Peter Martin

Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Peter Martin
 
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)Peter Martin
 
Internet of Things - Linux Usergroup Nijmegen
Internet of Things - Linux Usergroup NijmegenInternet of Things - Linux Usergroup Nijmegen
Internet of Things - Linux Usergroup NijmegenPeter Martin
 
Joomla: 10 years of progress (jd15fr)
Joomla: 10 years of progress (jd15fr)Joomla: 10 years of progress (jd15fr)
Joomla: 10 years of progress (jd15fr)Peter Martin
 
Joomla 10-jaar-vooruitgang-jdnl15
Joomla 10-jaar-vooruitgang-jdnl15Joomla 10-jaar-vooruitgang-jdnl15
Joomla 10-jaar-vooruitgang-jdnl15Peter Martin
 
GNU Radio & digitaal vliegtuig spotten
GNU Radio & digitaal vliegtuig spottenGNU Radio & digitaal vliegtuig spotten
GNU Radio & digitaal vliegtuig spottenPeter Martin
 
Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014Peter Martin
 
Music Trackers - Linux Usergroup Nijmegen 2014
Music Trackers - Linux Usergroup Nijmegen 2014Music Trackers - Linux Usergroup Nijmegen 2014
Music Trackers - Linux Usergroup Nijmegen 2014Peter Martin
 
linux-commandline-magic-Joomla-World-Conference-2014
linux-commandline-magic-Joomla-World-Conference-2014linux-commandline-magic-Joomla-World-Conference-2014
linux-commandline-magic-Joomla-World-Conference-2014Peter Martin
 
How IT works - Joomladay UK 2014
How IT works - Joomladay UK 2014How IT works - Joomladay UK 2014
How IT works - Joomladay UK 2014Peter Martin
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Peter Martin
 
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014Peter Martin
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Peter Martin
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Peter Martin
 
Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Peter Martin
 
How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014Peter Martin
 
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & Vagrant
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & VagrantLinux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & Vagrant
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & VagrantPeter Martin
 
Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Peter Martin
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Peter Martin
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Peter Martin
 

Plus de Peter Martin (20)

Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
 
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
 
Internet of Things - Linux Usergroup Nijmegen
Internet of Things - Linux Usergroup NijmegenInternet of Things - Linux Usergroup Nijmegen
Internet of Things - Linux Usergroup Nijmegen
 
Joomla: 10 years of progress (jd15fr)
Joomla: 10 years of progress (jd15fr)Joomla: 10 years of progress (jd15fr)
Joomla: 10 years of progress (jd15fr)
 
Joomla 10-jaar-vooruitgang-jdnl15
Joomla 10-jaar-vooruitgang-jdnl15Joomla 10-jaar-vooruitgang-jdnl15
Joomla 10-jaar-vooruitgang-jdnl15
 
GNU Radio & digitaal vliegtuig spotten
GNU Radio & digitaal vliegtuig spottenGNU Radio & digitaal vliegtuig spotten
GNU Radio & digitaal vliegtuig spotten
 
Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014
 
Music Trackers - Linux Usergroup Nijmegen 2014
Music Trackers - Linux Usergroup Nijmegen 2014Music Trackers - Linux Usergroup Nijmegen 2014
Music Trackers - Linux Usergroup Nijmegen 2014
 
linux-commandline-magic-Joomla-World-Conference-2014
linux-commandline-magic-Joomla-World-Conference-2014linux-commandline-magic-Joomla-World-Conference-2014
linux-commandline-magic-Joomla-World-Conference-2014
 
How IT works - Joomladay UK 2014
How IT works - Joomladay UK 2014How IT works - Joomladay UK 2014
How IT works - Joomladay UK 2014
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
 
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
Joomla multilingual website without 3rd party extensions - Joomladay UK 2014
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
 
Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014
 
How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014How IT works - Joomladay Germany 2014
How IT works - Joomladay Germany 2014
 
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & Vagrant
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & VagrantLinux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & Vagrant
Linux Nijmegen - Webserver (LAMP stack) opzetten met VirtualbBox & Vagrant
 
Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
 

Linux command-line-magic-jdnl15

  • 2.
  • 3.
  • 4.
  • 5. Joomladagen 2015Joomladagen 2015 1.Introductie 2.Commando's 3.Basis 4.Verbinden 5.Scripts Linux Command Line Magic 6.Backup 7.Bestanden zoeken 8.Hack herstellen 9.In a Box
  • 7. Joomladagen 2015Joomladagen 2015 Linux ● Cross-platform besturingssysteem ● Open Source & gratis ● Stabiel – Multi user – Multi tasking ● Populair – Internet servers ● Ontstaan – Minix (Unix-achtig besturingssysteem)
  • 8. Joomladagen 2015Joomladagen 2015 ● Debian .deb – Debian – Ubuntu Distributies ● Red Hat .rpm – Fedora – CentOS ● Anders – Slackware – Arch Linux – Gentoo
  • 9. Joomladagen 2015Joomladagen 2015 ● Commercieel – BSD/OS – Solaris – Mac OS Unix ● Gratis – FreeBSD – NetBSD – OpenBSD
  • 11. Joomladagen 2015Joomladagen 2015 man Online handleiding (manual) man man
  • 12. Joomladagen 2015Joomladagen 2015 ls Toon (list) inhoud map ls -al List devices lsusb lspci lsmod
  • 13. Joomladagen 2015Joomladagen 2015 mkdir Map aanmaken (make directory) mkdir joomladagen2015 (rmdir = remove directory)
  • 14. Joomladagen 2015Joomladagen 2015 cd Ga naar map (change directory) cd joomladagen2015 cd .. cd ~ cd /var/www/
  • 15. Joomladagen 2015Joomladagen 2015 cat Toon bestand (= concatenate files & print) cat configuration.php
  • 16. Joomladagen 2015Joomladagen 2015 nano Wijzig bestand nano configuration.php
  • 17. Joomladagen 2015Joomladagen 2015 cp Kopieer bestand (copy) cp bestand.txt nieuwbestand.txt
  • 18. Joomladagen 2015Joomladagen 2015 mv Verplaats bestand (move) mv bestand.txt nieuwe-naam.txt
  • 19. Joomladagen 2015Joomladagen 2015 rm Verwijder bestand of map (remove) rm /var/www/joomla-cms/configuration.php rm -R /var/www/joomla-cms/installation
  • 20. Joomladagen 2015Joomladagen 2015 chmod Verander permissies (change mode) sudo chmod +x somescript.sh
  • 21. Joomladagen 2015Joomladagen 2015 chown Wijzig eigenaar (change ownership)
  • 23. Joomladagen 2015Joomladagen 2015 Bestanden Linux = “Files are us” alles = bestand
  • 24. Joomladagen 2015Joomladagen 2015 Bestanden ● Eigenaar – Gebruikersnaam – Naam van “proces” (bijv. Apache = www-data) ● Groep – Gebruikers toegewezen aan groep hebben dezelfde rechten ● Permissies – Lees (read (4)) – Schrijf (write (2)) – Uitvoeren (execute (1))
  • 25. Joomladagen 2015Joomladagen 2015 Bestand -rw-r--r-- 1 peter pc 1174 Nov 7 15:50 example_file.txt read (4) write (2) execute (1) eigenaar rw- r(4)+w(2) groep r-- r(4) publiek r-- r(4) = 644
  • 26. Joomladagen 2015Joomladagen 2015 Gebruikers Gebruikers – Gewone gebruikers: gebruiker@computer:~$ – Root gebruiker: root@computer:~# – “whoami” (wiebenik) – “groups” (welke groepen?) Verander gebruiker: – “su gebruikersnaam” – “su root” of gewoon “su”
  • 27. Joomladagen 2015Joomladagen 2015 Commando uitvoeren Commando + parameters sh script uitvoeren: script.sh met execute permissies, of ./script.sh Commando uitvoeren als root gebruiker – Sudo [commando]
  • 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
  • 32. Joomladagen 2015Joomladagen 2015 Terminal Text Terminal “TTY” TeleTYpewriter
  • 33. Joomladagen 2015Joomladagen 2015 Terminal Windows – Programma voor SSH: PuTTY Mac OSX – Ingebouwd: “Terminal” Linux – Ingebouwd: Terminal Emulator
  • 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 ~ $
  • 36. Joomladagen 2015Joomladagen 2015 Keyless login Genereer public/private rsa authenticatie sleutel paar: $ ssh-keygen -t rsa Op computer: private key: ~/.ssh/id_rsa public key: ~/.ssh/id_rsa.pub Installeer publieke sleutel op server: ssh-copy-id username@remote-server.org
  • 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
  • 41. Joomladagen 2015Joomladagen 2015 Voorbeeld voorbeeld.sh #!/bin/bash # declareer STRING variabele STRING="Hallo Joomladag!" # print variabele op het scherm echo $STRING
  • 43. Joomladagen 2015Joomladagen 2015 Backup bestanden Synchronisatie met andere locatie – rsync van “bron” naar “doel” $ rsync -arv peter@voorbeeld.nl:~/joomla-cms/ /var/www/joomla-cms-backup/ username @ server : folder username @ server : folder
  • 44. Joomladagen 2015Joomladagen 2015 Backup database MySQL Dump $ mysqldump -u gebruikersnaam -p databasenaam > een-sql-textbestand.txt
  • 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
  • 47. Joomladagen 2015Joomladagen 2015 Bestand kwijt? Zoek een specifiek bestand find /var/www/ -name “configuration.php”
  • 48. Joomladagen 2015Joomladagen 2015 Grootste bstanden? Toon de 15 grootste bestanden: $ find . -type f -exec du -Sh {} + | sort -rh | head -n 15
  • 49. Joomladagen 2015Joomladagen 2015 Recente bestanden? Toon nieuwe bestanden van de laatste 7 dagen: find . -type f -ctime -7
  • 50. Joomladagen 2015Joomladagen 2015 Recent veranderd Veranderd afgelopen 7 tot 3 dagen: find . -type f -mtime -7 ! -mtime -3
  • 51. Joomladagen 2015Joomladagen 2015 Ongebruikte plaatjes Scan naar ongebruikte plaatjes 1. maak SQL dump & 2. vergelijk bestanden in /images/ met SQL dump Script "jfindfiles" van Rene Kreijveld https://gist.github.com/renekreijveld/
  • 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....
  • 55. Joomladagen 2015Joomladagen 2015 Zoeken ● Zoek hacker scripts grep -r "eval" /var/www/joomla-cms | grep "base64_decode"
  • 56. Joomladagen 2015Joomladagen 2015 NeoPi Opsporen van verborgen scripts (Python 2.6 nodig) Installeren $ git clone https://github.com/Neohapsis/NeoPI.git Starten $ /var/www/NeoPI/neopi.py -Aa /var/www/joomla- cms
  • 57. 9. In a box
  • 58. Joomladagen 2015Joomladagen 2015 VirtualBox “Computer in Computer” ● Download https://www.virtualbox.org/ ● Start Virtualbox ● Installeer besturingssysteem – Bijv. via .iso image – Installeren kost VEEL tijd
  • 59. Joomladagen 2015Joomladagen 2015 Vagrant Virtuele ontwikkelomgeving configureren & managen – “wrapper” om virtualizatie software ● Download http://www.vagrantup.com/ – Installeer op Debian Linux: $ sudo dpkg –i vagrant_1.5.2_x86_64.deb
  • 60. Joomladagen 2015Joomladagen 2015 Vagrant gebruik Vagrant: map + configuratie bestand “Vagrantfile”
  • 61. Joomladagen 2015Joomladagen 2015 Vagrant Cloud Kant-en-klaar virtuele omgevingen ● Zoek omgeving op https://vagrantcloud.com/ bijv Debian 7 64 bit https://vagrantcloud.com/chef/boxes/debian-7.8 ● Install Vagrant Box $ vagrant box add chef/debian-7.8
  • 62. Joomladagen 2015Joomladagen 2015 Install Vagrant Box ● Map voor ieder project e.g. ~/projecten/joomladag2015 ● Initialeer Vagrant Box $ vagrant init chef/debian-7.8 ● Configuratie: “Vagrantfile” config.vm.box = "chef/debian-7.8" config.vm.network "forwarded_port", guest: 80, host: 8080
  • 63. Joomladagen 2015Joomladagen 2015 Vagrant Box ● Start Vagrant Box $ vagrant up ● Log in op Vagrant Box $ vagrant ssh
  • 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/
  • 67. Joomladagen 2015Joomladagen 2015 Server Script – PHP Installatie PHP + MySQL $ sudo apt-get install php5 php5-mysql Test: $ sudo nano /var/www/test.php <?php phpinfo(); ?>
  • 68. Joomladagen 2015Joomladagen 2015 Database GUI – phpMyAdmin Installatie $ sudo apt-get install phpmyadmin Browser http://localhost:8080/phpmyadmin/
  • 69. Joomladagen 2015Joomladagen 2015 Joomla Installatie $ sudo wget https://github.com/joomla/joomla- cms/releases/download/3.4.1/Joomla_3.4.1-Stable- Full_Package.zip Unzip $ sudo unzip Joomla_3.4.1-Stable-Full_Package.zip Browser http://localhost:8080/joomla/
  • 70. Joomladagen 2015Joomladagen 2015 Kijk ook naar... Linux Containers https://linuxcontainers.org/ → 1 “box” per applicatie & boxen verbinden Docker https://www.docker.com/
  • 73. Joomladagen 2015Joomladagen 2015 Vragen? Peter Martin e-mail: info at db8.nl website: www.db8.nl twitter: @pe7er Presentatie: http://www.db8.nl
  • 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
  • 78. Joomladagen 2015Joomladagen 2015 Used Photos 8. In a box ● Carton empty box - humusak2 http://www.freeimages.com/photo/1440365 ● Virtualbox logo, Oracle Corporation, 2010 http://en.wikipedia.org/wiki/File:Virtualbox_logo.png ● Vagrant - Fco.plj, 2013 ● http://en.wikipedia.org/wiki/File:Vagrant.png 9. Recover hack ● Youve-been-hacked, Hanonen, 2014 http://commons.wikimedia.org/wiki/File:Youve-been-hacked.jpg Conclusion ● EquinoxeJuniorHighPac-Man - Equinoxe, 2012 http://www.c64-wiki.com/index.php/File:EquinoxeJuniorHighPac-Man.png