OVH Cloud OVH Cloud

[freebsd] Blinder le systeme

51 réponses
Avatar
MaXX
Bonjour à tous,

Désolé de crossposter, mais je ne parviens pas à choisir le groupe le plus
approprié, merci de placer le suivi dans le bon groupe.

Je compte réinstaller le serveur web du boulot début Juillet afin de patcher
toutes les applications et l'OS en un coup et en profiter pour remettre au
propre mes procédures.

PME de 5 personnes; 2 site web sous apache-2.0.53_1 + squid-2.5.9_3 (2
failles) derrière un pare-feu géré par notre FAI, 4 bases
postgresql-server-7.4.7_2, isc-dhcp3-server-3.0.1.r14_6, pas de serveur
mail, sauvegarde sur DVD-RW tout les 2 jours. L'OS a été mis à jour le 21
avril par un buildworld, mais de nouvelles failles sont apparues depuis.

Une fois que j'aurais tout terminé, j'aimerais faire "une sorte de photo" de
tous les exécutables du système (nom de fichier / hash MD5) et la graver
sur CD afin de vérifier toute les nuits (au pire à intervalle régulier en
fonction du temps nécessaire) qu'il n'y a aucune altération
(rootkit/corruption d'origine suspecte).

Bien que ce soit facile à mettre en place (et détectable) via un crontab, je
me demande si c'est une mesure d' _alerte_ suffisante et si il n'y a pas
quelque chose de plus simple/sur.

L'idée de base est d'être prévenu par mail le plus rapidement possible de
toute modification, quitte à mettre le serveur hors ligne avant qu'il n'ait
pu faire trop de dégâts.

Pour l'instant, cette machine tourne en mode "parano" (kern.securelevel=5),
system accouting activé, j'essaie d'inspecter les logs tout les 2 à 4
jours, mais je ne me sens pas assez à l'aise.

Si quelqu'un peut me donner des informations pour blinder le système...

J'en suis au point de vouloir booter la machine sur un cd live avec
uniquement les données sur le disque dur; quitte à sacrifier qq Mb de
RAM... Bonne idée, perte de temps ou pur délire?

Vos idées, avis, expériences et commentaires sont les bienvenus..

Merci d'avance,

--
MaXX

10 réponses

1 2 3 4 5
Avatar
Benjamin Pineau
Le 23 Jun 2005 00:08:48 GMT,
MaXX écrivais:

postgresql-server-7.4.7_2, isc-dhcp3-server-3.0.1.r14_6, pas de serveur
mail, sauvegarde sur DVD-RW tout les 2 jours. L'OS a été mis à jour le 21
avril par un buildworld, mais de nouvelles failles sont apparues depuis.


Voilà, je crois que c'est le point important. Etant donné la quantité de
scripts kiddies à l'oeuvre, il vaut mieux (de loin) consacrer son temps
à maintenir très régulièrement ses machines à jour que d'essayer de construire
des cathédrales (et oui je sait, c'est moins gratifiant).

Une fois que j'aurais tout terminé, j'aimerais faire "une sorte de photo" de
tous les exécutables du système (nom de fichier / hash MD5) et la graver
sur CD afin de vérifier toute les nuits (au pire à intervalle régulier en
fonction du temps nécessaire) qu'il n'y a aucune altération
(rootkit/corruption d'origine suspecte).


C'est le moment de signaler l'existence de mtree(8), qui est très bien, et
installé par defaut sur fribi.
Bien sûr pour avoir des résultats fiables, il vous faudra utiliser une version
de ce logiciel (ou d'un autre) et de tout les fichiers dont il dépend
(bibliothèques dynamiques, fichiers de configuration, base de signatures, cron
...) stockés sur un média en lecture seule. Vous vous rendrez facilement
compte qu'il est pratiquement impossible, dans l'absolu, de couvrir toute la
chaine des interdépenances logicielles, un audit manuel régulier est donc
un complément utile.
Il faudra aussi maintenir la base de signatures après les mises à jour du
système, ou trier les alertes concernant les changements légitimes.

Bien que ce soit facile à mettre en place (et détectable) via un crontab, je
me demande si c'est une mesure d' _alerte_ suffisante et si il n'y a pas
quelque chose de plus simple/sur.


Pour la sureté, celà dépend grandement de la confiance que vous avez dans
les divers systèmes (logiciels, réseaux ...) sollicités pour les alertes
(par ex. votre serveur de courriel est-il suffisament sûr ? le message peut-il
être modifié lors de son parcours, avant de s'afficher dans motre MUA ?...).

Pour l'instant, cette machine tourne en mode "parano" (kern.securelevel=5),
system accouting activé,


... mais pas à jour, c'est dommage.

j'essaie d'inspecter les logs tout les 2 à 4
jours, mais je ne me sens pas assez à l'aise.


Il existe des logiciels qui facilitent la lecture des journaux (notamment en
triant les évenements rares du "bruit" habituel), si celà peut vous aider...

Si quelqu'un peut me donner des informations pour blinder le système...


Le tenir à jour.

Et plus accessoirement, redoubler le firewall de votre FAI (plutot avec pf
ou ipf que ipfw amha) de façon stricte (interdire les connexions impromptues
vers l'exterieur aussi (vs backdoors)...), utiliser mod_security,
mod_dossevasive, chrooter les services, installer et paramtérer un IDS,
sysloguer sur une machine distante, auditer de temps en temps etc.

J'en suis au point de vouloir booter la machine sur un cd live avec
uniquement les données sur le disque dur; quitte à sacrifier qq Mb de
RAM... Bonne idée, perte de temps ou pur délire?


C'est aussi une très bonne façon de ne pas changer les mauvaises
habitudes concernant les mises à jour, étant donné que les upgrades
seront beaucoup plus difficiles.

Par ailleur je ne sait pas si vous avez vraiment confiance dans la robustesse
(en terme de fiabilité, pas de sécurité) des lecteurs de cdrom, mais ce
n'est pas mon cas.

Pour finir, s'il reste des un disques dur avec des zones accessibles en rw,
un malotru peut y trouver l'opportunité de placer sa backdoor ou de faire
diverses bétises (la solution n'est donc pas fiable à 100%): le jeu en
vaut-il la chandelle ?

Avatar
Nicob
On Thu, 23 Jun 2005 15:18:10 +0000, Benjamin Pineau wrote:

Il existe des logiciels qui facilitent la lecture des journaux (notamment
en triant les évenements rares du "bruit" habituel), si celà peut vous
aider...


Pour commencer au plus simple, l'ancêtre 'logcheck' marche toujours aussi
bien. Et il est super facile à configurer.

Si quelqu'un peut me donner des informations pour blinder le
système...


Le tenir à jour.


;-)

[...] utiliser mod_security, mod_dossevasive [...]


Euh, pour moi, moins il y a de code qui tourne, moins il y a de chances
d'avoir des problèmes. Une recherche Google me donne au moins un bug pour
chacun de ces modules :

http://www.securityfocus.com/bid/9885
http://security.lss.hr/en/index.php?pageÞtails&ID=LSS-2005-01-01

Pour finir, s'il reste des un disques dur avec des zones accessibles en
rw, un malotru peut y trouver l'opportunité de placer sa backdoor ou de
faire diverses bétises


Sous Linux, il y a /dev/shm qui est bien pratique comme zone en rwx (par
défaut). D'ailleurs, j'ai vu plusieurs exploits (par exemple pour
awstats) qui utilisaient cette facilité ...


Nicob


Avatar
Mollo
In article <d9dvat$11h4$,
says...

Mollo wrote:

L'idée de base est d'être prévenu par mail le plus rapidement po ssible de
toute modification, quitte à mettre le serveur hors ligne avant qu'i l
n'ait pu faire trop de dégâts.
http://la-samhna.de/samhain/

peut faire ça et t'alerter en cas de modification.


J'ai un peu feuilleté la documentation et il me semble très sympa ce petit
soft... Je vais faire des tests, voir si il est compliqué à configure r
correctement.


Il y a quelques temps je suis passé au péage de l'admin, je n'avais
jamais fait de rm * -rf, c'est tombé sur la faille d'awstats, un garçon
du soleil levant m'a offert un beau /sbin/init tout neuf.

Un peu de chance et la monnaie du péage ont fait que s'en est resté l à
sans dégats. le plus dur c'est que le doute persiste toujours un peu.

Le MD5 c'est bien, mais depuis 1995 RSA nous dit que c'est pas tout à
fait idéal pour des choses plus grosses qu'un mot de passe, quoique. Et
quand on a que ça, on peut toujours douter.

Donc plutôt qu'avoir globalement confiance mais avec toujours un petit
doute, j'ai préféré mettre samhain, on devient parano mais ca dure pa s
longtemps ;-)

Le tout est de ne pas monter une usine à gaz, si tu as la possibilité d e
déporter les alertes et un client sur un serveur externe c'est mieux, je
pense.

Note que je ne l'ai employé que sous Linux, mais en regardant un peu le
code, propre, je pense que ça doit pas être bien compliqué sous *BSD.

Ciao'
Mathieu



Avatar
MaXX
Mollo wrote:
Donc plutôt qu'avoir globalement confiance mais avec toujours un petit
doute, j'ai préféré mettre samhain, on devient parano mais ca dure pas
longtemps ;-)
Le tout est de ne pas monter une usine à gaz, si tu as la possibilité de
déporter les alertes et un client sur un serveur externe c'est mieux, je
pense.
Note que je ne l'ai employé que sous Linux, mais en regardant un peu le
code, propre, je pense que ça doit pas être bien compliqué sous *BSD.
Ne te tracasse pas il est dans les ports de freebsd... je suis en train de

lire la doc pour ne pas faire de bétises...

Merci du tuyau..
--
MaXX

Avatar
MaXX
Yttrium wrote:
Bjr,
Tu bosses pour la DST Tant de précautions me semblent relever de la
paranoïa..


Je ne travaille pas pour eux... Mais j'accorde la même importance à une
adresse email qu'à un numéro de carte Visa... Paranoïaque peut-être, mais
je préfère bouffer sur mon temps libre que de me retrouver un jour avec la
liste de nos membres à vendre sur la toile (où le patron qui me fusille)...

Certes, c'est mieux d'être trop précautionneux que pas assez..
Mais là, je trouve que ca fait beaucoup tout de même..
Dans la mesure où la machine en a dans les tripes (tout est relatif

cependant), je préfère qu'elle ne fasse que ce que JE veux...

Peut etre (même probablement) ais je tort, et ne suis je pas suffisament
conscient des dangers.


Pour moi un exemple simple: Tu t'abonne à une mailing-list respectable, et
la machine qui gère le mailing se fait hacker par un zozo quelconque qui
publie/revend ton mail perso au plus offrant; Tu est heureux de recevoir
des tonnes de crasses tout les jours?
Même si ça ne te fais ni chaud ni froid, je doute que l'image de marque du
site en question ne s'en trouve pas affectée..

Cela dit, tout cela dépend bien sur de la sensibilité des donnnées..
D'accord avec toi, mais plus je sécurise ma machine, mieux je me sens..


Salutations.
A toi aussi...


--
MaXX

Avatar
news
Dominique Blas wrote:

Du même coup, cette machine permet de vérifier l'accessibilité de la
machine de production et d'informer par SMS (rupture protocolaire) le
cas échéant.
J'ai mis en place ce type de système il ya plusieurs années pour la
partie Web : contrôle régulier (tous les 1/2 heure ou toutes les heures)
et remplacement avec alerte si différence. Les développeurs mettaient à
jour la machine de surveillance bien entendu.
Efficace contre les << defacements >>, pratique pour une
responsabilisation par métiers de l'exploitation (seuls les
administrateurs et opérateurs ont accès à la production, pas les
développeurs) et utile pour l'administration de manière générale.



Je pense qu'on n'est plus specialement lie a freebsd, donc je voudrais
avoir un avis sur 2 idees potentiellement idiotes mais c'est pour la
culture :

- Quelle serait l'efficacite d'un serveur qui servirait des pages web
lues sur une machine distante ? Je pense a une machine frontale qui
aurait une seconde carte reseau pour prendre ses donnees sur un serveur
nfs en mode read-only situe sur un reseau pas directement accessible de
l'exterieur. Est-ce que ce serait efficace (en terme de secu) ou est-ce
que ca apporterait plus de probleme que de solutions?

- Est-ce que faire un serveur virtuel peut aider (exemple usermode-linux
sous linux, mais y'a pas que ca)? De mon point de vue ca permettrait
d'avoir sur une meme machine une image d'une partition de reference et
un serveur virtuel tournant sur une copie de cette partition. Est-ce que
ca parait viable ou est-ce qu'il est trop facile de remonter du serveur
virtuel a la vraie machine?

Est-ce que je suis trop parano/complique/irrealiste?

Avatar
MaXX
Dominique Blas wrote:
[...]
[...]

C'est elle qui vérifie, via un ssh par exemple, les checksums des
différents fichiers. Il existe des applications toutes faites pour
parcourir une arborescence ou il y a toujours la solution du script
maison. Ce n'est détectable que si l'on observe le journal (si SSH) et il
y plusieurs façons de rendre cela invisible (sauf à effectuer un netstat
bien entendu).
Je 'google-ise' sur ce dernier point... Mais samhain me plait bien dans ce

rôle.

Du même coup, cette machine permet de vérifier l'accessibilité de la
machine de production et d'informer par SMS (rupture protocolaire) le
cas échéant.
SMS? Short Message System? Je cherche désespérément un soft qui peut en

envoyer via un modem RTC (en cas de panne du routeur ADSL). Ca existe sous
Windows mais je n'ai pas encore trouvé sous Linux/*BSD.

J'ai mis en place ce type de système il ya plusieurs années pour la
partie Web: contrôle régulier (tous les 1/2 heure ou toutes les heures)
et remplacement avec alerte si différence. Les développeurs mettaient à
jour la machine de surveillance bien entendu.
Efficace contre les << defacements >>, pratique pour une
responsabilisation par métiers de l'exploitation (seuls les
administrateurs et opérateurs ont accès à la production, pas les
développeurs) et utile pour l'administration de manière générale.
J'endosse tous ces rôles... Mais je suis très (très) loin d'être une bête...

J'essaye de faire de mon mieux cependant...

J'en suis au point de vouloir booter la machine sur un cd live avec
uniquement les données sur le disque dur; quitte à sacrifier qq Mb de
RAM... Bonne idée, perte de temps ou pur délire?
Question de coût ... comme d'hab. Si pb survient durant ton absence

(vacances, maladie, déplacement) qui fait quoi ? Normalement il suffit
de rebooter mais ... si ça se passe mal ?
C'est la raison pour laquelle je veux vérifier que mes procédures sont OK et

que "n'importe qui" qui a déjà un minimum d'expérience avec la ligne de
commande est capable de le faire.

As-tu fait passer les consignes de ne PAS, sous aucun prétete, retirer
le CD ?
J'ai un lecteur 'spécialement' conçu dans ce but sur mon bureau (couroie

d'entraînement du plateau retirée et switch désoudé) il s'ouvre toujours
avec un trombone.

Dans cette optique, le mieux est de booter sur une CF en lecture seule.
Au moins la CF est à l'intérieur et personne ne risque de la retirer par
inadvertance (ce qui serait le cas d'une clé USB également).
Faudra que j'essaye.. ça a l'air moins pelant à mettre à jour que le le

CD-RW...

Il faut gérer par niveau : sécurité des données, sécurité des accès,
sécurité de l'OS, supervision, maintenance, alignement avec la
stratégie, etc.
Ainsi que par périmètre : l'entreprise, le personnel, l'extérieur, les
sous-traitants, stagiaires, le dirlo, etc.
Je suis en train de pousser pour acheter une vraie armoire ventilée pour

mettre les machines, plutôt d'un stupide machin que je sais ouvrir avec un
ouvre bouteilles.
Quand au réseau "interne", il est super facile à pénétrer... Je ne serais
averti que trop tard de la présence d'une nouvelle adresse MAC sur le
réseau (arpwatch).

Dans bien des cas l'hébergement pro permet de s'affranchir du pb de
vacance et de manque de personnel qualifié. Mais c'est cher.
Ensuite c'est encore une question d'argent.
Envisager 2 machines, hébergées en 2 endroits différents qui se
surveillent l'une l'autre et qui prennent chacune le relais de l'autre
ça se fait (y compris avec des bases de données) mais sans astreinte
c'est de la haute-voltige.
Au niveau de la surveillance c'est à peu de chose près ce qu'il se passe...

Mon serveur perso surveilles certaines choses à distance via SSH (sFTP des
logs, dump des db et deux ou trois babioles dans le genre).

Ca fonctionne bien, très bien jusqu'au jour où ... ça ne fonctionne plus
parce que ceci ou cela.
Et c'est justement un jour où tu es parti en trekking en Mongolie que
cela se produit.
Comme tu dis ça je sens que je vais relire à deux fois les clauses de mon

assurance voyage quand je vais partir en Australie...

Sécuriser a toujours un revers : les coûts. Au fur et à mesure les coûts
diminuent pour une même parade mais d'autres menaces apparaissent.
Les coûts (mon temps) je m'en préoccupe peu, je met en place au boulot, je

répercute chez moi donc j'allie l'utile à l'agréable en quelques sortes. Je
ne me casses pas la tête pour des heures (je sais je suis con).

Les failles c'est une chose mais toutes ne sont pas critiques, tu n'es
pas concerné par tous les avis paraissant et selon ce que tu accueilles
tu seras plus ou moins candidat à l'attaque (même si celles-ci ont
tendance à pratique le systématisme du fait des scripts automatiques
[mais l'injection SQL sur une appli perso n'est pas encore le fait de
scripts automatiques).
Moins il y en en a mieux je me porte et plus je suis résistant au

ScriptKiddies lambda, je crois que personnes n'est à l'abri d'un type qui
soit plus à l'aise avec un désassembleur qu'avec une femme. Ca relève plus
du hasard/intérêt/parano.

Donc sécurise à mort si tu veux mais pense au reste : qualification
nécessaire en ton absence, niveau de service aux clients ainsi qu'au
personnel, procédure de mise à jour (mieux vaut disposer de 2 machines
dans ce cas cela évite l'interruption de service).
Dans de nombreux cas on te reprochera bien davantage d'impacter le temps
de service de la machine avec tes considérations hautement sécuritaires
que de laisser entrer quelques troyens inoffensifs parfois.
Malheureusement, je doute qu'on me le reproche, vu que je suis obligé de

repasser régulièrement sur toutes le machines pour vérifier que les
antivirus sont à jour. Je pourrais encore ajouter la liste grandissante des
ACL de squid pour barrer l'accès à des sites douteux voire pire...

db




--
MaXX


Avatar
Fabien LE LEZ
On 24 Jun 2005 07:12:25 GMT, MaXX :

Tu t'abonne à une mailing-list respectable


Tu t'abonnes à une mailing-list avec ta vraie adresse e-mail, toi ?
Généralement, on utilise un alias pour ça.

Avatar
Stephane Zuckerman
Tu t'abonne à une mailing-list respectable


Tu t'abonnes à une mailing-list avec ta vraie adresse e-mail, toi ?
Généralement, on utilise un alias pour ça.


Moi je m'abonne avec un vrai email, qui ne sert qu'à ça :-]

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)


Avatar
MaXX
Fabien LE LEZ wrote:

On 24 Jun 2005 07:12:25 GMT, MaXX :

Tu t'abonne à une mailing-list respectable


Tu t'abonnes à une mailing-list avec ta vraie adresse e-mail, toi ?
Généralement, on utilise un alias pour ça.
Je n'ai que des vraies adresses... Et étonnament mon spam-assassin n'est pas

mis à l'épreuve (1 ou 2 spam/jour vais pas en mourir)...

--
MaXX


1 2 3 4 5