[IPCOP-2.1.0] Compiler ClamAV

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. Une description est donnée sur le portail phénIXUS : http://www.ixus.net/ipcop/.

[IPCOP-2.1.0] Compiler ClamAV

Message par xelaback » 26 Avr 2012 13:25

Bonjour,
Deux problèmes sont posés dans ce message :
- compiler IPCop en intégrant le paquet ClamAV.
- compiler IPCop en intégrant le Kernel 3.3.3
En fait ce qui serai parfait c'est une documentation très pointu sur la compilation de nouveaux paquets, de kernel.... pour IPCop.

* Contexte : professionnel
Nous souhaitons créer une image IPCop contenant la dernière version d'IPCop et certains add-ons, ClamAV par exemple. Pourquoi pas faire tourner cette version sous le dernier Kernel stable : 3.3.3 ?
Cet OS sera placé dans une architecture RED/ORANGE (3 serveurs)/BLUE (10 postes)/GREEN(20 postes).

* Besoin :
Avoir une image contenant tous les add-ons ci dessous de manière à la dupliquer facilement si besoin.
- FireWall (integré à IPCop en natif)
- Filtrage URL (integré à IPCop en natif)
- antiVirus (CamAV)
- antiSpam (SpamAssassin)
- IDS
- Kernel (stable et très à jour)

* Schéma :
Internet <-> Box(s) <-> IPCop <-> Lan (ORANGE)
<-> Lan (BLUE)
<-> Lan (GREEN)

* Firewall :
IPCop 2.1.0 (svn IPCop actuel)

* Adressages utilisés :
Pas encore défini, mais n'est pas nécessaire pour répondre à la question.

* Problèmes rencontrés :
ClamAV :
- lfs créé
- make.sh prefetch est [DONE][DONE], pas de problème.
C'est à partir de ce moment là que je ne suis plus sûr de ce que je fais.
- make.sh modifié (ajout de "chroot_make clamav")
- lfs modification de la fin du code avec le script d'installation classique ClamAV :
Code : Tout sélectionner
./configure
./make
./make install

Ce qui donne pour le ./make.sh build :
Fail, avec dans le latestinterrupt.log :
Code : Tout sélectionner
+ cd /usr/src/lfs
+ make -f clamav LFS_BASEDIR=/usr/src install
====================================== Installing clamav-0.97.4 ...
Install started; saving file list to /usr/src/lsalr ...
cd .//usr/src/clamav-0.97.4 && ./configure # -default -confdir=/etc +lang none
/bin/sh: line 0: cd: .//usr/src/clamav-0.97.4: No such file or directory
make: *** [/usr/src/files_i486/03_ipcop/clamav-0.97.4] Error 1


Ma question étant :
- qu'est-ce que j'ai oublié ?
- le lfs (pour build) est-il mauvais ?
- la méthode est-elle la bonne ?

Ceci étant la manière propre. La manière moins propre :
Placer l'archive ClamAV
Code : Tout sélectionner
./make shell

Puis créer le user/groupe clamav (obligatoire)
Puis
Code : Tout sélectionner
.configure
.make
.make install


Tout fonctionne, mais plusieurs questions :
- Faut-il faire un make.sh build pour avoir ces modifications dans l'image.
- ClamAV est-il correctement installé sur la nouvelle image (j'en suis à l'étape : essayer de faire fonctionner ClamAV sur cette nouvelle image sans y parvenir). Les modifications ont-elles été prises en compte ?


Le deuxième point étant :
Mettre à jour le Kernel. La première méthode précédente a été testée, sans succès (les paquets Linux et Linux-header font appel à trop de choses pour que je m'en sorte).

Pourquoi travailler dans le make.sh shelle est consideré comme : »travailler à la mano » from Franck78 ? (cf post doc ci-dessous)

En espérant que vous pourrez me fournir des explications face à l'intégration de ClamAV au sein de l'image IPCop (et pourquoi pas le nouveau Kernel également). N'hésitez pas à demander des précisions, je n'ai pas décrit tous les tests effectués.
Je vous remercie par avance !

* Recherche de documentation :
J'ai arpenté les forums de développeurs IPCop et discuté en particulié avec Gilles qui est très pointu, j'ai aussi regardé ce forum sur lequel je post aujourd'hui, je vous mets les posts intéressants pour répondre à mon problème :

Il faudrait que tu compiles ton serveur avec la toolchain actuelle. Gilles publie celle ci dans le coin download de sourceforge/ipcop. 
Download, dzipage, make.sh shell, et voila tu es dans l'austère environnement de compilation de tout les outils d'IPCop. 
A toi de satisfaire les dépendances de package, ou si tu as une bonne machine, contruit simplement tout. 
~5 heures sur sur XP2400/512Mo 


Expliquer quoi? 
Si tu tiens absolument à compiler le driver wifi pour IPCop, la procédure à suivre est simple. Mais surement pleine d'embuches. 
1) Apprendre a compiler IPCop comme nous quand on le délivre au public. Facile, plein de docs la dessus. 
2) Mettre ses mains dans le cambouis! En clair, appréhender un minimum la construction de l'IPCop pour repérer l'endroit idéal pour insérer la compilation du driver wifi dans la chaine. 
ou 
2 bis) Méthode bourrin, se mettre sous l'environnement IPCop (make.sh shell) 
CODE: TOUT SÉLECTIONNER
shell)
  936    # enter a shell inside LFS chroot
  937    # may be used to changed kernel settings
  938    prepareenv
  939    entershell
et y aller à la mano.


Le message que j'ai posté sur le forum développeurs IPCop :
Hello,
I am newcomer  in this mailing list and my english is'nt the best one ! Now i can begin :)

I should like to compil IPCop with the last stable Kernel : 3.3.2 (from http://kernel.org/).

So for that I did :
  - Usual process to compile (http://sourceforge.net/apps/trac/ipcop/ ... ingHowToV2)
  - The uppgrade of the lfs (download link and checksum) :
    ./trunk/lfs/linux
    ./trunk/lfs/linux-headers

So the "./make.sh prefetch" worked well .
But I got a problem in "./make.sh build" : The compil blocked at  "udev". And I didn't find the way to solve it...

The error from log is :
*****************************

extras/v4l_id/v4l_id.c:31:28: error: linux/videodev.h: No such file or directory
extras/v4l_id/v4l_id.c: In function 'main':
extras/v4l_id/v4l_id.c:42: error: storage size of 'v1cap' isn't known
extras/v4l_id/v4l_id.c:85: error: 'VIDIOCGCAP' undeclared (first use in this function)
extras/v4l_id/v4l_id.c:85: error: (Each undeclared identifier is reported only once
extras/v4l_id/v4l_id.c:85: error: for each function it appears in.)
make[3]: *** [extras/v4l_id/v4l_id.o] Error 1
make[3]: *** Waiting for unfinished jobs....
udev/udev-watch.c: In function 'udev_watch_begin':
udev/udev-watch.c:124: warning: ignoring return value of 'symlink', declared with attribute warn_unused_result
udev/udev-event.c: In function 'udev_event_apply_format':
udev/udev-event.c:377: warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/udev-166'
make: *** [/usr/src/files_i486/02_base/udev-166] Error 2

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

After that I did some search and I find your post (here below).

My question is :
Is it possible to have the last stable Kernel and how ?
Or is it not yet possible ?

Thank you !
Xel


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

Thinking more, I am unsure kmod should be on 2.1 release.

There has been some kernel changes related to kmod.
It is unlikely now those changes will be backported to kernel 3.0.

We should be able to live with last udev version before kmod,
module-init-tools-3.16 like everyone else do actually.
kmod should only be a target for us when switching to the next kernel after
3.0.x.

Gilles
***************************************************************

What are the list of issues to change to the latest LINUX kernel?

Those of you who are not familiar with kmod here's an explanation from the
2ed of the LINUX device driver book from O'Reilly ...
http://www.xml.com/ldd/chapter/book/ch11.html#t1

*..."The idea behind kmod is simple, yet effective. Whenever the kernel
tries to access certain types of resources and finds them unavailable, it
makes a special kernel call to the kmod subsystem instead of simply
returning an error. If kmod succeeds in making the resource available by
loading one or more modules, the kernel continues working; otherwise, it
returns the error..."*


Here's more information from IBM Developer-Work about LINUX Kernel Modules,
LKMs...
http://ibm.co/8VOn2k

...or it is KMOD <http://www.kmod.com/main.html>, a radio station 97.5 in
Tulsa, Oklahoma USA whose racy front page tells you they know nothing about
the LINUX kernel ... and for that matter not much of anything.

Cheers,
John S Wolter
"We love LINUX we just have a funny way of saying it."


On Sun, Mar 4, 2012 at 9:10 AM, Gilles Espinasse <g.esp@...> wrote:

> Thinking more, I am unsure kmod should be on 2.1 release.
>
> There has been some kernel changes related to kmod.
> It is unlikely now those changes will be backported to kernel 3.0.
>
> We should be able to live with last udev version before kmod,
> module-init-tools-3.16 like everyone else do actually.
> kmod should only be a target for us when switching to the next kernel after
> 3.0.x.
>
> Gilles
>
>
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> IPCop-devel mailing list
> IPCop-devel@...
> https://lists.sourceforge.net/lists/lis ... pcop-devel
>



--
Cheers
John S Wolter
***************************************************************
On 2012-03-04 15:10, Gilles Espinasse wrote:
> Thinking more, I am unsure kmod should be on 2.1 release.

I tend to agree.

> There has been some kernel changes related to kmod.
> It is unlikely now those changes will be backported to kernel 3.0.
>
> We should be able to live with last udev version before kmod,
> module-init-tools-3.16 like everyone else do actually.
> kmod should only be a target for us when switching to the next kernel after
> 3.0.x.

I found changing udev to latest version requires (at least, more
certainly to come) newer linux-headers, adding /run, make changes in our
handling of networking interfaces since persistent net devices are gone.
Our initramfs still does not properly boot after all that fixed.
So I'd be quite happy to stick with "older" udev version, and save all
those changes to a later day.


Olaf
***************************************************************
Something we could consider is dropping floppy disk installation.


Olaf
***************************************************************
----- Original Message -----
From: john s wolter
To: IPCOP devel
Sent: Sunday, March 04, 2012 5:53 PM
Subject: Re: [IPCop-devel] kmod not for 2.1


> What are the list of issues to change to the latest LINUX kernel?
>
This is not our plan to switch to linux-3.2 or 3.3 yet.
The reason to change from 2.6.32 to 3.0 is that 2.6.32 start to be old.
So there is a decline in actual hardware support. We had to add some
external driver update again.
As Greg KH announced he will no more release 2.6.32 stable update (he will
probably be replaced), this is a good timing to switch.

Gilles
***************************************************************
***************************************************************
xelaback
 
Message(s) : 3
Inscription : 26 Avr 2012 12:38

Re: [IPCOP-2.1.0] Compiler ClamAV

Message par Franck78 » 26 Avr 2012 13:49

Salut,

Changer de kernel par rapport à la branche actuelle est une mauvaise idée. Très mauvaise même.

Ajouter un produit:
Ca c'est très facile par contre. Il n'y a rien de mystérieux, juste suivre le modèle en place pour reproduire.

J'ai du temps à vendre pour travailler la dessus par exemple. Le résultat sera le patch à ajouter au svn (local) ainsi que les compilés nouveaux résultant.

Intégrer finement un produit:
=écrire un GUI, gérer les logs, gérer les règles updates, les traductions, etc etc
Ca c'est un développement complèt qui peut prendre plusieurs jours !

Franck
Franck78
 
Message(s) : 525
Inscription : 11 Sep 2011 16:04
Localisation : France

Re: [IPCOP-2.1.0] Compiler ClamAV

Message par xelaback » 26 Avr 2012 14:11

Merci de ta réponse rapide !

Mais j'ai besoin de plus de précisions. (si il y a des docs/tutos sur le sujet qui me sont inconnues, ne pas hésiter à m'en faire part)
Tout d'abord ok, je mets de côté l'intégration du nouveau Kernel. Je recentre mes questions sur l'intégration d'un paquet supplémentaire, ici ClamAV.

Et tu n'as pas répondus à la question :
Pourquoi intégrer les add-ons via make.sh shell est-il une méthode sale ?

Quand tu dis par exemple :
juste suivre le modèle en place pour reproduire.


Tu parles de modifier le lfs et le make afin d'intégrer au script le téléchargment, la configuration et la compil de ClamAV.

Voici par exemple mon lfs (ClamAV) :
###############################################################################
# Definitions
###############################################################################

include Config

PKG_NAME = clamav
VER = 0.97.4
HOST_ARCH = all
OTHER_SRC = yes
THISAPP = $(PKG_NAME)-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = http://fossies.org/unix/misc/
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP)

###############################################################################
# Top-level Rules
###############################################################################

objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = dc1e5abc093b11f120e4eac94a7f78aa
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))

###############################################################################
# Downloading, checking, md5sum
###############################################################################

$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)

###############################################################################
# Installation Details
###############################################################################

$(TARGET) : $(firstword $(MAKEFILE_LIST)) $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)

cd ./$(DIR_APP) && ./configure # -default -confdir=/etc +lang none
make
make install

@rm -rf $(DIR_APP)
@$(POSTBUILD)


C'est à partir de
# Downloading, checking, md5sum
que je ne suis plus sûr de ce que j'écris.
xelaback
 
Message(s) : 3
Inscription : 26 Avr 2012 12:38

Re: [IPCOP-2.1.0] Compiler ClamAV

Message par Franck78 » 27 Avr 2012 00:49

Méthode sale:
je n'ai pas le contexte. Sans doute parceque pas reproductible facilement.

Tutos: quand j'ai débuté avec IPCop 1.4, j'ai observé. Surtout dans le cvs, les patches qui changent la version d'un programme. Ou ceux qui rajoute un programme. Le patch donne tous les endroits ou intervenir...
Il faut juste réfléchir à pourquoi cela fait telle action. Car il n'y a pas à ma connaissance de tuto approfondis.

Le lfs
-indiquer l'origine du fichier contenant les sources et son md5 est trivial.
-ensuite pour obtenir un résultat, lecture de l'erreur de compilation dans le log qui va bien, corriger le lfs, relancez make.sh.

Ensuite vient le choix des fichiers à mettre dans l'iso et la liste de ceux qui ne servent pas.
Franck78
 
Message(s) : 525
Inscription : 11 Sep 2011 16:04
Localisation : France

Re: [IPCOP-2.1.0] Compiler ClamAV

Message par xelaback » 27 Avr 2012 09:38

Merci bien, ok pour la méthode sale, je vais éviter de l'utiliser.

Et sinon, j'ai réussi !! (Boulet de première, j'ai oublié un cd dir_app dans le lfs.....)
Donc tout compile proprement et le clamav apparaît bien dans ./trunk/build_i486/ipcop/etc/clamav... pas de problème.

Encore un souci, dans mon image .iso ! ClamAV n'apparait pas. J'ai installé et regardé dans le fichier ./trunk/build_i486/installer/cdrom/ipcop-2.1.0.tar.gz dans lequel ClamAV n'apparait pas.
Apparemment la construction du tar omet le répertoire clamav :(

Quel est le lien entre
./trunk/build_i486/ipcop/....
et
./trunk/build_i486/installer/cdrom/ipcop-2.1.0.tar.gz

Ou alors comment construire ce ipcop-2.1.0.tar.gz ?

De plus, je constate qu'il y a un fichier clamav vide dans ./trunk/files_i486/03_ipcop/
Or les autres fichiers dans ce même répertoire contiennent les arborescences des fichiers que l'on trouve dans le tar et la distrib ipcop installée.
Y a t-il un lien ? Comment le génère-t-on ?

Une autre question de pure culture G que je te pose :
Pourquoi continues tu la version 1.4.24 ? IPCop 2.x.x c'est pas bien ?

Cordialement,
Xel
xelaback
 
Message(s) : 3
Inscription : 26 Avr 2012 12:38

Re: [IPCOP-2.1.0] Compiler ClamAV

Message par Franck78 » 27 Avr 2012 12:15

Franck78 a écrit :Tutos: quand j'ai débuté avec IPCop 1.4, j'ai observé. Surtout dans le cvs, les patches qui changent la version d'un programme. Ou ceux qui rajoute un programme. Le patch donne tous les endroits ou intervenir...
Franck78
 
Message(s) : 525
Inscription : 11 Sep 2011 16:04
Localisation : France


Retour vers ipcop

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron