On Tue, Oct 19, 2004 at 06:20:34PM +0300, CIO wrote:
> Здравейте
> Възможна ли е следната защитна стена под Линукс
> Например приложение порт към който да се свърже и хост
> 
> Пример Кмайл порт 25 хост моето ИСП
> 
> Идеята е да се предпазим от софтуер който примерно без мое знание изпрати
> майл по разрешен от мен порт в случая 25
> 
> Тоест да не разреша порт 25 изобщо а да го разреша само за даден софтуер.

Не съм чувал за такова нещо, което изобщо не значи, че няма.

Според мен основната причина да мисля, че няма такова нещо още направено,
е, че името на приложението (за разлика от user ID, group ID и т.н.,
което вече *е* направено) се променя тривиално и не е проблем да бъде
"фалшифицирано".  Всичко, което ти трябва, е едно извикване на exec*(3) с
подходящ първи параметър.  Пример на C:

  char *argv[] = {"kmail", "mail.example.com", "25", NULL};

  /* в действителен пример ще се запази process ID-то, ще бъдат
   * настроени pipes за комуникация и какво ли не още */
  if (fork() == 0) {
    execv("/usr/bin/nc", argv);
    exit(1);
  }

Същият пример на Perl:

  if (fork() == 0) {
    exec('/usr/bin/nc', 'kmail', 'mail.example.com', '25');
    die("Couldn't exec netcat: $!\n");
  }
  
Както казах, тривиално - никога не можеш да разчиташ на името, което една
програма си е избрала.

Поздрави,
Петър

-- 
Peter Pentchev  [EMAIL PROTECTED]    [EMAIL PROTECTED]    [EMAIL PROTECTED]
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
If you think this sentence is confusing, then change one pig.

Attachment: pgpQ38qm4sNWe.pgp
Description: PGP signature

Reply via email to