Archives par mot-clé : kimsufi

Firewall pour serveur dédié avec iptables

Firewall pour serveur dédié avec iptables

Ce script ce base sur iptables, il a pour but de bloquer tout le trafic entrant sur le serveur à part les service qui seront listé. Le trafic sortant n’est quand a lui n’est pas impacté.

Je créer un fichier firewall :

# nano /etc/init.d/firewall

#!/bin/bash
echo Setting firewall rules...
#
# config de base dedibox
# Florian Cristina
#v1.1

###### Debut Initialisation ######

# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]

# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]

###### Fin Inialisation ######

##### Debut Regles ######

# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
echo - Autoriser SSH : [OK]

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
echo - Autoriser loopback : [OK]

# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
echo - Autoriser ping : [OK]

# HTTP et HTTPS
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo - Autoriser HTTP et HTTPS : [OK]

# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
echo - Autoriser DNS : [OK]

# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
echo - Autoriser FTP : [OK]

# Mail : POP, SMTP, IMAP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
echo - Autoriser Mail : [OK]

###### Fin Regles ######

###### Interdiction de tout entrant ######
# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
echo - Interdire toute connexion entrante : [OK]

echo Firewall mis a jour avec succes !

Je donne les droits d’exécution :

# chmod +x /etc/init.d/firewall

Une fois que vous l’avez tester et que cela fonctionne vous pouvez le mettre à chaque démarrage du serveur.

# update-rc.d firewall defaults 99

Merci à Rusty Russell et son How-To, il est la base de cette page. Et merci surtout pour son travail au sein de l’équipe de développement de Netfilter 🙂

Serveur vpn PPTP sous debian en MS-CHAPv2

Ayant besoin d’un VPN en pptp pour un client qui ne supporte par openvpn, j’ai essayé et réussis d’installer une serveur pptp sur un de mes serveur dédié.
Donc pour tous ceux qui ont des dedibox, kimsufi et autre serveur ovh et qui veulent un serveur vpn plus simple à mettre en place que openvpn et moins sécurisé ce tuto est pour vous ! Dans cet exemple j’utilise le MS-CHAPv2 mais le CHAP ou le PAP sont aussi disponible.

Pour ceux qui préfère openvpn (moi) voici le liens pour mon tuto openvpn : http://www.artiflo.net/2008/05/ubuntu-openvpn/

J’ai réalisé l’installation sous debian etch mais cela devrait être le même concept pour les autres distribution.

Installation du serveur pptpd :

# apt-get install pptpd

Configuration du serveur :

# nano /etc/pptpd.conf

Il faut décommenter les 2 lignes localip et remonteip. Vous indiqué l’ip du votre serveur et ensuite la plage d’adresse d’ip locale que vous voulez attribué au pc qui se connecteront au VPN

localip IP.DE.VOTRE.SERVEUR
remoteip 192.168.0.234-238,192.168.0.245

A présent nous allons configurer la méthode d’authentification. Nous allons utiliser le MS-CHAPv2. Mais les autres protocole que ce soit pap ou chap sont aussi possible c’est a vous de le configurer.

# nano /etc/ppp/options

Il faut rajouter ces lignes a la fin du fichier :

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp 

Maintenant il reste a créer les utilisateurs.

# nano /etc/ppp/chap-secrets

Cela se présente ainsi :

artiflo pptpd artiflopassword "*"

* est pour signifier que les utilisateurs peuvent se connecter de n’importe quel ip. Dans le cas contraire spécifié l’ip.

Et enfin, pour ce concerne le firewall il faut en premier que vous autoriser le port 1723 et le protocole GRE ainsi :

# iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT

Et ensuite il faut configurer le routage en spécifiant que toutes les adresse locale que vous avez définis toutes a l’heure doivent être rediriger sur l’adresse de la carte eth0. Et en activant l’ip forwarding.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.DE.VOTRE.SERVEUR

Redémarrer pptp et cela doit fonctionner 🙂

# /etc/init.d/pptpd restart

Je n’explique pas dans ce billet la configuration du client pour Windows XP ou Vista car c’est du clic-clic.

Bench HDD chez OVH

Je viens compiler différente donné obtenue sur la ml rps de ovh (subscribe-rps@ml.ovh.net) concernant les performance d’un petit nombre de serveur dédié standard chez ovh.

Pour l’écriture voici la commande qui a été utilisé :

# time dd if=/dev/zero of=./8gb bs=1024k count=8192

Pour la lecture voici la commande qui a été utilisé :

# time dd if=./8gb of=/dev/null bs=64k

Voici les résultat sous forme de tableau:

Ecriture Lecture Ecriture Lecture hd cache hd read
Start 100M 3,25 2,34 41,8 55,5
Kimsufi 08 RE 2,55 2,38 49 54,3 535 73,7
Kimsufi 08 XL 3,55 3,41 36,4 46,7
Kimsufi 08 XXL 3,48 3,24 37,7 42,1
Superplan 07 L 1,56 1,41 74 84,6
Superplan 08 RE 1,57 1,48 73 81 3523 82
EG 08 3,46 2,25 38,3 59,1
MG 08 RE 3,46 2,24 38,3 60

En premier les performances en minutes :

Graphique Bench min OVH 2008
On voit que les superplan sont trés fort, les performances des EG et MG sont en rentrer du fait de l’utilisation du RAID1.

Les performances en MB/s :

Graphique Bench OVH 2008
Je n’ai pas put obtenir les chiffres en MB/s du MG08RE.

MAJ : Ajout des chiffres pour le Start100M et ajout de hdparm pour les serveurs de ma sandbox.
La kimsufi 08 RE est pourvus du Seagate Barracuda 7200.10.
La kimsufi 08 XXL est pourvus de l’Hitachi P7K500.
Le Superplan 2008 Re est pourvus du trés performant Hitachi 7K1000.
Le HG 2X4C bi-turbo 08 est pourvus de Seagate Cheetah 15K.5 en SAS 15krpm Raid0Hard.

Le reload 2008 chez ovh, ça rosk

Voici plusieurs semaine que ovh a lancé sa nouvelle gamme de serveur dédié la « reload ». J’ai a ma disposition une kimsufi 2008 reload et un Superplan 2008 reload

Le SP08 reload est a 59 eurosHT/mois.

Processeur : E6550 (2×2.33Ghz)
Ram : 4Go
HDD : 750 Go
BP : 100Mb unmetred
Debian 4.0 (etch)

La kimsufi 2008 reload est à 19.99 euros HT/mois :

Processeur : Celeron 220 (1.2Ghz)
Ram : 1Go
HDD : 250 Go
BP : 100Mb unmetred
Debian 4.0 (etch)

Alors j’ai commencer par tester les hdd qui sont en SATA2. Dans le premier cas je fais une écriture d’un fichier de 8GB et dans le second je le lit :

Alors un test en écriture pour commencer
Le SP08RE :

#time dd if=/dev/zero of=8gb bs=1024k count=8192
8192+0 enregistrements lus
8192+0 enregistrements écrits
8589934592 octets (8,6 GB) copiés, 127,643 seconde, 67,3 MB/s
real 2m7.704s
user 0m0.016s
sys 0m18.525s

La KIM08RE :

#time dd if=/dev/zero of=./8gb bs=1024k count=8192
8192+0 enregistrements lus
8192+0 enregistrements écrits
8589934592 bytes (8,6 GB) copied, 175,45 s, 49,0 MB/s

real 2m55.839s
user 0m0.072s
sys 0m35.690s

Suivis du test en lecture :
Le SP08RE

#time dd if=./8gb of=/dev/null bs=64k
131072+0 enregistrements lus
131072+0 enregistrements écrits
8589934592 octets (8,6 GB) copiés, 104,472 seconde, 82,2 MB/s

real 1m44.473s
user 0m0.036s
sys 0m4.504s

La KIM08RE :

#time dd if=./8gb of=/dev/null bs=64k
131072+0 enregistrements lus
131072+0 enregistrements écrits
8589934592 bytes (8,6 GB) copied, 158,217 s, 54,3 MB/s

real 2m38.233s
user 0m0.112s
sys 0m11.805s

Pour les curieux voici le résultat du lshw :

Le SP08RE :

    description: Desktop Computer
    product: SP
    vendor: OVH
    version: A0038
    serial: 2008-02-08
    width: 32 bits
    capabilities: smbios-2.4 dmi-2.4
    configuration: boot=normal chassis=desktop uuid=52F0A352-C587-11DC-BF91-0011D8A4680D
  *-core
       description: Motherboard
       product: DG31PR
       vendor: Intel Corporation
       physical id: 0
       version: AAD97573-205
       serial: BTPR803007NU
       slot: To be filled by O.E.M.
     *-firmware
          description: BIOS
          vendor: Intel Corp.
          physical id: 0
          version: PRG3110H.86A.0038.2007.1221.1757 (12/21/2007)
          size: 64KB
          capacity: 960KB
          capabilities: pci upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
     *-cpu
          description: CPU
          product: Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
          vendor: Intel Corp.
          physical id: 4
          bus info: cpu@0
          version: 6.15.11
          serial: 0000-06FB-0000-0000-0000-0000
          slot: J3E1
          size: 2331MHz
          capacity: 4GHz
          width: 64 bits
          clock: 1333MHz
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe x86-64 constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr lahf_lm
          configuration: id=0
        *-cache:0
             description: L1 cache
             physical id: 5
             slot: Unknown
             size: 32KB
             capacity: 32KB
             capabilities: synchronous internal write-back unified
        *-cache:1
             description: L2 cache
             physical id: 6
             slot: Unknown
             size: 4MB
             capacity: 4MB
             capabilities: synchronous internal write-back unified
        *-logicalcpu:0
             description: Logical CPU
             physical id: 0.1
             width: 64 bits
             capabilities: logical
        *-logicalcpu:1
             description: Logical CPU
             physical id: 0.2
             width: 64 bits
             capabilities: logical
     *-memory
          description: System Memory
          physical id: 22
          slot: System board or motherboard
          size: 4GB
        *-bank:0
             description: DIMM DDR Synchronous 667 MHz (1.5 ns)
             product: Unknown
             vendor: Unknown
             physical id: 0
             serial: Unknown
             slot: J6H1
             size: 2GB
             width: 64 bits
             clock: 667MHz (1.5ns)
        *-bank:1
             description: DIMM DDR Synchronous 667 MHz (1.5 ns)
             product: Unknown
             vendor: Unknown
             physical id: 1
             serial: Unknown
             slot: J6H2
             size: 2GB
             width: 64 bits
             clock: 667MHz (1.5ns)
     *-pci
          description: Host bridge
          product: 82G33/G31/P35/P31 Express DRAM Controller
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@00:00.0
          version: 10
          width: 32 bits
          clock: 33MHz
        *-pci:0
             description: PCI bridge
             product: 82G33/G31/P35/P31 Express PCI Express Root Port
             vendor: Intel Corporation
             physical id: 1
             bus info: pci@00:01.0
             version: 10
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master cap_list
             configuration: driver=pcieport-driver
        *-display UNCLAIMED
             description: VGA compatible controller
             product: 82G33/G31 Express Integrated Graphics Controller
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@00:02.0
             version: 10
             size: 512MB
             width: 32 bits
             clock: 33MHz
             capabilities: vga_controller bus_master cap_list
             configuration: latency=0
             resources: iomemory:feb00000-feb7ffff ioport:e140-e147 iomemory:c0000000-dfffffff iomemory:fe900000-fe9fffff irq:11
        *-pci:1
             description: PCI bridge
             product: 82801G (ICH7 Family) PCI Express Port 1
             vendor: Intel Corporation
             physical id: 1c
             bus info: pci@00:1c.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master cap_list
             configuration: driver=pcieport-driver
        *-pci:2
             description: PCI bridge
             product: 82801G (ICH7 Family) PCI Express Port 2
             vendor: Intel Corporation
             physical id: 1c.1
             bus info: pci@00:1c.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master cap_list
             configuration: driver=pcieport-driver
           *-network
                description: Ethernet interface
                product: RTL8111/8168B PCI Express Gigabit Ethernet controller
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 0
                bus info: pci@03:00.0
                logical name: eth0
                version: 01
                serial: 00:1c:c0:3f:4e:a1
                size: 100MB/s
                capacity: 1GB/s
                width: 64 bits
                clock: 33MHz
                capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.2LK duplex=full ip=91.121.143.180 latency=0 link=yes multicast=yes port=twisted pair speed=100MB/s
                resources: ioport:d000-d0ff iomemory:fea20000-fea20fff irq:220
        *-usb:0
             description: USB Controller
             product: 82801G (ICH7 Family) USB UHCI Controller #1
             vendor: Intel Corporation
             physical id: 1d
             bus info: pci@00:1d.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0
             resources: ioport:e080-e09f irq:18
        *-usb:1
             description: USB Controller
             product: 82801G (ICH7 Family) USB UHCI Controller #2
             vendor: Intel Corporation
             physical id: 1d.1
             bus info: pci@00:1d.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0
             resources: ioport:e060-e07f irq:19
        *-usb:2
             description: USB Controller
             product: 82801G (ICH7 Family) USB UHCI Controller #3
             vendor: Intel Corporation
             physical id: 1d.2
             bus info: pci@00:1d.2
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0
             resources: ioport:e040-e05f irq:20
        *-usb:3
             description: USB Controller
             product: 82801G (ICH7 Family) USB UHCI Controller #4
             vendor: Intel Corporation
             physical id: 1d.3
             bus info: pci@00:1d.3
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0
             resources: ioport:e020-e03f irq:16
        *-usb:4
             description: USB Controller
             product: 82801G (ICH7 Family) USB2 EHCI Controller
             vendor: Intel Corporation
             physical id: 1d.7
             bus info: pci@00:1d.7
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: ehci bus_master cap_list
             configuration: driver=ehci_hcd latency=0
             resources: iomemory:feb80000-feb803ff irq:18
        *-pci:3
             description: PCI bridge
             product: 82801 PCI Bridge
             vendor: Intel Corporation
             physical id: 1e
             bus info: pci@00:1e.0
             version: e1
             width: 32 bits
             clock: 33MHz
             capabilities: pci subtractive_decode bus_master cap_list
        *-isa
             description: ISA bridge
             product: 82801GB/GR (ICH7 Family) LPC Interface Bridge
             vendor: Intel Corporation
             physical id: 1f
             bus info: pci@00:1f.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master cap_list
             configuration: latency=0
        *-ide:0
             description: IDE interface
             product: 82801G (ICH7 Family) IDE Controller
             vendor: Intel Corporation
             physical id: 1f.1
             bus info: pci@00:1f.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: ide bus_master
             configuration: driver=PIIX_IDE latency=0
             resources: ioport:1f0-1f7 ioport:3f4-3f3 ioport:170-177 ioport:374-373 ioport:e0f0-e0ff irq:16
        *-ide:1
             description: IDE interface
             product: 82801GB/GR/GH (ICH7 Family) SATA IDE Controller
             vendor: Intel Corporation
             physical id: 1f.2
             bus info: pci@00:1f.2
             version: 01
             width: 32 bits
             clock: 66MHz
             capabilities: ide bus_master cap_list
             configuration: driver=ata_piix latency=0
             resources: ioport:e0e0-e0e7 ioport:e0d0-e0d3 ioport:e0c0-e0c7 ioport:e0b0-e0b3 ioport:e0a0-e0af irq:17
        *-serial UNCLAIMED
             description: SMBus
             product: 82801G (ICH7 Family) SMBus Controller
             vendor: Intel Corporation
             physical id: 1f.3
             bus info: pci@00:1f.3
             version: 01
             width: 32 bits
             clock: 33MHz
             configuration: latency=0
             resources: ioport:e000-e01f irq:10
  *-network DISABLED
       description: Ethernet interface
       physical id: 1
       logical name: dummy0
       serial: 22:51:71:c0:3a:33
       capabilities: ethernet physical
       configuration: broadcast=yes

La KIM08RE :

    description: Computer
    product: RPS
    vendor: OVH
    version: B0137
    serial: 2008-02-08
    width: 32 bits
    capabilities: smbios-2.4 dmi-2.4 smp-1.4 smp
    configuration: boot=normal cpus=1 uuid=F74CD156-03C0-11DD-A39A-000C6E080350
  *-core
       description: Motherboard
       product: D201GLY
       vendor: Intel Corporation
       physical id: 0
       version: AAE14305-401
       serial: BQLY8140067K
       slot: Base Board Chassis Location
     *-cpu
          description: CPU
          product: Intel(R) Celeron(R) CPU          220  @ 1.20GHz
          vendor: Intel Corp.
          physical id: 0
          bus info: cpu@0
          version: 6.6.1
          serial: 0001-0661-0000-0000-0000-0000
          size: 1200MHz
          capacity: 1333MHz
          width: 64 bits
          clock: 133MHz
          capabilities: boot fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx x86-64 constant_tsc up arch_perfmon pebs bts pni monitor ds_cpl tm2 ssse3 cx16 xtpr lahf_lm
        *-cache:0
             description: L2 cache
             physical id: 1
             slot: Unknown
             size: 512KiB
             capacity: 512KiB
             capabilities: asynchronous internal write-back unified
        *-cache:1
             description: L1 cache
             physical id: 3
             slot: Unknown
             size: 32KiB
             capacity: 32KiB
             capabilities: asynchronous internal write-back data
     *-cache
          description: L1 cache
          physical id: 2
          slot: Unknown
          size: 32KiB
          capacity: 32KiB
          capabilities: asynchronous internal write-back instruction
     *-firmware
          description: BIOS
          vendor: Intel Corp.
          physical id: 4
          version: LY66210M.86A.0137.2008.0104.1540 (01/04/2008)
          size: 64KiB
          capacity: 448KiB
          capabilities: pci upgrade shadowing cdboot bootselect edd int9keyboard int14serial int17printer int10video acpi usb zipboot biosbootspecification netboot
     *-memory
          description: System Memory
          physical id: 11
          slot: System board or motherboard
          size: 1GiB
          capacity: 3GiB
        *-bank
             description: DIMM Synchronous 533 MHz (1.9 ns)
             product: 0x393930353331362D3030352E4130344C4600
             vendor: 0x7F98000000000000
             physical id: 0
             serial: 0xCE1D9338
             slot: DIMM0
             size: 1GiB
             width: 64 bits
             clock: 533MHz (1.9ns)
     *-pci
          description: Host bridge
          product: 662 Host
          vendor: Silicon Integrated Systems [SiS]
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 01
          width: 32 bits
          clock: 33MHz
          configuration: latency=32
        *-pci:0
             description: PCI bridge
             product: SiS AGP Port (virtual PCI-to-PCI bridge)
             vendor: Silicon Integrated Systems [SiS]
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pci normal_decode bus_master
           *-display UNCLAIMED
                description: VGA compatible controller
                product: 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter
                vendor: Silicon Integrated Systems [SiS]
                physical id: 0
                bus info: pci@0000:01:00.0
                version: 04
                width: 32 bits
                clock: 66MHz
                capabilities: pm agp agp-3.0 vga_controller cap_list
                configuration: latency=0
        *-isa
             description: ISA bridge
             product: SiS964 [MuTIOL Media IO]
             vendor: Silicon Integrated Systems [SiS]
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 36
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-ide:0
             description: IDE interface
             product: 5513 [IDE]
             vendor: Silicon Integrated Systems [SiS]
             physical id: 2.5
             bus info: pci@0000:00:02.5
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: ide pm bus_master cap_list
             configuration: driver=SIS_IDE latency=32
        *-usb:0 UNCLAIMED
             description: USB Controller
             product: USB 1.1 Controller
             vendor: Silicon Integrated Systems [SiS]
             physical id: 3
             bus info: pci@0000:00:03.0
             version: 0f
             width: 32 bits
             clock: 33MHz
             capabilities: ohci
             configuration: latency=64 maxlatency=80
        *-usb:1 UNCLAIMED
             description: USB Controller
             product: USB 1.1 Controller
             vendor: Silicon Integrated Systems [SiS]
             physical id: 3.1
             bus info: pci@0000:00:03.1
             version: 0f
             width: 32 bits
             clock: 33MHz
             capabilities: ohci
             configuration: latency=64 maxlatency=80
        *-usb:2 UNCLAIMED
             description: USB Controller
             product: USB 1.1 Controller
             vendor: Silicon Integrated Systems [SiS]
             physical id: 3.2
             bus info: pci@0000:00:03.2
             version: 0f
             width: 32 bits
             clock: 33MHz
             capabilities: ohci
             configuration: latency=64 maxlatency=80
        *-usb:3
             description: USB Controller
             product: USB 2.0 Controller
             vendor: Silicon Integrated Systems [SiS]
             physical id: 3.3
             bus info: pci@0000:00:03.3
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pm ehci bus_master cap_list
             configuration: driver=ehci_hcd latency=32 maxlatency=80
        *-network
             description: Ethernet interface
             product: SiS900 PCI Fast Ethernet
             vendor: Silicon Integrated Systems [SiS]
             physical id: 4
             bus info: pci@0000:00:04.0
             logical name: eth0
             version: 91
             serial: 00:1c:c0:4b:d1:75
             size: 100MB/s
             capacity: 100MB/s
             width: 32 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
             configuration: autonegotiation=on broadcast=yes driver=sis900 driverversion=v1.08.10 Apr. 2 2006 duplex=full ip=91.121.147.70 latency=32 link=yes maxlatency=11 mingnt=52 multicast=yes port=MII speed=100MB/s
        *-ide:1
             description: IDE interface
             product: SATA
             vendor: Silicon Integrated Systems [SiS]
             physical id: 5
             bus info: pci@0000:00:05.0
             version: 01
             width: 32 bits
             clock: 66MHz
             capabilities: ide pm bus_master cap_list
             configuration: driver=sata_sis latency=32
        *-pci:1
             description: PCI bridge
             product: PCI-to-PCI bridge
             vendor: Silicon Integrated Systems [SiS]
             physical id: 1f
             bus info: pci@0000:00:1f.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport-driver
  *-network DISABLED
       description: Ethernet interface
       physical id: 1
       logical name: dummy0
       serial: 2a:4a:54:c8:3b:fe
       capabilities: ethernet physical
       configuration: broadcast=yes

kimsufi et munin

Va falloir mettre des petites stats système maintenant pour monitoré tout çà.
Je sais que je vais en faire hurler certain mais je vais utiliser munin et non cacti pour s’acquitter de cette tache. Beaucoup plus simple d’utilisation pour un besoin « classique », munin a donc ma préférence.

#sudo apt-get install munin munin-node smartmontools libwww-perl lm-sensors sensord ethtool

Par defaut munin va stocker ses fichiers dans

dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin

Maintenant il faut s’attaquer a Apache, on creer donc un Alias :

#sudo nano /etc/apache2/apache2.conf

Alias /stat /var/www/munin

Et ensuite activé le server-status et l’autoriser uniquement pour le localhost toujours dans le meme fichier de configuration.

      SetHandler server-status
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1

ExtendedStatus On

Aller maintenant on rajoute les petits plugins sympa. Tous les plugins sont rangé dans /usr/share/munin/plugins/

#sudo ln -s /usr/share/munin/plugins/fw_packets /etc/munin/plugins/fw_packets
#sudo ln -s /usr/share/munin/plugins/fw_forwarded_local /etc/munin/plugins/fw_forwarded_local
#sudo ln -s /usr/share/munin/plugins/fw_conntrack /etc/munin/plugins/fw_conntrack

#sudo ln -s /usr/share/munin/plugins/postfix_mailstats /etc/munin/plugins/postfix_mailstats
#sudo ln -s /usr/share/munin/plugins/postfix_mailvolume /etc/munin/plugins/postfix_mailvolume
#sudo ln -s /usr/share/munin/plugins/postfix_mailqueue /etc/munin/plugins/postfix_mailqueue

#sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
#sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
#sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

#sudo ln -s /usr/share/munin/plugins/netstat /etc/munin/plugins/netstat

Pour que netstat affiche des informations il faut configurer munin :

nano /etc/munin/plugin-conf.d/munin-node

Et rajouter

[netstat]
user root

et enfin un bon

#sudo /etc/init.d/munin-node restart

Kimsufi LAMP

Ma kim ne va ni me servir a gérer les DNS ni les MAIL. Pour la bonne raison que je considère ces services comme trop sensible pour que ce soit le même serveur qui les gère tous. Donc les DNS seront gérer par OVH et les mail par google avec son service personnalisé. La kim ne servira donc que de LAMP.

Alors on va commencer par le minimum vitale pour une bonne utilisation du serveur :

# sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential

J’en profite aussi pour mettre ntp et maintenir mon serveur à l’heure automatiquement :

#sudo apt-get install ntp ntpdate

A présent je vais attaquer le LAMP.

Alors mysql :

#sudo apt-get install mysql-server mysql-client libmysqlclient15-dev

Ma kim possedant un noyau ovh qui n’a pas la gestion des modules activer je me retrouve avec ces erreurs :

grep: /proc/modules: Aucun fichier ou dossier de ce type
ls: ne peut accéder /sys/module/apparmor: Aucun fichier ou dossier de ce type
grep: /proc/modules: Aucun fichier ou dossier de ce type
ls: ne peut accéder /sys/module/apparmor: Aucun fichier ou dossier de ce type
grep: /proc/modules: Aucun fichier ou dossier de ce type
ls: ne peut accéder /sys/module/apparmor: Aucun fichier ou dossier de ce type
FATAL: Could not load /lib/modules/2.6.24.5-xxxx-std-ipv4-32/modules.dep: No such file or directory
$Loading AppArmor module: Failed.

Mais cela ne gène en rien l’installation et le bon fonctionnement du serveur mysql.

Enfin on verifie que mysql est bien lancé et écoute :

#sudo netstat -tap | grep mysql
tcp 0 0 localhost.localdo:mysql *:* LISTEN 11766/mysqld

Ensuite viens apache 2.2 (faut prononcé apachi) :

#sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

Puis php5 et ruby (temps qu’a faire)

#sudo apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Sans oublier phpmyadmin

#sudo apt-get install phpmyadmin

Allez à présent de la configuration pour faire marcher le bousin.
Je commence par modifier les fichiers index par défaut en rajoutant ceux qui manque :

#sudo nano /etc/apache2/mods-available/dir.conf
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Ensuite j’active les modules suplémentaire dont j’ai besoin :

#sudo a2enmod ssl
#sudo a2enmod rewrite
#sudo a2enmod suexec
#sudo a2enmod include

Allez un petit reload d’apache pour vérifier que tout est ok avant de continuer la configuration.

#sudo /etc/init.d/apache2 force-reload

Maintenant on va plonger les doigts dans le apache2.conf

#sudo nano /etc/apache2/apache2.conf

La grande question du prefork et du worker. Pour ma part j’ai toujours lut que le worker était moins stable et plus gourmand que le prefork, je vais donc commenter le worker et configurer le prefork. Je vais mettre 150 client max ce qui est emplement suffisant pour une kim, ainsi que starter 20 server ce qui permetra de lisser le load en cas d’afflux de visiteurs. mon Spare est assez proche toujours pour lisser mon load et je donne 1000 request par child. Si j’avais un superplan j’aurais donné 4000 maxrequests et 250 maxclient.

StartServers       20
MinSpareServers      25
MaxSpareServers      30
MaxClients      150
MaxRequestsPerChild  1000

Décommenter le server-status et ne laisser l’accès que au localhost.


SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1

##
# Stat Systeme
##
Alias /tutu /var/www/munin

##
# Alias pour Phpmyadmin
##
Alias /toto /var/www/phpmyadmin

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

##
# Config tuning
##
ServerTokens Prod
ServerName EMAX
ServerSignature Email
ServerAdmin root@artiflo.net
ExtendedStatus On

Un dernier reload

#sudo /etc/init.d/apache2 force-reload

Cela devrait être bon à présent vous pouvez tester.

A présent je m’occupe des virtual host pour gérer les sites qui vont etre hebergé sur le serveur. Je vais prendre le cas de artiflo.net.

Je creer un fichier dans /etc/apache2/sites-available/ que je nomme artiflo.net, je ferais un fichier par site pour facilité la configuration. Et ensuite je créer un liens symbolique entre ce fichier et /etc/apache2/sites-enabled/. Sans oublié de supprimer le liens symbolique de default. Petite précision apache définis la priorité d’affichage des hôte virtuel par ordre alphabétique. C’est a dire que si vous voulez que votre site toto.com apparaisse avant titi.net il faut créer un liens symbolique de ce type :

#sudo nano /etc/apache2/sites-available/artiflo.net
#sudo ln -s /etc/apache2/sites-available/artiflo.net /etc/apache2/sites-enabled/000-artiflo.net

Je creer le repertoire qui sera accessible du web et je met les bon droits dessus.

#sudo mkdir /home/artiflo/www
#sudo chown -R artiflo.artiflo /home/artiflo/www

Alors écrivons le contenue du virtual host.

NameVirtualHost *

        ServerName www.florian-cristina.fr
        ServerAlias *.florian-cristina.fr
        ServerAdmin admin@florian-cristina.fr

        DocumentRoot /home/artiflo/www/florian-cristina.fr/

                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all

        ErrorLog /var/log/apache2/florian-cristina.fr.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

C’est mieux aussi si ceci est placé dans un des vhost :

Order deny,allow
Deny from all

Les mail a présent. Meme si ma kim ne va pas servir de pop elle va tout de meme pouvoir envoyé des mail avec le bon postfix :

#sudo apt-get install postfix

Enfin il reste a verifier que les configuration du serveur de mail sont bien celle que vous vouliez.

#sudo nano /etc/postfix/main.cf

A présent changer le nom d’host et aussi le relay pour pas quelle prenne pour elle les message de son propre domaine.

Stout.

Kimsufi et proftpd TLS

Aller un bon ubuntu 8.04 LTS tout neuf et c’est le début de l’installation des applicatifs. Let’s go pokemon !

Bon comme je suis pas demi-geek on va mettre du bon TLS avec le proftpd pour eviter que des kikoolol récupere mes login/pass ftp.

Alors dans la première partie on install proftpd normalement et dans la seconde avec TLS toussa.

#apt-get install proftpd

#sudo nano /etc/proftpd/proftpd.conf

ServerName "Kimounette"
Defaultroot ~
#Utilisateur Virtuel
AuthUserFile /etc/proftpd/ftpd.passwd
RequireValidShell off

#Optimisation du serveur FTP
UseReverseDNS off
IdentLookups off

#Activation de la reprise
AllowRetrieveRestart on
AllowStoreRestart on
AllowOverwrite on

Voila, enregistrez puis redémarrer proftpd.

Aller maintenant du bon TLS des familles

#sudo mkdir /etc/proftpd/ssl

Hop on creer le certificats SSL maison signé et reconnus par moi même tout seul.

#sudo openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Maintenant je vais dire a proftpd d’accepter les connexion TLS

#sudo nano /etc/proftpd/proftpd.conf

Dans mon cas j’ai deja un fichier tls de créer il me suffit de le décommenter. Mais comme je suis super feignant je préfère rajouter directement ceci dans le proftpd.conf sans rien décommenter :

TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired off

J’ai mis en off le TLSRequired comme cela si je suis chez moi bien au chaud et que je n’ai pas envie de faire des connexion sécurisé je peux aussi. C’est vachetement bien toussa.
C’est toujours le meme port simplement il va falloir dire à filezilla que c’est du FTPES (FTP sur TLS/SSL chiffrement explicite) et lui faire accepter le certificats que vous vous êtes créer un peut plus tôt.

Aller dernière étape pour ceux qui voudrait se creer des utilisateurs virtuel. Placez vous dans /etc/proftpd/ et adaptait cette commande a votre besoin:

# ftpasswd --passwd --name=toto --uid=1000 --home=/home/artiflo --shell=/bin/false