Re: Säker webbserver
=?windows-1252?Q?Bj=F6rn_Blissing?= <bjobl449@student.liu.se> writes:
> Som en total nybörjare på linux måste jag först börjar med att säga att det var föredömligt enkelt att installera. Fick upp min Apache webbserver med PHP och MySQL på under timmen.
>
> Men nu till mina frågor: (varav vissa kanske inte är helt debian-specifika. Förlåt!)
> 1. Jag körde en portscanning på datorn som är webbserver. Var ganska många portar som var öppna. Vissa kan jag förstå (t.ex. 80, 21, 22). Medan andra är mer svåra att förstå varför de är öppna (9, 13, 25,37,110,111,515).
Ur /etc/services:
discard 9/tcp sink null
discard 9/udp sink null
daytime 13/tcp
daytime 13/udp
time 37/tcp timserver
time 37/udp timserver
Ovanstående är interna tjänster i inetd... De behöver inte vara
igång. Du vinner kanske inte så mycket på att plocka bort dem så
länge inetd är tillgänglig utifrån, men är du oroad över dem så
plocka bort dem, genom att kommentera ut dem i
/etc/inetd.conf. Ytterligare två alternativ, som du dessutom kan
kombinera, är paketfiltrering resp. tcpwrappers. Det finns en
del exempel om man letar med google, samt bra böcker i ämnet, om
hur man sätter upp en paketfiltrerande brandvägg under
linux. Tcpwrappers är inte lika säkert, men det är bättre än
ingenting. Jämför filerna /etc/hosts.allow resp /etc/hosts.deny.
Nedanstående är alla tjänster som du mer eller mindre själv valt
att ha igång:
smtp 25/tcp mail
Beroende på vilken mailserver du valt att installera är
förfaringssättet lite olika, men du borde kunna konfigurera de
flesta paketen så att de inte lyssnar externt efter connections.
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
Du har ju tydligen installerat en popserver, så jag utgår ifrån
att du vill göra något med den? tcpwrappers, eller avinstallera.
sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP
sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP
Portmappern.... Du behöver _inte_ den på en server som bara
skall vara webserver. Du kanske har fler saker
installerade på burken som dependar på denna, men avinstallera
dessa också, de är inte heller något du behöver på en
webserver.
printer 515/tcp spooler # line printer spooler
Avinstallera. Du behöver inte printerservertjänster på
maskinen. Antagligen heter paketet lpd.
> (a) Vilka portar måste vara öppna för att få det att fungera?
> (b) Hur stänger man ner onödiga portar (t.ex. port 25 - smtp kan ju knappast vara vettig att ha öppen på en webbserver.)?
Beroende på paket som sagt. Alterntaiv:
- Avinstallera paketet. (Vilket det är kontrollerar du genom att jämföra
/etc/services, /etc/inetd.conf och titta lite vad du startar i
/etc/init.d/* )
- Konfigurera om paketet, alternativt välj ett annat paket. Vad
gäller mail, så tror jag att om du väljer exim så kan du
sätta upp den så att den inte lyssnar på port 25
externt. (Har dock inte provat, i.o.m. att jag kör en annan
mailserver själv.)
- tcpwrappers... Porten kommer fortfarande att se öppen ut, men
bara addresser som du konfigurerat får faktisk access till
tjänsten på porten. Inte 100% säkert, men ofta tillräckligt.
- Paketfiltrering. Sätt upp en brandvägg m.a.o.
>
> 2. Är det en säkerhetsrisk med att skriva användarnamn och lösenordet till MySQL databasen direkt i PHP koden?
>
Det beror kanske lite på. Du får tänka som så:
-) Vad händer om webservern blir felkonfigurerad, alt. någon
utnyttjar någon av de source disclosure - buggar som har
funnits innan du hunnit patcha upp maskinen? Kommer de att
kunna connecta till databasen externt? Hur förhindrar du
det?
-) Har fler personer login-access på din webserver? Litar du
till 100% på alla av dem? Även om du sätter upp så att de
inte har läs - access till dina php - filer så finns ju
möjligheten att de kan köra saker med samma id som
webservern, antingen genom cgi;er, eller php, (det går att
konfiguera bort, o.s.v., men mycket jobb) eller att du
lämnar en fil med fel permissions så att den blir lokalt läsbar.
> Tar gärna emot andra tips som kan göra min webbserver säkrare.
>
-) Gå igenom konfigureringen av webservern också, och slå av de
moduler du inte behöver.
-) Backuper! Så uppenbart att man oftast glömmer det i mindre
sammanhang. Guld värt. Räcker kanske med att du bränner ut det
viktigaste (så mycket av konfigueringarna och datat för
debian, databasen och webservern som möjligt) till CD lite
då och då? Om du tänker igenom innan hur du skulle göra för
att bygga upp maskinen från scratch så vet du vad du behöver
för något.
> /Björn Blissing
>
>
> --
> To UNSUBSCRIBE, email to debian-user-swedish-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Mvh Tobbe
--
######################################################################
Torbjörn Pettersson # Email tobbe@strul.nu
Vattugatan 5 # Web www.strul.nu/~tobbe
S-111 52 Stockholm, Sweden #
######################################################################
Reply to: