View previous topic :: View next topic |
Author |
Message |
pixnet n00b
Joined: 06 Nov 2004 Posts: 57
|
Posted: Fri Dec 03, 2004 12:00 am Post subject: [SECURE] Securiser le Kernel ? |
|
|
Bonjour,
Je voudrai savoir si il y a une solution pour proteger son système d'un eventuel code du genre
Code: |
while (1)
{
fork()
}
|
qui fait planter la machine pratiquement instantanement....
Je fourni des comptes SSH a des utilisateurs pour le permettre de developper en C et je me doute bien que certains petits malins essayerons de faire ce genre de programmes, et je voudrai eviter cela.
Merci! |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Fri Dec 03, 2004 2:07 am Post subject: |
|
|
Limite le nombre de processus qu'ils peuvent avoir lances en meme temps a 100 ? Ca marcherait ... ? _________________ Votre moment detente
What is the nature of conflict? |
|
Back to top |
|
|
siDeb_31 Apprentice
Joined: 03 Oct 2004 Posts: 175 Location: Toulouse (FR)
|
Posted: Fri Dec 03, 2004 7:52 am Post subject: |
|
|
Question est très interressante, ça m'interresse également.
D'ailleur si vous avez des doc,faq ou autre sur le thème je suis prenneur. |
|
Back to top |
|
|
genAlphA n00b
Joined: 26 Apr 2002 Posts: 14 Location: france
|
Posted: Fri Dec 03, 2004 8:34 am Post subject: |
|
|
man ulimit _________________ You don't need reasons when you've got Linux |
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Fri Dec 03, 2004 10:37 am Post subject: |
|
|
genAlphA wrote: | man ulimit |
j'espère que tu parlais de la version bash de la fonction car:
man ulimit wrote: | Warning: This routine is obsolete. The include file is no longer provided by glibc. Use getrlimit(2), setrlimit(2) and
sysconf(3) instead. For the shell command ulimit, see bash(1) |
[Edit]
mon ami google me dit:
Quote: |
Q: How can I limit the number of processes for a user?
A: A partial solution to this problem is to add "ulimit" commands to the system /etc/profile and /etc/csh.login scripts. One can set hard and soft limits. (The soft limit is the user's initial login default, which he may then adjust using ulimit, subject to the hard limit as a ceiling.)
There are, however, two holes in that approach (which might be a desirable feature, or not, depending on your circumstances): (1) The user can evade the limit entirely if allowed to select a different shell entirely, other than bash and tcsh, via the chsh command. (2) Non-root users subject to ulimit-based limitations on number of processes will still be able to adjust the soft limit, and can lower but not raise the hard limit. (The hard limit will revert to the system default at the next login.)
To establish unchangeable hard limits, enter the following into the login, ssh, telnet, and rlogin files in /etc/pam.d/login
session required /lib/security/pam_limits.so
Also, edit /etc/security/limits.conf. E.g.,
@users soft nproc 10
@users hard nproc 15
@admin soft nproc 1000
@admin hard nproc 1000
If you want the root user to have no process limits, include:
root -
Users will see the following upon hitting the hard limit.
bash$ ls
bash: fork: Resource temporarily unavailable.
|
Enjoy _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
anigel Bodhisattva
Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Fri Dec 03, 2004 10:50 am Post subject: |
|
|
Bonjour,
Je gère un serveur UNIX sur lequel les étudiants apprennent à faire planter leurs programmes dans des boucles infinies , et ces 2 lignes ajoutées dans le fichier /etc/conf.d/local.start devraient suffire :
Code: | ulimit -u 128
ulimit -m 256000 |
La première limite le nombre de processus à 128 par utilisateur (attention à ne pas mettre de limite trop dure, certains window-managers lancent déjà eux-même une bonne trentaine de process).
La seconde limite la quantité de mémoire que l'utilisateur peut se voir allouer (256M ici).
Cordialement _________________ Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres. |
|
Back to top |
|
|
marvin rouge Veteran
Joined: 01 Aug 2004 Posts: 1422 Location: Villa Lumierrante, Zonelibre
|
Posted: Fri Dec 03, 2004 10:56 am Post subject: |
|
|
juste une ptite question: ce genre de limite ne peut pas être changée par l'utilisateur ?
J'ai déjà eu besoin de lancer des calculs sur un serveur UNIX de mon labo, et j'avais besoin d'un peu de mémoire (4 GO), et pour ca avant il fallait que je fasse un truc du style ulimit memory unlimited (ce n'est peut être pas la syntaxe exacte). D'ou ma question. Ou peut être que c'est l'administrateur qui n'avait pas assez blindé le système pour empêcher les utilisateurs de faire ce genre de manip ? |
|
Back to top |
|
|
anigel Bodhisattva
Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Fri Dec 03, 2004 11:01 am Post subject: |
|
|
Ces commandes, lancées en root, fixent des valeurs dans des variables du noyau, auxquelles l'utilisateur n'a qu'un accès en lecture.
En revanche, il existe, sur certains UNIX, des moyens de contrôler finement ces permissions, avec des systèmes de délais de grâce par exemple, ou même des moyens de donner à certains utilisateurs la possibilité de changer ces variables, pour eux-même seulement.
Il me semble que c'est le cas de Tru64 par exemple. FreeBSD a un mécanisme semblable aussi, mais plus limité. Aux dernières nouvelles, Linux n'en dispose pas du tout. _________________ Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres. |
|
Back to top |
|
|
siDeb_31 Apprentice
Joined: 03 Oct 2004 Posts: 175 Location: Toulouse (FR)
|
Posted: Fri Dec 03, 2004 12:11 pm Post subject: |
|
|
Quote: |
/etc/conf.d/local.start
ulimit -u 128
ulimit -m 256000
|
merci pour l'info |
|
Back to top |
|
|
pixnet n00b
Joined: 06 Nov 2004 Posts: 57
|
Posted: Fri Dec 03, 2004 2:09 pm Post subject: |
|
|
J'ai tenter de poser une limite de processus, dans le fichier /etc/security/limits.conf
Mais ca ne marche pas ...
Etrange. |
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Fri Dec 03, 2004 2:22 pm Post subject: |
|
|
pixnet wrote: | J'ai tenter de poser une limite de processus, dans le fichier /etc/security/limits.conf
Mais ca ne marche pas ...
Etrange. |
tu as bien modifié le /etc/pam.d/login? _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
|