ot Nikola Antonov(28-06-2003)
reiting (5)
[ dobre ]
[ zle ]
Variant za otpechatvane
Po stranitsite na nashite forumi mnogo chesto se obsuzhdat
vuprosi, svurzani sus sigurnostta, spori se koia e
nai-sigurnata distributsiia, dali Linuks e po-dobur ot
"Prozorechnata OS" po otnoshenie na sigurnostta i
t.n. Nai-chesto tezi diskusii se razpalvat do neistovo
kreshtene i neizslushvane na oponenta. Obiknoveno se govori za
mrezhova sigurnost, nastroiki na firewalls, preobladavat
lozungite "... sux" i "... rulz"!
Istinata e, che kogato govorim za sigurnost, na purvo miasto
triabva da mislim za lokalnata sigurnost, posle za mrezhovata,
a pri Linuks, kato mrezhovo orientirana OS, dvata vida
sigurnost zavisiat vzaimno edin ot drug. Aide, az pak se
razprikazvah...
Vsushtnost, spetsialistite znaiat, niama nishto po-lesno ot tova
da skapete edna sistema, nezavisimo ot distributsiiata,
dostatuchno e da imate dostup do komanden red, dori ne e
neobhodim kompilator, dori ne vi triabvat i pravata na
root.
Veroiatno povecheto potrebiteli-nespetsialisti, kato men, ne
si davat smetka, che koiato i da e Linuks-distributsiia po
podrazbirane ne dava dostatuchno sigurnost, za da spim
spokoino, osobeno ako predostaviame uslugi za otdalechen
dostup na sistemata si. Tema na tozi material e zashtitata na
sistemata ot lokalni ataki, tseliashti pretovarvane na pametta
ili protsesora i vodeshti do bezotkazno zabivane na sistemata.
Takiva ataki, za zhalost, se praviat mnogo lesno.
Naprimer, dostatuchno e da izpulnite tova v konzolata
(posocheno ot G. CHorbadzhiiski):
:(){ :|:&};:
Rezultatut e dosta nepriiaten.
Eto i niakoi drugi malki i loshi programki, koito vodiat
smazvashto skapvane na lyubimata ni Linuks-sistema:
1. Standartna fork-bomba:
int main()
{
while(1)
fork();
return 0;
}
2. Prepulvane na pametta:
int main()
{
char *p;
while(1)
p =
(char *)malloc(sizeof(char) * 4096);
return 0;
}
Za da se spasim ot podoben tip ataki, kakto i ot opasnostta
sami da izpulnim vreden kod (niakoia nedobre skalupena
programka na C, naprimer), mozhem da se vuzpolzvame ot
uslugite na /etc/security/limits.conf. V nego mozhem detailno
da postavim ogranicheniia za opredelen tip potrebiteli ili za
vsichki navednuzh (ne se praporuchva) - kolko protsesa mogat da
startirat, kolko pamet mozhe da izpolzva vseki edin protses,
kolko protsesorno vreme mozhe da izpolzvat i t.n.
Da rechem, che imame dva tipa potrebiteli - lokalni (t.e.
dovereni, izpolzvashti H) i otdalecheni (ne im viarvame mnogo, a
i ne im se polaga da polzvat grafichna sreda). Ednite
potrebiteli postaviame v grupata users, a drugite - v grupata
notrust.
@users soft
core
10240
@users hard nproc
150
@users hard nofile 1024
@users hard stack 51200
@users hard
memlock 102400
@users hard as 102400
@notrust hard core
5120
@notrust hard rss
15360
@notrust hard data
15360
@notrust hard nproc
15
@notrust - maxlogins 4
@notrust hard
nofile 64
@notrust hard stack
15360
@notrust hard fsize
51200
@notrust hard
memlock 15360
@notrust hard cpu
2
@notrust hard as
25600
Po tozi nachin zadavame za chlenovete na dvete grupi razlichni
ogranicheniia za natovarvane na sistemata. Osobeno vazhno e
ogranichenieto nproc (broi na protsesite). Za normalnata
rabota s H e dobre da imame prava na nad 70 do 100 protsesa
(mozhete da vidite niakude, che 40 sa dostatuchni, no ne i ako
polzvate pulnotsenno H s Mozilla, OpenOffice, KDE i t.n.).
Kakvo kaznat nastroikite? V samiia fail e opisano:
# core - limits the core file
size (KB)
# - data - max data size
(KB)
# - fsize - maximum filesize
(KB)
# - memlock - max
locked-in-memory address space (KB)
# - nofile - max number of open
files
# - rss - max resident set size
(KB)
# - stack - max stack size
(KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of
processes
# - as - address space limit
# - maxlogins - max number of
logins for this user
# - priority - the priority to
run user process with
Triabva da se oburne poveche vnimanie na nproc (broia na
protsesite) i maxlogins (maksimum logvaniia). Purvoto bez
vtoroto niama mnogo smisul.
Da ne zabravim nai-vazhnoto - v /etc/pam.d/login triabva da
vuvedem zadulzhitelno:
session required pam_limits.so
V protiven sluchai zadadenite ogranicheniia niama da
rabotiat.
Po-podrobno po temata:
http://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap5sec44.html
http://www.dfdtech.net/linux/security/userlimits/
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam-6.html#ss6.12
http://www.linux-bulgaria.org/lug-bg-list/archive/2003/Feb/0470.html
Blagodarnosti na G. CHorbadzhiiski za nasokite.
<< Pechat na kirilitsa s LPRNG i bulgarski ezik v LyX | Instalatsiia i startirane na debian dosemu paradox4.5 >>
|