On Sun, Dec 16, 2012 at 06:38:08AM -0430, Andres Perera wrote:
| On Sun, Dec 16, 2012 at 5:47 AM, Paul de Weerd <we...@weirdnet.nl> wrote:
| > On Sun, Dec 16, 2012 at 11:02:31AM +0100, David Coppa wrote:
| > | > .profile can be interrupted with ctrl+c.
| > |
| > | >>> Because it is under controle or the user and he/she can disable
| > | >>> such funcionality.
| > |
| > | the safer way imho is patching ksh
| >
| > After that, expect all your users to suddenly switch to one of the
| > other shells available on your system...
| 
| because once you patch ksh, you can't ever again edit /etc/shells

switching shells:

        Step 1: login
        Step 2: exec (zsh|csh|perl|tcsh|bash|...)
        Step 3: ...
        Step 4: profit

Sure, you can edit /etc/shells and prevent users from changing their
login shells with chsh, but what does that buy you if they can still
switch shells ?

And besides .. the users that want to run another shell in the first
place are screwed ?  You'd have to patch 'em all .. good luck with
maintaining that.


Then, you could log all stdin/stdout to some file (even more data!
fun!).  If you really want to circumvent this logging, you could
create a covert channel that will show data on the client side but has
no visible input/output in the server side.


I'm still curious why any of this is a good idea.

| > Or a nice syslog DoS, where people run while :; do echo ${RANDOM} >
| > /dev/null; done (or a less intentional version of the same) to flood
| > your logs with crap.
| 
| and fsize becomes immutable as well apparently (syslog be forgotten)

Not sure I understand your point here.  What about fsize ?  You want
to limit the size of the logfile ?  So that all you have to do is fill
it up to the max size and then you can do whatever you want without
having your actions logged ?

| here is something that doesn't require patching
| 
| create log files and change to system append-only with chflags. dir
| should be, e.g., chown root:wheel, chmod go=rx
| 
| #include <sys/types.h>
| #include <stdio.h>
| #include <unistd.h>
| #define sp "/usr/bin/script"
| #define sf "/var/db/ghetto_act/%ju"
| 
| main()
| {
|   char *so;
|   if (asprintf(&so, sf, getuid()) == -1) return 1/0;
|   execl(sp, sp, "-a", so, NULL);
|   return 1/0;
| }
| 
| >
| > Why is this a good idea, exactly ?
| >
| > Paul 'WEiRD' de Weerd
| >
| > --
| >>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
| > +++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
| 
| o look, a brainfuck program. this is so quirky and tech oriented i
| feel identified with you

Great, glad you like it.

Paul 'WEiRD' de Weerd

-- 
>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
                 http://www.weirdnet.nl/                 

Reply via email to