2008-01-31

Линукс системийн файлын хамгаалалтын талаар жаахан хүүрнэх нь

Хэдэн Notebook-ы талаар жаахан мэдээлэл цуглуулсан чинь залхуу хүрчлээ. Тэгээд хэсэж яваад нэг зүйл оллоо. Жаахан орчуулаад блогтоо үлдээчий. Юмыг яаж мэдэх вэ? сүүлд хэрэг болж юуны магад гэж бодлоо.

Глобал холбоо эрчимтэй хөгжиж байгаа одоо үед бидний өдөр тутмын хэрэглээ болсон үйлдлийн системүүдийн хамгаалалт сайн байх зайлшгүй шаардлага гарч ирж байгаа юм.Линукс системийн хамгаалалт нь уян хатан тохируулахад хялбар байдаг. Дараах төрлийн нууцлал байх шаардлагатай

Физик нууцлал

Компьютерийн түгжээ

BIOS нууцлал

Boot ачаалагчын нууцлал

Xlock ба vlock

Дотоод төхөөрөмжүүдийн нууцлал

Физик төхөөрөмжүүдийн үйлдвэрлэлийн алдааг олох

Дотоод нууцлал

Шинээр хэрэглэгч үүсгэх

Root нууцлал

Файл болон файл системийн нууцлал

Umask тохируулах

Файлд хандах эрх

Бодит байдлыг шалгах

Trojan horses

Нууц үгний нууцал болон encryption

PGP болон Pubic key cryptography

SSL,S-HTTP болон S/MINE

Линукс IPSec гүйцэтгэл

Ssh болон stelnet

PAM-Pluggable Authentication Modules

Cryptographic IP encapsulation (CIPE)

Kerberos –сүлжээгээр дамжуулан эрхийн зөвшөөрөл олгоход хэрэглэдэг протокол

Shadow passwords

Crack болон John the Ripper

CFS-cryptographic file system болон TCFS-transparent cryptographic file system

X11,SVGA болон дэлгэцийн нууцлал

Цөмийн нууцлал

2.0 цөмийн зохион байгуулалтын боломж

2.2 цөмийн зохион байгуулалтын боломж

Сүлжээний нууцлал

Пакет шифрлэх

Системийн үйлчилгээ болон tcp wrappers

DNS-н мэдээллээ шалгах

Indentd

Postfix MTA

SATAN (Security Administrator's Tool for Analyzing Networks)

ISS болон бусад сүлжээг хайх(порт хянах)

Sendmail, qmail болон MTA

DoS халдлага

NFS нууцлал

NIS(network information service)

Firewall

Ipchains (kernel 2.2.x)

Netfilter

VPN

Нууцлал хийх арга замууд

Системээ бүрэн нөөцлөж байх

Системийн нөөцийг хэдийд хийж байхаа тогтоох

Нөөцийг шалгаж байх

RPM эсвэл Debian-ий файлын санг ашиглах

Системийн хэрэглэгчдийн мэдээллийн шинэчилж байх

Системээ бүтнээр нь update хийж байх

Файл болон файл системийн нууцлал

1 Системд файлд хандаж байгаа хэрэглэгчдэд SUID/SGID байнга тодорхойлж байх нь чухал байдаг. Нийтэд хэрэглэгдэх файлуудыг /var директор дотор хадгалах болон лог файлуудын уншиж байх нь чухал байдаг

2 Хэрвээ NFS ашиглаж байгаа бол /etc/exports дотор хэрэглэгчдыг зөвхөн унших эрхээр хандахаар тохируулж өгөх хэрэгтэй.

3 Umask-г файлд хэрэглэгчид хэрхэн хандахыг тохируулах хэрэгтэй

4 Файл системд хандах эрх нь хэрэглэгчдын хувьд анхандаа хязгааргүй байх бөгөөд түүнийг хязгаарлаж өгөх хэрэгтэй.

/etc/pam.d/limits.conf

@users hard core 0

@users hard nproc 50

@users hard rss 5000

Энд цөмд хандахгүй, нийт 50 процесс явуулах болон 5000 хэмжээний санах ой ашиглахаар хязгаарлаж байна

1 /var/log/wtmp болон /var/run/utmp файлд системд нэвтэрч орсон бүх хэрэглэгчдийн мэдээлэл хадгалагдсан байдаг ба эрх нь 644 тавигдсан байдаг.

2 SUID ба SGID хэрэглэснээр системийн эрсдлийг эрс багасгадаг.

root# find / -type f \( -perm -04000 -o -perm -02000 \) үүгээр системд ажиллаж байгаа бүх SUID болон SGID-г харж болно

мөн үүний тухай мэдээллийг Дебиан дээр /var/log/setuid файлаас харж болно

1 Дараах командуудаар системд байгаа файлуудын эрхийг харж тохируулж байх хэрэгтэй.

root# find / -perm -2 ! -type l -ls

root# find / \( -nouser -o -nogroup \) -print

root# find /home -name .rhosts -print

Umask Settings

Энэ команд нь таны системд хэрэглэгчид файлд анхнаасаа ямар эрхээр хандахыг тодорхойлж өгдөг. Үүнийг маш болгоомжтой хийх хэрэгтэй. Тусгай төрлийн umask хэрэглэж болдог. Жишээ нь: 022,077,027 гэх мэт.үүндээ NOT болон AND гэсэн маск ашигладаг.

file, default 6, binary: 110 mask, eg. 2: 010, NOT: 101

resulting permission, AND: 100 (equals 4, r__)

# Set the user's default umask

umask 033

Та системдээ файлуудад хандах эрх нь уг файлыг эзэмшигч болон системд нэвтрэн орж байгаа групп хэрэглэгчид болон бусад хэрэглэгчидийн хувьд ямар байхыг тодорхойлж өгч болдог.

Эдгээр хэрэглэгчид тавьж өгч байгаа файлын эрх нь тухайн хэрэглэгчийн хувьд BIT-н тусламжтайгаар тавиж өгдөг. Үүнд хэд хэдэн төрлийн файлд хандах эрх байдаг.

Read

1 Файлын нээж уншиж чадна

2 Директороос файлын дуудаж нээж чадна

Write

1 Файлд өөрчлөлт хийж чадна

2 Файлыг өөр хавтасруу зөөж чадна

Execute

1 Файлын эх код дээр өөрчлөлт хийж чадна шелл скрипт дээр ажиллана

2 Файлыг хайж олох болон унших эрхийг өөрчилж чадна

Мөн файлыг хадгалах хэд хэдэн төрлийн шинж чанараар нь хадгалж болдог

Эдгээр нь хэрэглэгчийн файл болон директорт хандах эрхийг арай илүү уян хатан байдлаар тавьж өгөхөд тусалдаг.

SUID (for file)-энэ нь хэрэглэгчийн файлд хандах эрхийг ID-н тусламжтайгаар системд уг файлын яг эзэмшигч нь хэн гэдгийг зааж өгдөг. Энэ нь buffer overflow алдаа гарахаас сэргийлдэг.

SGID (for file)-энэ нь группын хэрэглэгчдийн эрхийг удирддаг бит байдаг.

SGID (for director)-энэ нь группын хэрэглэгчид директорт хэрхэн хандахыг удирддаг бит юм.

Жишээ: chmod g+s directory

Файлд эрхийг эзэмшигч, групп, бусад хэрэглэгчдэд тавьж өгдөг

-rw-r--r-- 1 kevin users 114 Aug 28 1997 .zlogin

1st bit - directory? (no)

2nd bit - read by owner? (yes, by kevin)

3rd bit - write by owner? (yes, by kevin)

4th bit - execute by owner? (no)

5th bit - read by group? (yes, by users)

6th bit - write by group? (no)

7th bit - execute by group? (no)

8th bit - read by everyone? (yes, by everyone)

9th bit - write by everyone? (no)

10th bit - execute by everyone? (no)

Зарим тохиолдолд файлд хандах эрхийг өөрөөр тавьж өгдөг

-r-------- эзэмшигч файлд хандахдаа унших эрхтэй

--w------- Allows the owner to modify or delete the file

(Note that anyone with write permission to the directory

the file is in can overwrite it and thus delete it)

---x------ The owner can execute this program, but not shell scripts, which still need read permission

---s------ Will execute with effective User ID = to owner

--------s- Will execute with effective Group ID = to group

-rw------T No update of "last modified time". Usually used for swap files

---t------ No effect. (formerly sticky bit)

3 comments:

Unknown said...

PAM n talaar jaahan zvils helj uguuchee

Battogtokh said...

http://www.kernel.org/pub/linux/libs/pam/ endees unshsan ni deer bolow uu. Esvel http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules endees ch harsan bolnodoo.

khashochir said...

Маш хэрэгтэй мэдээлэл байна.Амжилт хүсье !