On Tuesday 01 June 2004 19:59, Peter Pentchev wrote:
> On Tue, Jun 01, 2004 at 07:46:35PM +0300, George Danchev wrote:
> > On Tuesday 01 June 2004 18:40, Peter Pentchev wrote:
> > --cut--
> >
> > > > Взима като аргумент криптирана парола(опция -p), няма нужда от
> > > > пайпове, expect и прочие ;) Мисля че върви на почти всякъв линуь.
> > >
> > > Това с криптираната парола като command-line argument може и да е
> > > проблем, ако куцо и сакато има право да прави ps awwwfux периодично.
> > > Да, ще трябва и много късмет, но все пак... :)
> >
> > Тука имаше ли някаква защита да не се листва инфо за чужди процеси, демек
> > кернела рестриктира достъпа до /proc на per user basis ? grsec, rsbac,
> > exec-shield, NSA, FBI, ДС, НСС и какво беше още там ;-)
>
> Да, ама ако apache ти върви като nobody или www, как се пазиш от другите
> неща (malicious скриптове на съхостници), които вървят като nobody или
> www? :)  Още една причина за това, което споменах още в началото -
> специално този скрипт да върви като нещо друго.

Ха, ха, ха ;-) Естествено, че ако имаш рестрикриран достъп до информацията за 
процесите на per user basis интригата е да джиткаш като уникален потребител, 
иначе съвсем се обесмисля идеята, ако има и друг като теб (е освен root == 
God, де ;-). Това е все едно да конструираш супер яка брава/врата и да 
извадиш ключове за нея на всички другарчетата от входа/блока ;-) 
В интерес на истината тази идея наистина ми дойде на ум след твоето писмо в 
което споменаваш за "специално този скрипт да върви като нещо друго"... Само,  
че по ми допада ако рестрикцията бъде наложена грубо от кърнъла, вместо в 
самата userspace util-ка, което в никакъв случай не омаловажава направеното в 
нея де... не искам да кажа тфа.

> > > Точно затова BSD pw(8) за useradd/usermod приема файлов дескриптор, не
> > > директно паролата.  И между другото, умните хора от години си караме с
> > > local patch, който David Malone тия дни commit-на, и който позволява
> > > pw usermod -H 0, като разликата между -h и -H е в това дали паролата е
> > > криптирана :)
> >
> > Не разбрах в какво се състои пача. Понеже command line опции и
> > environment променливи ги приемаме за несигурен начин за обмен на данни,
> > то няма значение дали паролата ще се подава криптирана или не (-h, -H) ,
> > все пак е видима за кратък прозорен от време, ако чуждите процеси не
> > могат да бъдат скрити. Тогава трябва да се организира pipe (друго ?)
> > между скрипта и usermod (демек през file descr) ... Какво добавя този пач
> > , четене от stdin за usermod ли ?
>
> Не, pw usermod -h 0 винаги си е чело от stdin (или по-точно, -h fdnum
> винаги е чело от файлов дескриптор fdnum, никога от command line).
> Пачът (и това, което David Malone commit-на във FreeBSD) просто добавя
> -H 0, което ти позволява да подадеш *криптирана* парола на stdin, така
> че дори и в езици, които не позволяват open("|-"), да можеш да направиш
> смело system("echo bfh20dj4u32u | pw usermod -n tanj -H 0") и да не те е
> страх от ps awwwfux, който да покаже параметрите на echo.

Офф, нещо пак не разбрах как от това че се приема 
криптирана парола от пачнатата програма след пайпа ще скрие параметрите на 
echo (криптираната парола), че да сме толкова смели ... щото така доколкото 
разбирам просто си стартираш нов процес с аргументи, който се види от ps... 
Демек не вярвам, че нещо като: 

cat lll.c
#include <stdio.h>
main() {
system ("echo kriptiranaparola | pw usermod -n -tanj -H 0") ;
}

е по-безопасно, защото пак се вижда и без да се чака на късмет, просто 
цикли известно време нещо като:
while i=j; do ps aux |grep usermod ; done 
и хващаме такива работи:

root     30507  0.0  0.4  2696 1200 pts/2    R+   22:54   0:00 sh -c echo 
kriptiranaparola | pw usermod -n -tanj -H 0
root     30508  0.0  0.4  2696 1200 pts/2    R+   22:54   0:00 sh -c echo 
kriptiranaparola | pw usermod -n -tanj -H 0

Пак се връщаме на случая с kriptiranaparola като command line arg... както в 
първия случай описан в преден мейл. Може и аз нещо да не съм те разбрал де... 
в смисъл идеята да е друга на този  пач, а не с примера който даваш... Та дай 
да го видиме този local patch дето е за умни хора ;-) 

-- 
pub 4096R/0E4BD0AB  2003-03-18  <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 

============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================

Reply via email to