Dette er ment som en enkel template guide for å sette opp en enkel og sikker webserver.

Husk at du her kan velge ut de delene du vil ha!

Installasjon

Etter ferdig installasjon, logg inn som root og følg oppskriften. Her er det brukt Debian Squeeze (under LDAP er det brukt Ubuntu), men samme oppskrift bør fungere på Ubuntu.

Vi begynner med å oppdatere. Dette bør alltid gjøres først når en har installert en ny server. apt-get update apt-get upgrade

Deretter kan vi begynne å installere noen av programmene vi trenger. apt-get install ntp build-essential sudo screen htop oidentd vnstat rsync sl makepasswd expect vim curl git-core zsh tig tmux Denne listen inneholder mange “selvsagte” programmer som ikke nødvendigvis følger med en clean install (i hvert fall på debian). Kjør hele linja - dersom noen ting allerede er installert, så hopper aptitude bare over dem.

Gjør driftbrukeren til en sudobruker ved å legge han inn i sudoers fila (må gjøres fra root). Dette er ikke nødvendig i Ubuntu.. visudo Legg inn dette under “User privelege specification”, under rootbrukeren drift ALL=(ALL) ALL Lukk filen med

ctrl-x

, og vips så er vi sudobruker.

Velg EN av disse:

fail2ban

sudo apt-get install fail2ban

ELLER

sshguard

sudo apt-get install sshguard

PAM

pam_wheel

pam_wheel

Kommer installert med debian, men ikke aktivert. sudo nano /etc/pam.d/su

 # Uncomment this if you want members of a specific group to    
 # be allowed to use su.
 auth       required   pam_wheel.so group=staff

Husk å legge til driftbrukeren i staffgruppen! sudo usermod -a -G staff drift

pam_cracklib

pam_cracklib

sudo apt-get install libpam-cracklib

SSH

En grei regel for å sikre ssh er å fjerne root-tilgangen via SSH. Dette tvinger brukerene til å logge inn med egen konto.

Dette kan gjøres i configen

/etc/ssh/sshd_config

, og så endre PermitRootLogin til PermitRootLogin no Deretter må du restarte ssh. sudo service ssh restart

Begrens tilgangen via ssh

For å KUN tillate visse grupper eller brukere, bruk en av disse i

/etc/ssh/sshd_config

: AllowUsers bruker1 bruker2 eller AllowGroups gruppe1 gruppe2

For å nekte visse grupper eller brukere tilgang, bruk en av disse: DenyUsers bruker1 bruker2 eller DenyGroups gruppe1 gruppe2

Skru av login med passord

Husk å sette opp ssh-keys før du gjør dette, ellers kommer du deg ikke inn på serveren igjen =)

i

/etc/ssh/sshd_config

:

endre #PasswordAuthentication yes til PasswordAuthentication no

Apache

Vi begynner med å installere filene sudo apt-get install apache2 apache2-doc apache2-utils ssl-cert Så aktiverer vi noen moduler n' shit sudo a2enmod rewrite sudo a2enmod expires sudo a2enmod include sudo a2enmod ssl sudo a2ensite default-ssl Deretter restarter vi apachen sudo service apache2 restart Så kan det være greit å sjekke at det fungerer på både http og https.

Ta en titt på hvordan det ble gjort på Colargol hvis du vil ha [http://www.dmi.me.uk/code/apache/mod_sqltemplate/ mod_sqltemplate] for å holde styr på configen.

Merk at TIHLDE nå benytter dotdeb repo for PHP

Først installerer vi php - samt de ekstra pakkene vi vil ha (og noen til, for enkelhetens skyld) sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick \ php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp \ php5-sqlite php5-tidy php5-xmlrpc php5-xsl

suPHP

Merk at mod_itk er å anbefale over mod-suphp

Installer suPHP sudo apt-get install libapache2-mod-suphp

Fjern php5-moden i apache2 sudo a2dismod php5

Og restart apache sudo service apache2 restart

Suhosin

Suhosin er en del av php5 på debian. Vet ikke hvordan det er på Ubuntu tho. Det bør sjekkes. \\Suhosin er ikke lengre en del av PHP i Debian Wheezy.

Merk at TIHLDE nå benytter MariaDB

Installer mysql sudo apt-get install mysql-server Og sikkre den: sudo mysql_secure_installation Velg ja på alt bortsett fra “set new root pw” (du satte vel et skikkelig root pw under forrige steg?)

phpMyAdmin

sudo apt-get install phpmyadmin

phpMyAdmin og suPHP

phpMyAdmin og suPHP leker ikke så godt sammen. phpMyAdmin befinner seg i mappen /usr/share/phpmyadmin, og suPHP er i utgangspunktet slått av for mappen /usr/share. Derfor må vi først skru på suPHP for denne mappen. sudo nano /etc/apache2/mods-enabled/suphp.conf

Så finner du der det står # By default, disable suPHP for debian packaged web applications as files # are owned by root and cannot be executed by suPHP because of min_uid. <Directory /usr/share>

   suPHP_Engine off

</Directory>

Rett under der legger du til: <Directory /usr/share/phpmyadmin>

   suPHP_Engine on

</Directory>

Deretter må phpmyadmin chownes til en bruker og en gruppe med UID og GID over 100. 'Dette må sannsynligvis gjøres hver gang phpMyAdmin oppdateres.' sudo chown -R drift:drift /usr/share/phpmyadmin

Så må det gjøres noen endringer i /etc/suphp/suphp.conf sudo nano /etc/suphp/suphp.conf

phpMyAdmin-mappen må legges til i docroot, så linjen med docroot blir slik: docroot=/var/www:${HOME}/public_html:/usr/share/phpmyadmin

Deretter settes

check_vhost_docroot

til

false

.

Til slutt restarter vi apache. sudo service apache2 restart

Nagios

Vi setter opp en nagios slave. sudo apt-get install nagios-nrpe-server

Naviger til filen

/etc/nagios/nrpe.cfg

og endre linjen

allowed_hosts=127.0.0.1

til allowed_hosts=129.241.105.217

Videre må også nagioskommandoene settes i denne filen. De settes nesten nederst. Her er et eksempel på en OK config: command[check_users]=/usr/lib/nagios/plugins/check_users -w 25 -c 50 command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_disk_root]=/usr/lib/nagios/plugins/check_disk -w 30% -c 15% -p /dev/sda1 command[check_disk_home]=/usr/lib/nagios/plugins/check_disk -w 30% -c 15% -p /dev/sda3 command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

Etter å ha konfigurert filen må nagios_nrpe restartes. sudo service nagios-nrpe-server restart

Deretter må selvsagt den nye serveren legges til i nagios på Coastguard. Logg inn på Coastguardog naviger til mappen

/etc/nagios3/conf.d

. Her må den nye hosten få en egen configfil. Ta en titt på

host-hekta.cfg

. Denne templaten ble skrevet til den. Det enkleste her er bare å kopiere filen og endre alle steder hvor det står “hekta” i hostfilen. Så må selvsagt configen passe oppsettet på serveren du har satt opp..

Videre må du legge inn den nye serveren i

hostgroups_nagios2.cfg

Deretter restarter du nagios3 på Coastguard, så virker det forhåpentligvis. Finn ut på [https://coastguard.tihlde.org/nagios3 coastguard.tihlde.org/nagios3]

Munin

Begynn med å installere pakken. sudo apt-get install munin-node

Konfigurasjon i

/etc/munin/munin-node.conf

allow ^158\.38\.48\.19$ Dette tillater koblinger fra 158.38.48.19, som er Stats-serveren vår. Deretter restarter du munin-node. sudo service munin-node restart

Etter dette må serveren legges til i Munin på Stats. Begynn med å sshe deg inn på stats. Deretter skal du legge til følgende i

/etc/munin/munin.conf

[SERVERNAVN]

   address ADRESSE
   use_node_name yes

Det er ganske tydelig hvor du skal legge det inn..

Til slutt restarter du Munin på Stats, så er du ferdig. sudo /etc/init.d/munin-node restart

Vi kan begynne med å opprette en backuppc-bruker.

 sudo useradd -N -g staff -b /home -m backuppc

Så må denne brukeren få lov til å kjøre rsync som root. Da må vi endre på sudoers-fila

 sudo visudo

Så legger du til følgende under “User privilege

backuppc        ALL=NOPASSWD: /usr/bin/rsync

Deretter logger du inn på serveren det skal takes backup TIL, typisk da Shadow eller Coastguard. Nå skal du kopiere ssh-nøklene til backuppc-brukeren så denne brukeren ikke trenger å tenke på passord når han skal inn og ut av serveren.

su backuppc
ssh-copy-id backuppc@serveren_som_skal_tas_backup_av

Da kan du prøve å SSHe inn på serveren. Du skal da ikke bli spurt om passord.

ssh backuppc@serveren_som_skal_tas_backup_av

Det er vitkig at du gjør dette for å passe på at fingerprinten er lagret.

Hvis ting har gått rett for seg kan du nå logge inn i backuppc-guiet på Shadow eller Coastguard for å legge til den nye serveren. Der legger du til en ny host og trykker på save. Så kan du reloade siden og velge den nye hosten fra dropdownen til venstre.

Default config BØR være greit. Du kan EVT ta en titt her: BackupPC_install_og_konfigurering

Denne guiden viser hvordan du legger inn LDAP-autentisering på en maskin. Den bruker Colargol som LDAP-server.

Debian

Merk at denne guiden er utdatert i forhold til Wheezy og TIHLDE

DERPETIDERP Dette var egentlig ikke så vanskelig som vi trodde. SE OPP FOR EKSTRA SLÆSHER

sudo apt-get install ldap-utils libpam-ldap libnss-ldap

Så får du opp en prompt.

 Server URI: ldaps://tihlde.org
 Distinguished name of the search base: ou=Brukere,ou=Colargol,dc=tihlde,dc=org\\
 LDAP version to use: 3\\
 LDAP account for root: cn=nss-auth,dc=tihlde,dc=org
 LDAP root account password: ***SE PW-FIL***
 Allow LDAP admin account to behave like local root? Yes
 Does the LDAP database require login? Yes
 LDAP administrative account: cn=nss-auth,dc=tihlde,dc=org
 LDAP administrative password: ***SAMME SOM TIDLIGERE***
 LDAP login user account:  cn=nss,dc=tihlde,dc=org
 Password for LDAP login user: ***SAMME SOM TIDLIGERE***
/etc/nsswitch.conf

Legg til ldap på de tre øverste linjene som ikke er utkommentert - passwd: compat ldap group: compat ldap shadow: compat ldap

/etc/ldap/ldap.conf

Legg til følgende på siste linje: TLS_REQCERT allow Hvis det står en linje der om

TLS_CACERT

, så skal den kommenteres ut ved å plassere en

#

forran linja.

Og konfigurerer systemet så det bruker ldap i stedet for unix-login: sudo pam-auth-update (det er greit med begge)

Så må vi sørge for at brukere som ikke har vært inne før får en hjemmemappe. Dette gjør vi ved å legge til følgende i bunnen av

/etc/pam.d/common-account

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

Ubuntu

Denne guiden tar utgangspunkt i *Ubuntu* og bygger på serverguiden til Ubuntu og ldap-configen på Colargol.


Vi begynner med å installere de filene vi trenger for å autentisere mot ldapen på Colargol. sudo apt-get install libnss-ldap

I wizarden du får opp taster du inn dette.

 LDAP server Uniform Resource Identifier: ldaps://tihlde.org/
 Distinguished name of the search base: ou=Brukere,ou=Colargol,dc=tihlde,dc=org
 LDAP version to use: 3
 Make local root Database admin: yes
 Does the LDAP database require login? yes
 LDAP account for root: cn=nss-auth,dc=tihlde,dc=org
 LDAP root account password: ***se passordfila i driftmappa***
 Unprivileged database user: cn=nss,dc=tihlde,dc=org
 Password for database login account: ***se passordfila i driftmappa***

Dette kan rekonfigureres senere enten i

/etc/ldap.conf

eller med kommandoen

sudo dpkg-reconfigure ldap-auth-config

. Dersom du ikke vil bruke ssl kan du bruke

ldap://tihlde.org/

eller

ldap://158.38.48.10/

i stedet, og droppe det som har med ssl å gjøre under.

Så går du inn i

/etc/ldap/ldap.conf

og legger til dette på slutten av fila: TLS_REQCERT allow

Så editer du

/etc/ldap.conf

. Her skal følgende endringer gjøres:

Endre

binddn cn=proxyuser,dc=example,dc=net

til

#binddn cn=proxyuser,dc=example,dc=net

(den kommenteres altså ut)

Kommenter ut

pam_password

(til

#pam_password

)

Under

# OpenLDAP SSL mechanism

fjerner du så kommenteringen på

ssl start_tls

,

ssl on

,

tls_checkpeer yes

og

tls_cacertdir /etc/ssl/certs

.

Så konfigurerer vi ldap-profilen for nss: sudo auth-client-config -t nss -p lac_ldap

Og konfigurerer systemet så det bruker ldap i stedet for unix-login: sudo pam-auth-update Dette aktiverer da ldap-autentisering. Det kan være greit å ha en bruker logget inn som root før dette aktiveres, i tilfelle ting går til helvete =)

Så må vi sørge for at brukere som ikke har vært inne før får en hjemmemappe. Dette gjør vi ved å legge til følgende i bunnen av

/etc/pam.d/common-account

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

DETTE ER KUN HVIS DET ER SNAKK OM EN VM PÅ NERDVANA


Mount VMware Tolls ISOen gjennom GUIet. Evt kan pakken lastes ned herfra: https://dennisse.tihlde.org/f/VMwareTools-8.3.2-257589.tar.gz Hvis du lastet ned pakken, hopp til utpakkingen.

sudo mkdir /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom

Kopier VMware Tools cp /mnt/cdrom/VMwareTools-x.x.x-xxxxx.tar.gz /tmp

Unmount cdrom sudo umount /mnt/cdrom

Go tmp cd /tmp

Pakk ut og gå inn i mappen tar -zxf VMwareTools-x.x.x-xxxxx.tar.gz cd vmware-tools-distrib

Start installeren sudo ./vmware-install.pl

Bruk default settings. Når den er ferdig, restart. sudo reboot