 |
от X_console (15-03-2001)
рейтинг (1)
[ добре ]
[ зле ]
Вариант за отпечатване
Статията е преведена от Славей Караджов
Адресът на оригиналната статия е http://xfactor.itec.yorku.ca/~xconsole/tutorials/security.html
В последно време Linux се радва на особена популярност и
все повече хора го използват. Linux използва цялата сила на
UNIX операционната система и е много по-стабилен и по-бърз от
операционните системи на Microsoft. Да не забравяме, че Linux е
безплатна за сваляне
или струва съвсем малко или почти нищо, ако искате да си го
купите. Програмистите и хакерите са особено доволни от Linux,
защото могат да разгледат изходния му код и да го променят по
техен вкус. Изучаването на Linux в подробности отнема време и
увеличаването на сигурността на системата изиска нейното
познаване в детайли. Нещо, което начинаещите потребители на
Linux не са придобили. И затова съществува тази статия - за да
направи процеса по увеличаването на сигурноста на системата
по-лесен и по-бърз.
Какво се дискутира в тази статия?
Основните техники за увеличаване на сигурноста
в Linux, а те са :
-
подсигуряване на паролите.
-
предотвратяване на достъпа на нежелани личности до
системата.
-
подсигуряване на "демоните".
-
криптиране на важните файлове.
-
троянски коне и вируси.
-
файлови права.
-
сканиране на портовете.
-
подсигуряване на програмите.
-
какво да четете по-нататък.
В тази статия предполагаме, че вие:
-
Използвате Linux за домашна употреба, а не като сървър.
-
Знаете основните Linux команди и може да се справяте
с имената на файловете.
-
В момента използвате Linux, а не други UNIX варианти,
като FreeBSD например.
-
Знаете как да използвате текстов редактор, примерно:
vi,
emacs,
pico,
други...
-
Съзнавате, че man командата може да ви помогне.
От каква степен на сигурност се нуждаете?
Може да имате доста подсигурена система, но това
ще ви попречи да използвате разни програми и ще ограничи
възможностите,
който може да ви предостави една Linux система. Трябва да си
отговорите
на въпроса какво точно искате да защитите. Дали имате важна
информация,
като номера на кредитни карти например? Дали ви пука, ако някой
наистина
се вмъкне във вашата система? Задайте си тези въпроси преди да
започнете
да прилагате мерките за сигурност, които се дискутират по-долу.
Подсигуряване на паролите
Паролите са вашата първа защитна стена и в повечето
случаи най-атакуваното нещо от кракерите. Множество компютърни
вандали
се стремят да отгатнат паролата ви за да проникнат в системата.
root-ската
парола е най-важната и тя трябва да е най-трудна за отгатване.
Как да я
подсигурите? Ето няколко предложения:
-
Трябва да използвате максималната дължина, позволена
от системата, за вашата парола.
-
Трябва да съдържа числа, букви и специални символи.
-
Да съдържа малки и големи букви.
-
Трябва да е трудна за запомняне и да не я записвате
никъде.
-
Не трябва да означава нищо.
-
Да не е дума, която може да бъде открита в речника.
-
Да е дума която не съществува.
Добре, сега след като измисли най-неразгадаемата
парола на света какво да правите с нея? Като за начало свалете
програма,
която ще се опита да кракне вашата парола. Тези програми са
известни като
password cracker-и. Да обясним: Linux автоматично ще криптира
вашата парола
за да не може да се прочете и използва директно. Кракването на
паролата
е процеса на декриптирането на криптираната парола, което ще
рече да се
направи нечетимата парола четима. Ако успеете да кракнете
собствената си
парола, измислете нова по-сигурна и опитайте пак. От доста
места може да
си свалите password cracker-и. Ще откриете няколко от http://www.rootshell.org.
Ако искате да създадете "най-неразгадаемата" парола може да
експериментирате
с /dev/urandom. Ето и начин да направите това:
root# head -c 6 /dev/urandom | uuencode
- | cat -n | grep 2 | cut -f2 | cut -c 2,3,4,5,6,7,8,9
Това ще генерира една парола за вас. Все още не
сме приключили. Следващото нещо е да добавите вашата парола в
shadow файловете.
Процесът на замъгляне(shadowing) на вашата парола представлява
преместването
на криптираната парола от файла /etc/passwd, който може да бъде
четен от
всеки, който има достъп до системата, във файла /etc/shadow,
който може
да бъде четен само от root-а. За да проверите дали вашата
система изполва
"замъгляне" на паролите направете следното:
root# cat /etc/passwd | grep root
Ако видите нещо от рода на root:x, тогава вашите
пароли се записват в shadow файла. В противен случай те не се
записват
в shadow файла и за да го направите трябва да използвате командата
pwconv.
Спиране на демоните
Кагото инсталирате вашата Linux система в началото
ще се стартират множество демони, повечето от които няма да ги
използвате
нито веднъж. Демонът е програма, която "слуша" и чака за
определено събитие.
Тя се стартира във фонов режим и чака да бъде извикана. Когато
такова събитие
се случи демона се активира и извършва дейности за които е
създаден. За
пример вашият finger демон ще чака докато някой се свърже с
него. Това
което ще направи е да даде информация за вас или да откаже
връзката. Повечето
демони се стартират от /etc/inetd.conf файла. inetd е
вашият супер
сървър. Той контролира всички останали демони на вашата
система. Когато
някой се опита да се свържи с даден демон връзката минава през
inetd, който
ще препрати връзката на съответния демон. Описанието на finger
демона изглежда
горе-долу така:
finger stream tcp nowait /usr/etc/in.fingerd
in.fingerd
В този случай вашият finger демон е стартиран и чакащ.
Ако някой се опита на направи finger към root-а на системата ще
получи
нещо подобно като резултат:
xconsole$ finger root@localhost
Login: root Name: root
Directory: /root Shell: /bin/bash
On since Sun Mar 7 00:43 (EST) on ttyp0 from :0.0
Mail last read Sun Feb 28 20:58 1999 (EST)
No Plan
Това обикновено се третира като риск за сигурността.
Няма причина заради която някой да иска да види статуса на
root-а. Ето
защо е добра идея да спрете finger демона. Това става като
добавите символа
диез # преди командата. Т.е:
#finger stream tcp nowait /usr/etc/in.fingerd
in.fingerd
Запишете файла и после изпълнете следната команда
killall -HUP inetd
за да накарате inetd да зареди новата комфигурация.
Когато дадете finger root ще получите:
xconsole$ finger root@localhost
[localhost]
finger: connect: Connection refused
Успешно спряхме finger демона. Това обаче не значи,
че не може да изполваме finger. Все още може да използвате
finger за да
гледате инфомацията на други компютри, но те не могат да гледат
вашата.
Може би ще е добре да спрете и още някои други демони.
Кандидати за спиране
са следните:
-
echo
-
discard
-
daytime
-
chargen
-
ftp
-
telnet
-
gopher
-
shell
-
login
-
exec
-
talk
-
tftp
-
finger
-
netstat
-
systat
Не е добре да имате стартирани демони, които не използвате.
Ако се питате как да направите така, че хем да оставите finger
демона стартиран,
хем други да не могат да се доберат до информацията, която
връща fingering,
тогава tcp_wrapper идва на помощ. tcp_wrapper логва
всички връзки
към демони, които наблюдавате. tcp_wrapper също може да забрани
на дадени
IP-та да се доберат до даден демон. tcp_wrapper може да си
свалите от ftp://ftp.win.tue.nl/pub/security/.
Почти всички дистрибуции вече го инсталират по подразбиране.
Ето как да
използвате tcp_wrapper при конфигуриране на /etc/inetd:
finger stream tcp nowait /usr/sbin/tcpd
in.fingerd
Забележете, че сега finger демона се контролира от
tcpd.
Ако някой се опита да се свърже с finger демона неговият опит
ще бъде записан
във файл по ваш избор. Проверете /etc/syslog.conf как се
контролира логването
на информацията и напишете man syslog.conf за да разберете как
да промените
/etc/syslog.conf. Предполагам, че tcp_wrapper следи всички
демони независимо
дали те са пуснати или не. Повечето дистрибуции използват
tcp_wrapper при
стартиране на демоните така, че не е нужно да се притеснявате
как да го
инсталирате. За да разберете, как да конфигурирате
tcp_wrapper-a пишете
man tcpd.
Край на първа част.
<< Как да защитите вашият Linux (част 2) | Как да си направим собствен gateway под FreeBSD >>
|
 |