Sida 1 av 1
Säkerheten på min webbserver.
Postat: 22 sep 2012, 23:36
av webconstruction
Hallåj,
Vet att jag ställt denna frågan innan men hittar inte tråden. Men vad skall jag tänka på nu när det gäller säkerheten på min webb, ftp, och mailserver ?
Skall starta upp en nu och vill att det skall vara så säkert som möjligt. Den kommer stå bakom en router med brandvägg.
/Webconstruction
Re: Säkerheten på min webbserver.
Postat: 23 sep 2012, 00:37
av ubot
Det här är så självklart så det behöver nog inte sägas men du ska inte köra webbservern som root. En googling ger det här:
http://security.stackexchange.com/quest ... -hardening
http://www.techrepublic.com/blog/10thin ... apache/477
Jag är också intresserad av frågan. särskilt hur man säkrar upp Apache. Så kommentera gärna råden i länkarna!

Re: Säkerheten på min webbserver.
Postat: 23 sep 2012, 10:03
av webconstruction
Hur gör jag om jag inte skall köra root på min webserver ?
Alla ändringar m.m måste ju göra i root ?
Re: Säkerheten på min webbserver.
Postat: 23 sep 2012, 16:18
av ubot
Det är klart att du kan använda sudo för att ge din användare admin-rättigheter men jag varnar inte för det. Jag varnar för att köra webbservern som root. För att ändra filer som ligger i /var/www/ så måste du ha root-rättigheter ja eftersom din användare inte är ägare. Men du ska inte köra ett program som root i onödan eftersom det innebär en säkerhetsrisk. Om någon kommer åt att skapa/ändra en fil på webbservern så riskerar ju filen att exekveras som root om Apache körs som root. Det innebär en stor säkrhetsrisk! Apache körs inte som root som standard. Det körs som användaren www-data:
I have never seen a user case where apache needs to run as root. by default, on Ubuntu, apache runs as www-data.
Så det är ju inget problem så länge du inte får för dig att köra Apache som root, vilket jag alltså varnar för som ett första steg i att göra Apache säkert.

Du måste skilja på att utföra ett kommando med sudo (root) för att t.ex. ändra filer i /var/www och att köra programmet Apache som användaren root. Det är två helt olika saker. Att du sedan startar, stänger av och startar om Apache med sudo framför kommandot service apache2 start|stop|restart innebär ju inte att root är användaren som kör Apache2 utan bara att du ger din användare behörighet att starta, stoppa och starta om Apache2 m.h.a. sudo. Du ser i listan över processer som körs vilken användare som kör Apache2 när webbservern rullar om du kör kommandot:
Re: Säkerheten på min webbserver.
Postat: 23 sep 2012, 18:20
av webaake
Kolla in fail2ban.
Re: Säkerheten på min webbserver.
Postat: 23 sep 2012, 22:23
av webconstruction
ubot skrev:Det är klart att du kan använda sudo för att ge din användare admin-rättigheter men jag varnar inte för det. Jag varnar för att köra webbservern som root. För att ändra filer som ligger i /var/www/ så måste du ha root-rättigheter ja eftersom din användare inte är ägare. Men du ska inte köra ett program som root i onödan eftersom det innebär en säkerhetsrisk. Om någon kommer åt att skapa/ändra en fil på webbservern så riskerar ju filen att exekveras som root om Apache körs som root. Det innebär en stor säkrhetsrisk! Apache körs inte som root som standard. Det körs som användaren www-data:
I have never seen a user case where apache needs to run as root. by default, on Ubuntu, apache runs as www-data.
Så det är ju inget problem så länge du inte får för dig att köra Apache som root, vilket jag alltså varnar för som ett första steg i att göra Apache säkert.

Du måste skilja på att utföra ett kommando med sudo (root) för att t.ex. ändra filer i /var/www och att köra programmet Apache som användaren root. Det är två helt olika saker. Att du sedan startar, stänger av och startar om Apache med sudo framför kommandot service apache2 start|stop|restart innebär ju inte att root är användaren som kör Apache2 utan bara att du ger din användare behörighet att starta, stoppa och starta om Apache2 m.h.a. sudo. Du ser i listan över processer som körs vilken användare som kör Apache2 när webbservern rullar om du kör kommandot:
Men hur vet jag om apache2 körs som root eller inte ?
Jag installerar apache2 från min första användare när jag installerar ubuntu. Men den användaren är väll inte root eller ?
Re: Säkerheten på min webbserver.
Postat: 24 sep 2012, 03:24
av ubot
Men hur vet jag om apache2 körs som root eller inte ?
När du installerar Apache2 så skapas användaren www-data (om det inte finns redan innan) som också är den användaren som kör Apache som standard. Du kör inte Apache som din användare eller som root om du inte är inne och strular till systemet så att du ändrar så att Apache körs som root. Det hade varit vansinnigt om Ubuntu hade kört Apache som root som standard.
Du ser ju vilken användare som kör Apache om du kör det här kommandot när Apache är igång (användaren som kör processen står näst längst till vänster):
Re: Säkerheten på min webbserver.
Postat: 24 sep 2012, 11:55
av webconstruction
Okaj då är jag med på det.

när det gäller mailservern tex hur säkrar jag så inte vem somhelst kan skicka mail via min server ?
Sedan om jag vill köra kryptering på min webbserver tex på mitt ip nummer går det och hur skapar jag ett certifikat för detta ?
Re: Säkerheten på min webbserver.
Postat: 10 okt 2012, 00:11
av webconstruction
om min webb server står bakom en router med brandvägg behöver man installera en mjukvaru brandvägg som tex firestarter ?
Re: Säkerheten på min webbserver.
Postat: 10 okt 2012, 07:28
av ubot
webconstruction skrev:om min webb server står bakom en router med brandvägg behöver man installera en mjukvaru brandvägg som tex firestarter ?
Ubuntu har redan en brandvägg installerad från start. Den heter Iptables (netfilter?). Firestarter är precis som UFW ett grafiskt gränssnitt för att administrera Iptables (netfilter?). Om du menar allvar med att säkra upp din server så ska du inte ha en grafisk miljö på din server ö.h.t. och därför inte heller program som Firestarter eller UFW. Iptables administrerar du på en server från Terminalen.
Här är förklaringen till att du inte ska ha en grafisk miljö installerad på en server:
Arguments Against a GUI
Most Ubuntu Server developers recommend not installing a GUI on a server. There are multiple reasons for not installing a GUI.
Some reasons to not install a GUI include:
You'll have more code subject to security vulnerabilities, more packages that need updating, and more server downtime.
Performance may suffer because resources (memory, hard disk space, CPU, etc.) will be consumed by the GUI.
It is best practice to only install needed software on a production server.
The GUI may include other network services that are inappropriate for a server.
One of the goals of Ubuntu Desktop Edition is to make it easier for users to use Linux. When installing some desktop environments, services that you may not specifically want will be installed. For example avahi-daemon, which is used to help configure networking, adds another open port and may introduce unwanted DNS conflicts with a .local domain.
If you're using an Ubuntu LTS release prior to 12.04 LTS, X11 and desktop packages are not supported for the full 5 year lifecycle of the LTS server release.
So for the most secure server it is best to not install a GUI.
https://help.ubuntu.com/community/ServerGUI
https://help.ubuntu.com/community/IptablesHowTo
https://help.ubuntu.com/community/Firewall
Re: Säkerheten på min webbserver.
Postat: 10 okt 2012, 09:11
av webconstruction
Ok, jag har inte grafisk miljö på min server den körs i terminal.
Nu har jag faktiskt fått till mina certifikat, men hur gör man så sidan endast körs med certifikatet och att man inte kan köra utan på en webbplats ?
Re: Säkerheten på min webbserver.
Postat: 10 okt 2012, 12:13
av webconstruction
Får inte certifikatet att fungera endast på mitt ip nummer.
Kollar jag i apache2 error logg så är fel meddelandet följande:
[Wed Oct 10 12:10:33 2012] [error] [client ipnumret] Invalid method in request \x16\x03\x01
[Wed Oct 10 12:10:33 2012] [error] [client ipnumret] Invalid method in request \x16\x03\x01
Re: Säkerheten på min webbserver.
Postat: 10 okt 2012, 13:07
av johanre