Re: Säker webbserver
Hie bliss nice work, you are my master and comander
Re: Re: Säker webbserver
> Jag kör shorewall (finns som Debianpaket). Det är den första > brandväggskonfigureraren som jag har tyckt om... Instämmer med föregående talare. Jag migrerade i dagarna min urgamla potato-brandvägg. Eller, ja, jag slängde ut den eftersom den drog så förbannat mycket ström och filservern fick extraknäcka som brandvägg istället. Ja, min flickvän tycker att vi har väl mycket datorer i garderoben, men det ingår i livets nödtorft, anser jag. Hursomhelst, jag hade använt pmfirewall för ipchains på den gamla 2.2-kärnan, men eftersom den nya burken var en 2.4 så var jag tvungen att köra iptables och efter att ha provat ett gäng olika verktyg föll jag handlöst för shorewall. /Fredrik Persson replyAll Description: PGP signature
Re: Säker webbserver
On 2003-04-20 20:59:22 +0200, Alex Polite wrote: > > Vill du inte skriva ditt eget IPtablesscript så finns det horder att > tillgå på nätet. Den här enkla iptables generatorn räcker gott som > utgångspunkt. Jag kör shorewall (finns som Debianpaket). Det är den första brandväggskonfigureraren som jag har tyckt om -- tillräckligt enkel för att jag ska förstå den ordentligt (underskatta aldrig säkerhetsvärdet i det!), men tillräckligt kraftfull för att jag inte ska känna mig begränsad. -- Karl Hasselström, [EMAIL PROTECTED] www.treskal.com/kalle pgpTj53DLCgGo.pgp Description: PGP signature
Re: Säker webbserver
On 2003-04-18 08:34:22 +0200, Torbjorn Pettersson wrote: > > Skall kanske tilläggas att du måste få inetd att läsa om > /etc/inetd.conf för att dina ändringar skall tas. Göres genom kill > -1 på inetd - processen. Kör hellre /etc/init.d/inetd reload alternativt "restart". På det sättet slipper du lära dig hur varenda demon ska hanteras, eftersom Debian tillhandahåller samma interface till allihop. -- Karl Hasselström, [EMAIL PROTECTED] www.treskal.com/kalle pgpEO8Y8dLPUE.pgp Description: PGP signature
Re: Säker webbserver
On Mon, Apr 21, 2003 at 02:23:31PM +0200, Henrik Johansson wrote: > Om du fortfarande inte har hittat vilka mail- och popservrar som körs har ett script som jag brukar köra på burkar jag inte har koll på vad som körs där för att få en snabb överblick över vilka paket som finns och körs. Det kanske inte är optimalt, men förbättringar är alltid välkomna.. :) /Michael #!/bin/sh for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort |uniq` ; do pack=`dpkg -S $i 2>/dev/null | grep bin | cut -f 1 -d : | uniq` if [ ! -z "$pack" ]; then echo "-Service $i is installed by:" echo "$pack" init=`dpkg -L $pack 2>/dev/null | grep init.d/ ` if [ ! -z "$init" ]; then echo "-and is run by:" echo "$init" fi else echo "-Unknown Service $i" fi echo "" done
Re: Säker webbserver
On Fri, Apr 18, 2003 at 03:59:37PM +0200, Björn Blissing wrote: > När jag kör: > # fuser -vn tcp 25 > # fuser -vn udp 25 > # fuser -vn tcp 110 > # fuser -vn udp 110 > > Så får jag inga träffar på program. Kör jag däremot: > # fuser -vn tcp 21 > > Så får jag följande > > USERPID ACCESS COMMAND > 21/tcp root234 f proftpd > > Så min fråga är: Varför visas port 25 och 110 som öppna när jag kör en > portscanning. Det verkar ju inte finnas några program som kör dem?? Hej. Om du fortfarande inte har hittat vilka mail- och popservrar som körs (om några nu körs) så kan du alltid använda det bakvända sättet att ta reda på det (när det gäller vissa textbaserade protokoll som smtp, http, pop, ftp osv.): [EMAIL PROTECTED]:~$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 vaktis.pappatobbe.cjb.net ESMTP Exim 3.35 #1 Mon, 21 Apr 2003 14:10:32 +0200quit 221 vaktis.pappatobbe.cjb.net closing connection Connection closed by foreign host. [EMAIL PROTECTED]:~$ telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Teapop [v0.3.4] - Teaspoon stirs around again <[EMAIL PROTECTED]> quit +OK I hope you will be back for your mail later, Sir. Connection closed by foreign host. (Ovan syns alltså att exim körs på port 25 och teapop på port 110 på min kompis låda.) Om man får connection refused är porten inte öppen. Om man inte får några 220 resp. +OK rader så är det antagligen inte smtp resp. pop (konstigt i så fall). Detta visar naturligtvis inte att portarna är öppna utåt när man kollar på localhost. Vill amn veta det så får man kolla från någon annan burk. Det är klart att det borde finnas enklare sätt när man kollar på sin egen burk. Men alla sätt är bra utom de dåliga. /Henrik Johansson
Re: Säker webbserver
Jag har inte läst den här tråden så rasande noggrant, men det verkar som om ingen rekommenderat dig att sätta upp en iptablesbrandvägg. Tumregeln när man bygger en sådan är att först stänga av trafiken på alla portar och sedan explicit öppna upp den på de portar som man vill hålla tillgängliga. Brandväggen skall ha två nätverkskort annars är det bara en router. Är du extra anal bör du ha en separat box som bara agerar brandvägg, men om du har de sakerna i hemmet så blir det kanske lite mycket. Vill du inte skriva ditt eget IPtablesscript så finns det horder att tillgå på nätet. Den här enkla iptables generatorn räcker gott som utgångspunkt. http://www.iptables.1go.dk/index1.php lycka till alex -- Alex Polite http://plusseven.com/gpg
Re: Säker webbserver
=?windows-1252?Q?Bj=F6rn_Blissing?= <[EMAIL PROTECTED]> writes: > (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.)? Exim (SMTP) kan kommenteras ut från /etc/inetd.conf. Det kommer ändå gå att skicka och ta emot e-post inom datorn och skicka ut till nätet. Men inte att ta emot från nätet, då. Ibland vill olika saker skicka meddelanden till root via e-post.
Re: Säker webbserver
On Fri, Apr 18, 2003 at 03:59:37PM +0200, Björn Blissing wrote: > > Så min fråga är: Varför visas port 25 och 110 som öppna när jag kör en > portscanning. Det verkar ju inte finnas några program som kör dem?? Kör istället netstat -tap som root så ser du vilka program som använder sig av porten. netstat -uap funkar också för UDP istf. TCP. Jag antar att du har exim installerat som mailserver. Det kan vara bra att ha en mailserver om du ska skicka mejl från maskinen lokalt, men inte ta emot utifrån. Då kan du se till att exim bara lyssnar på localhost genom att leta efter följande rad i /etc/exim/exim.com # This will cause it to accept mail only from the local interface local_interfaces = 127.0.0.1 mvh/Eric
Re: Säker webbserver
Björn Blissing wrote: 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). (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.)? På A svarar jag: Det enda du MÅSTE ha uppe är port 80, personligen hade jag (liksom de flesta föreslagit) avinstallerat pop3, portmap och lpd och sedan satt en brädhög framför varenda rad i /etc/inetd.conf som inte redan har det. Ftpd är jag personligen fientligt inställd till och skyr det som pesten. Använd hellre t.ex scp eller sftp (ingår i openssh) om det nu inte är så att du av olika skäl anser att du måste ha ftpd igång. Mail är en bra sak, som andra också sagt: Om du inte vill ha igång den så stäng av den men ta inte bort paketet för då får du gnälliga dependencies. 2. Är det en säkerhetsrisk med att skriva användarnamn och lösenordet till MySQL databasen direkt i PHP koden? Jag tycker det. Skapa en MySQL-användare som har tomt lösenord och bara får lov att ansluta från localhost (jag antar att du kör apache och MySQL på samma maskin). Den användaren ska bara få lov att kladda i de databaser som rör PHP-tjänsten den är tänkt för, helst så begränsat som möjligt. Om du inte är bekväm med MySQL så rekommenderar jag att du kör antingen det GUIt som finns på MySQL.com eller Mysqlfront. Det finns ett otal X-baserade Mysqlverktyg som paket som säkert är bra om de får en chans, jag har inte haft behov av dem så jag har inte provat. Glad Påsk önskar Martin
Re: Re: Säker webbserver
=?windows-1252?Q?Bj=F6rn_Blissing?= <[EMAIL PROTECTED]> writes: > > > 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 > > > > time37/tcp timserver > > time37/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: > > > > smtp25/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. > > > > > > pop3110/tcp pop-3 # POP version 3 > > pop3110/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. > > Efter att ha pillat lite så har jag lyckat få ner de öppna portarna till 21, > 22, 25, 80 och 110. Av dessa är det bara 25 och 110 som inte skall vara > öppna. Har kollat igenom vilka paket som är installerade. Hittar ingenting om > varken smtp eller pop3. Paketen är efter debians namnstandard, och paketnamnen har i det här fallet lite att göra med namnet den öppna porten. Vad gäller port 25 så _tror_ jag du har exim installerat, som är debians defaultmailserver, men det kan vara någon av de andra som finns, om du valt detta. (Det är väl så också, om jag minns rätt, att rätt många paket dependar på att du faktiskt instlallerat en mailserver, så det kan vara lite svårt att bara avinstallera den. Som sagt, prova vad du kan göra med konfigureringen, eller om det är något du ej tror dig behöva, även om jag personligen inte skulle droppa den p.g.a. internmail fron cron o.s.v., så ändra i startscripeten så den inte går igång. ) Vad gäller pop3 så har jag inte i huvudet vilka som finns som paket, och vad de kan tänkas heta, men har du inga rader i /etc/inetd.conf som startar den sök så kan du ju göra en grep -l pop /etc/init.d/* och se om du får ut något där? Eller sök efter regexp;et provides:.*pop?\-server i /var/lib/dpkg/available så borde du hitta alla paket som kan tänkas innehålla en popserver. > > När jag kör: > # fuser -vn tcp 25 > # fuser -vn udp 25 > # fuser -vn tcp 110 > # fuser -vn udp 110 > > Så får jag inga träffar på program. Kör jag däremot: > # fuser -vn tcp 21 > > Så får jag följande > > USERPID ACCESS COMMAND > 21/tcp root234 f proftpd > > Så min fråga är: Varför visas port 25 och 110 som öppna när jag kör en > portscanning. Det verkar ju inte finnas några program som kör dem?? > Vet faktiskt inte varför inte fuser visar vilka program som har dem öppna, men om portscanningen visar dem som öppna, så beror det på att de är öppna... Hur mycket av vad som faktiskt är igång som fuser resp. netstat visar, tjae... Det lär skall finnas avsiktliga sätt att gå runt att program visas, och det finns säkert oavsiktliga sätt att göra det också... Mvh Tobbe -- ## Torbjörn Pettersson # Email [EMAIL PROTECTED] Vattugatan 5 # Web www.strul.nu/~tobbe S-111 52 Stockholm, Sweden # ##
Re: Säker webbserver
> > 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. > > > sunrpc111/tcp portmapper # RPC 4.0 portmapper TCP > sunrpc111/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. Efter att ha pillat lite så har jag lyckat få ner de öppna portarna till 21, 22, 25, 80 och 110. Av dessa är det bara 25 och 110 som inte skall vara öppna. Har kollat igenom vilka paket som är installerade. Hittar ingenting om varken smtp eller pop3. När jag kör: # fuser -vn tcp 25 # fuser -vn udp 25 # fuser -vn tcp 110 # fuser -vn udp 110 Så får jag inga träffar på program. Kör jag däremot: # fuser -vn tcp 21 Så får jag följande USERPID ACCESS COMMAND 21/tcp root234 f proftpd Så min fråga är: Varför visas port 25 och 110 som öppna när jag kör en portscanning. Det verkar ju inte finnas några program som kör dem??
Re: Säker webbserver
Torbjorn Pettersson <[EMAIL PROTECTED]> writes: > 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 Skall kanske tilläggas att du måste få inetd att läsa om /etc/inetd.conf för att dina ändringar skall tas. Göres genom kill -1 på inetd - processen. Mvh Tobbe -- ## Torbjörn Pettersson # Email [EMAIL PROTECTED] Vattugatan 5 # Web www.strul.nu/~tobbe S-111 52 Stockholm, Sweden # ##
Re: Säker webbserver
=?windows-1252?Q?Bj=F6rn_Blissing?= <[EMAIL PROTECTED]> 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 time37/tcp timserver time37/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: smtp25/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. pop3110/tcp pop-3 # POP version 3 pop3110/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 [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROT
Säker webbserver
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). (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.)? 2. Är det en säkerhetsrisk med att skriva användarnamn och lösenordet till MySQL databasen direkt i PHP koden? Tar gärna emot andra tips som kan göra min webbserver säkrare. /Björn Blissing