Posts Tagged ‘VPS’

Förbättrad säkerhet med SSH-nycklar

lördag, februari 27th, 2010

Det är väldigt viktigt att man håller efter säkerheten hos sitt system dels genom att se till att allt är uppdaterat, men samtidigt är det viktigt att se till att inte någon obehörig lyckas logga in. Något som är otroligt vanligt nu för tiden är bruteforce-attacker via ssh, där attackeraren försöker logga in med olika användarnamn och lösenord, ofta tusentals gånger per dag. Visserligen är risken relativt liten att någon skulle gissa både användare och lösenord rätt, men den bästa lösningen är att helt sluta acceptera lösenord.

Istället använder man SSH-nycklar för att logga in. Man har två nycklar, en privat och en publik. Den publika nyckel delar man ut till de servrar man vill ha möjlighet att logga in mot och den privata är helt enkelt privat.

Om du använder något unix-baserat system för att ansluta till dina servrar såsom OS X eller någon Linux-variant kan du i terminalen skriva

# ssh-keygen

Detta skapar dina nycklar och sparar dem i katalogen .ssh i din hemkatalog. Eller om du använder tex Putty i windows så laddar man ner puttygen får att skapa nycklarna.
Nyckeln som slutar på .pub skall du sedan ladda upp och lägga in i slutet av filen

~/.ssh/authorized_keys

som EN rad på servern du vill ansluta till utan lösenord.
Nu har du dels bekvämligheten att slippa ange lösenord när du ansluter till servern (såvida du inte har ett lösenord på själva nyckeln) och samtidigt en helt klart säkrare authentiseringsmetod. Men för att slutföra det hela skall vi också se till att det inte går att logga in med lösenord. Detta gör man lättast att helt enkelt ta bort lösenordet helt från användaren. Du kan göra det genom att byta ut lösenordet mot * i lösenordsfilen.

# vipw

för att editera filen och sätt sedan lösenordet till *.

Dynamiska virtualhosts i FreeBSD jail / VPS

fredag, februari 26th, 2010

När man väl fått igång Apache och PHP, MySQL och allt vad man nu vill ha på sin webserver så stöter man snabbt på problemet med hur man skall konfigurera sina virtuella hostar. (dvs. hur man konfigurerar flera olika websidor och domäner på samma server).

Här tänkte vi gå igenom hur man på ett enkelt sätt kan lösa det genom att låta de virtuella hostarna vara dynamiska på så sätt att det räcker med att skapa en katalog motsvarande domänen man vill använda. Detta är mycket enkelt att göra i apache httpd. Vi börjar med att skapa en katalog där våra domänkataloger kommer att finnas. Låt säga

# mkdir /usr/www

Vi skapar också en katalog för loggar

# mkdir /usr/www/logs

Därefter konfigurerar vi apache. I filen /usr/local/etc/apache/httpd.conf:


UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vcombined
CustomLog /usr/www/logs/access_log vcombined
VirtualDocumentRoot /usr/www/%0

Vi måste också lägga till konfiguration för just den katalogen vi valt:

<Directory "/usr/www/*">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

När allt är konfigurerat och filen sparad startar vi om apache

# apachectl restart

Nu är allt klart och vi kan börja skapa virtuella hostar. Peka helt enkelt en domän mot din servers IP och skapa en ny katalog tex:

# mkdir /usr/www/dinnyafestligadomaen.se

Sen är det bara att surfa!

Hantera portssystemet i FreeBSD VPS / Jail

onsdag, februari 24th, 2010

Vi fortsätter även idag med en kortare lathund om hur man kan använda våra virtuella servrar.

Idag skall vi sabbt gå igenom hur man kan förenkla hanteringen och underhållet av installerade portar (paket) i FreeBSD med hjälp av programmet portupgrade.

Installera portupgrade

# csup -h cvsup.se.freebsd.org /usr/share/examples/cvsup/ports-supfile
# cd /usr/ports/ports-mgmt/portupgrade
# make install

Installera ports
För att installera ett nytt program använder man portinstall (som är en del av portupgrade-paketet) och skriver:

# portinstall <programmet>

Vet man inte exakt vad programmet heter kan man enkelt söka på http://www.freshports.org/

Uppdatera ports
Det kan vara väldigt bra speciellt ur säkerhetssynpunkt att hålla sina installerade paket ”up to date”. Dels kan man använda kommandot

# pkg_version

för att hitta de portar där det finns nya versionen att installera. Men det finns även ett väldigt viktigt program som talar om vilka av dina portar som har problem med säkerheten och det heter portaudit. För att installera portaudit gör du såhär:

# csup -h cvsup.se.freebsd.org /usr/share/examples/cvsup/ports-supfile
# cd /usr/ports/ports-mgmt/portaudit
# make install

och för att ta reda på vilka paket som behöver säkerhetsuppdateringar gör du såhär:

# portaudit -Fda

Du får nu en lista över alla installerade ports som har (kända) säkerhetsproblem, dessa bör du uppdatera.

För att uppdatera ett program eller port så använder man portupgrade genom att skriva:

# portupgrade <programmet>

Om man också vill uppdatera alla paket som beror på paketet man uppdaterar kan man skriva

# portupgrade -r <programmet>

Man kan även uppdatera alla installerade paket genom att skriva

# portupgrade -ra

Läs gärna igenom Ports-sidan i FreeBSD handbook. Där finns mycket information om hur systemet fungerar och hur man använder det på bästa sätt.

Du kan läsa mer om FreeBSD och pakethanteringssystemet ports här:
FreeBSD
FreeBSD Ports
FreeBSD handbook

Du kan läsa mer om portupgrade här:
Portupgrade Manual
FreeBSD Ports

Sekundär mail relay på FreeBSD VPS / jail

tisdag, februari 23rd, 2010

Vi fortsätter även idag med en kortare lathund om hur man kan använda våra virtuella servrar.

Då flera av våra kunder använder sin virtuella server som sekundär server och det faktum att vi ha vår tjänst Dual VPS tänkte jag nu gå igenom hur man sätter upp en sekundär mail relay i FreeBSD med Postfix. Vad det handlar om är alltså en server som kan ta över och ta emot mail om den primära servern av någon anledning inte är tillgänglig.

En viktig sak att börja med är konfigurationen av DNS för att det hela skall fungera. Såhär ser det ut för jails.se:


jails.se has address 87.237.210.209
jails.se has IPv6 address 2001:16d8:cc1e:1::1
jails.se mail is handled by 10 mail.jails.se.
jails.se mail is handled by 20 mx2.jails.se.

Det centrala här är självklart ”jails.se mail is handled by” där det anges två adresser med varsin prioritet (lägre nummer ger högre prioritet). Vi har alltså en primär server i mail.jails.se och en sekundär i mx2.jails.se.

Installation av Postfix
Precis som tidigare kommer vi att använda oss av portsystemet för att installera Postfix. Detta görs enkelt i tre steg såhär:

# csup -h cvsup.se.freebsd.org /usr/share/examples/cvsup/port-supfile
# cd /usr/ports/mail/postfix
# make install

Konfigurationen av den sekundära servern
Konfigurationsfilen det handlar om är:

/usr/local/etc/postfix/main.cf

och till att börja med är det viktigt att vi inte tillåter någon skicka mail via den sekundära servern och det gör man genom att lägga till en rad som denna i main.cf:

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

och dessutom måste vi se till att servern accepterar mail till de domäner som servern är sekundär server för:

relay_domains = jails.se, domain1.tld, domain2.tld

Sedan är det viktigt att ha denna rad så att servern inte försöker leverera mailen lokalt utan skickar vidare allt till den primära servern.

relay_recipient_maps =

Av samma anledning är det också viktigt att dina domäner inte är listade i någon av följande konfigurationsfält

mydestination
virtual_alias_domains
virtual_mailbox_domains

Förutsatt att den primära mailservern redan är uppsatt och är korrekt konfigurerad är detta allt som krävs för en sekundär mail-relay. Det är självklart viktigt att du testat så allt fungerar. Detta gör du enklast genom att helt stänga av den primära mailserver och skicka ett mail till någon@domain.tld och sedan hålla koll på mail-loggarna. Nu bör mailet istället hamna hos den sekundära mailserver
som sedan kommer att försöka leverera detta till den primära med jämna mellanrum. När du sedan startar den primära servern igen bör mailet dyka upp där efter ett tag.

Du kan läsa mer om FreeBSD och pakethanteringssystemet ports här:
FreeBSD
FreeBSD Ports
FreeBSD handbook

Du kan läsa mer om Postfix här:
Postfix

Apache + PHP på din FreeBSD VPS / Jail

måndag, februari 22nd, 2010

Vi tänkte fortsätt sviten med lite kortare lathundar för hur man snabbt kommer igång med våra servertjänster. Idag tänkte vi gå igenom hur man kommer igång med Apache och PHP.

Vi börjar, precis som i tidigare lathundar med att se till att ports-systemets filer är uppdaterande, genom att checka ut den senaste versionen med kommandot csup.


# csup -h cvsup.se.freebsd.org /usr/share/examples/cvsup/ports-supfile

Där ports-supfile är default-konfigurationen för vilka filer som skall hämtas och cvsup.se.freebsd.org är server där vi hämtar dem. Skulle .se vara full för tillfället går det bra att använda bland annat .dk. När det är klart kan vi börja med att installera apache.


# cd /usr/ports/www/apache22
# make install

I det här läget ges ett antal val för bland annat vilka moduler som skall byggas med apache och om man vill ha stöd för SSL och IPv6. Sen bygger vi! FreeBSD Ports kommer nu att bygga dels Apache och dels alla andra paket som krävs för att Apache skall fungera.

När detta är klart:

===> Registering installation for apache 2.2.14_5

Nu gäller det att se till att apache startar när server startar. Detta gör man enklast genom att lägga till raden:


apache22_enable="YES"

i /etc/rc.conf

Sedan är det dags att installera och konfigurera PHP.

# cd /usr/ports/lang/php5
# make install

Det är viktigt att vara noga med vilka inställningar som görs i kommande dialogruta:
PHP inställningar

Se till här att markera ‘Build Apache module’ annars kommer inte koplingen till Apache att fungera. När allt är klart ser du detta:


***************************************************************

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

***************************************************************
===> Compressing manual pages for php5-5.2.12
===> Registering installation for php5-5.2.12

Nu måste vi se till att inställningar finns i Apache-konfigurationen /usr/local/etc/apache/httpd.conf för att det skall fungera. Dock så är i normala fall detta redan med i default-konfigurationen:


<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

och


<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>

Nu skall allt vara klart och du kan starta apache manuellt genom

# sh /usr/local/etc/rc.d/apache start

eller

# apachectl start

Därefter kan du antingen konfigurera upp en egen www-katalog eller använda den som är default-konfigurerad:

/usr/local/www/data

Nu är det bara att börja koda!

Du kan läsa mer om FreeBSD och pakethanteringssystemet ports här:
FreeBSD
FreeBSD Ports
FreeBSD handbook

Du kan läsa mer om Apache och PHP här:
Apache 2.2 dokumentation
PHP dokumentation

Erbjudande!

onsdag, januari 20th, 2010

Nu erbjuder vi en ny tjänst till ett mycket bra pris, Dual VPS!

Du får två separata virtuella servrar i två olika städer, detta är en otroligt smidig lösning för dig som vill sätta upp dns eller mailservrar som ofta körs redudant med en primär och en sekundär server. Läs mer

FreeBSD 8.0-RELEASE

onsdag, december 2nd, 2009

Sådär, nu är äntligen alla servrar uppdaterade med senaste FreeBSD, nämligen 8.0-RELEASE. Dessutom har alla VPS-kontot uppgraderats och även patchats för den nya local-root exploiten. Läs mer här:

http://lists.freebsd.org/pipermail/freebsd-security/2009-December/005369.html
http://seclists.org/fulldisclosure/2009/Nov/371

Virtuella FreeBSD servrar

fredag, mars 28th, 2008

Nu öppnar vi för beställningar av vår VPS-tjänst där du får tillgång till en egen virtuell server med operativsystemet FreeBSD.