Нийтэлсэн : Admin
Линукс сервер хамгаалалах
Ихэнхи хүмүүс бодохдоо линукс үйлдлийн систем бол анхнаасаа л маш сайн хамгаалалттай гэсэн ташаа ойлголттой байдаг.
Хэрэв таны хувийн мэдээлэлтэй компьютер алдагдсан ба ямар ч хамгаалалт хийгээгүй байна гэж төсөөлье. Таны төхөөрөмжийг олж авсан хэн нэг нь username-г root, password-г toor гэж таан хийгээд нэвтрэх боломжтой. Энэ нууц үг нь Kali /Зарим дистро-д бас байдаг/линуксийг суулгахад анхнаасаа байдаг нууц үг ба ихэнхи хүмүүс солилгүйгээр шууд ашиглаад явдаг. Чи арай тэр хүмүүсийн нэг биш биз?
Дараах алхамууд нь ямар нэг тодорхой distro-д зориулагдаагүй нийтлэг бөгөөд логик нь адилхан болно
1-Хостын мэдээллийг цуглуул.
Шинээр линукс сервер суулган хамгаалалтыг хангах бүрдээ энэхүү нийтлэлд байгаа алхамуудийг багтаасан шалгах жагсаалтыг гаргаад нэг нэгээр нь шалгаад явах файлтай болохыг зөвлөе. Эдгээр нь хамгийн энгийн алхамууд бөгөөд чи өөрийн хэрэгцээ шаардлагандаа тааруулан нарийвчилсан тохиргоонуудаа хийгээрэй. Хамгийн эхэнд чамд линукс хостын дэлгэрэнгүй мэдээлэл хэрэгтэй. Эдгээрт дараах зүйлс орно.
- Machine name
- IP address
- Mac address
- Хэн аюулгүй ажиллагааг ханган хариуцан ажиллах (Ихэнхидээ чи байдаг)
- Огноо
- Эд хөрөнгийн дугаар (Хэрвээ компаний өмч бол эд хөрөнгийн дугаар гэх мэт.
2-BIOS-оо хамгаал
Хамгийн түрүүн хийх ажил бол BIOS руугаа ороод нууц үг үүсгэн хэн нэгэн зөвшөөрөлгүйгээр тохиргоог өөрчлөх боломжгүй болгох нь их чухал юм.
Дараагийн алхам бол төрөл бүрийн гаднын төхөөрөмжөөс (USB/CD/DVD) boot авах боломжийг хаах. Энэ алхамыг алгаслаа гэж бодоход хэн нэг нь Bootable OS бичсэн диск авч ирээд хадгалагдаж байгаа мэдээлэл рүү чинь хандах боломжтой.
Орчин үеийн зарим серверүүдийн mainboard буюу эх хавтан нь өөр дээрээ web server-тэй болсон байгаа ба шууд вебээр хандан bios тохиргоог өөрчлөх боломжтой байдаг. Хамгийн эхэнд admin хэрэглэгчийн нууц үгийг солих, шаардлагатай тохиолдолд хаах хэрэгтэй.
3-Hard disk encryption (нууцлах)
Ихэнхи линукс distro нь суулгаж байх явцад дискээ encrypt хийхийг асуудаг. Энэ нь маш чухал алхам ба хэрвээ мэдээлэлтэй серверийн диск чинь алдагдсан тохиолдолд хулгайч өөрийн комьютерт дискийг чинь холбосон ч мэдээллийг чинь унших боломжгүй. Доорхи зурагт үзүүлснээр 3 дахь сонголт буюу Guided-use entire disk and set up encrypted LVM (LVM гэдэг нь logical volume manager.) гэснийг сонгох хэрэгтэй.
Хэрэв чиний үйлдлийн систем дээрх боломжийг дэмждэггүй бол системээ суулгасны дараа нэмэлтээр encrypt хийдэг программ суулган асуудлаа шийдэж болно. Миний зүгээс TrueCrypt гээд программыг санал болгож байна.
4-Диск хуваалт
Нөөцлөлт /backups/ бол систем шинэчлэхэд гарах алдаа, систем гэмтэх зэрэгт маш чухал үүрэгтэй. Чухал серверүүдийн хувьд нөөцлөлт нь газарзүйн хувьд алс газар бас давхар авагдаж явахаар тохируулсан байх шаардлагатай. Мөн хэзээ авсан болон хэр хугацаанд хуучин нөөц чинь байх шаардлагатай гэдгийг тохируулах нь чухал. Чиний хувьд системийн нөөцлөлтийг хэзээ хийдэг бэ?
Чухал системүүд нь тус тусдаа хуваалттай дискэн дээр байх шаардлагатай. Системүүдийг хуваахдаа partition-оо дараах байдалтай хуваана.
- /
- /boot
- /usr
- /home
- /tmp
- /var
- /opt
- /etc
Ингэж хуваах нь систем ямар нэг алдаа асуудал үүслээ гэхэд зөвхөн тэр хэсгийг зассанаар системд учрах эрсдэлийг бууруулж байна гэж үздэг. Энэ алхамыг мөн системийг суулгахдаа тохируулах ба дараах зурагт Kali линукс суулгах үед хэрхэн тохируулахыг үзүүлсэн байна.
5-Boot directory-г хамгаалах
Boot directory дотор линукс кернэлтэй холбоотой чухал мэдээлэл байдаг ба тус хавтасыг зөвхөн унших эрхтэйгээр тохируулах хэрэгтэй. Доорхи зурагт үзүүлсэн хамгийн сүүлийн мөрийг нэмэх хэрэгтэй.
sudo nano /etc/fstab командаар орно. ro гэдэг нь read only гэж зааж байна. Энэ заавар нь ихэнхи deb сууритай системүүд болох debian, ubuntu kali, mint зэрэгт адилхан байдаг.
Хадгалсаны дараа дараах командуудыг ажиллуулах шаардлагатай.
#chown root:root /etc/fstab
#chown root:root /etc/grub.conf
#chmod og-rwx /etc/grub.conf
#sed -i “/SINGLE/s/sushell/sulogin/” /etc/sysconfig/init
#sed -i “/PROMPT/s/yes/no/” /etc/sysconfig/init
6-USB диск хаах
Системийн чинь хэр чухал мэдээлэл агуулж байгаагаас шалгаалан заримдаа эрсдэлийг тооцон USB хаах шаардлага гарч ирдэг. Янз бүрийн аргууд байдаг боловч хамгийн их ашигладаг дараах аргыг хүргэж байна. ‘blacklist.conf’ файлыг өөрийн дурын editor-р нээн дараах мөрийг /blacklist usb_storage/ файлын хамгийн төгсгөлд бичин хадгална. Жишээ нь
#nano /etc/modprobe.d/blacklist.conf
blacklist usb_storage
Дараа нь /etc/rc.local файлыг нээн дараах 2 мөрийг төгсгөлд нь бичнэ.
modprobe -r usb_storage
exit 0
7-Систем шинэчлэл /update /
Системийг байнга шинэчлэж байх нь учрах эрсдэлийг бууруулдаг. Үүнийг дараагийн зурагт үзүүлсэн байгаа. Эхний командаар шинэчдлэгдсэн пакежуудийн мэдээлэл авдаг бол дараагийх нь баталгаажуулан шинэчлэх комманд юм.
8-Суулгасан пакэжүүдийг шалгаж байх.
pkgnames командаар суусан байгаа пакежуудыг шалган хэрэггүй сервисүүдийг хаан, шаардлагагүй программуудыг хааж байх.
9-Нээлттэй портуудыг шалга
Систем дээр нээлттэй байгаа сүлжээний портуудыг шалган хэрэггүйг нь хаах нь DDoS болон бусад халдлагад өртөх эрсдэлийг бууруулдаг сайн талтай. Дараах зурагт хэрхэн шалгахыг харуулсан байна.
10-Secure SSH
SSH өөрөө хамгаалалттай ч гэсэн нэмэлтээр мөн хамгаалах хэрэгтэй. Хэрвээ SSH-г хаавал асуудал шийдэгдэх ч гэсэн байнга физик сервер дээр очиж суугаад тохиргоо хийгээд байх боломжгүй билээ.
Тохиргооны файл нь /etc/ssh/sshd_config хэсэгт байрладаг. Эхний ээлжинд хандах портыг 22-с өндөр портон дээр тохируулах, мөн хандах хаягыг тохируулж өгөх. Хамгийн сүүлийн алхам бол тохиргооны файлыг зөвхөн root хэрэглэгч бичдэг байхаар тохируулах.
#chown root:root /etc/ssh/sshd_config
#chmod 600 /etc/ssh/sshd_config
11-SELinux ашиглах
Security Enhanced Linux /SELinux/ гэдэг нь Кернэлийн нууцлалын механизм юм. Дараах 3 төлөвтэй байдаг.
- Disabled: Turned-off
- Permissive: Prints warnings
- Enforcing: Policy is enforced
Идэвхжүүлэхдээ Enforcing горим дээр тавих бөгөөд
#nano /etc/selinux/config файл дээр засвар хийн SELINUX=enforcing болгоно.
12- Сүлжээний параметрүүд
Хамгийн чухал хамгаалалтуудын нэг болох сүлжээний хамгаалалтыг хийхдээ дараах үндсэн 4 тохиргоог хийх.
– Disable the IP Forwarding by setting the net.ipv4.ip_forward parameter to 0 in “/etc/sysctl.conf”
– Disable the Send Packet Redirects by setting the net.ipv4.conf.all.send_redirects and net.ipv4.conf.default.send_redirects параметрийг 0 болгоно “/etc/sysctl.conf”
– Disable ICMP Redirect Acceptance by setting the net.ipv4.conf.all.accept_redirects and net.ipv4.conf.default.accept_redirects параметрийг 0 болгоно “/etc/sysctl.conf”
– Enable Bad Error Message Protection by setting the net.ipv4.icmp_ignore_bogus_error_responses параметрийг 1 болгоно “/etc/sysctl.conf”
Бүх файлууд /etc/sysctl.conf файлд байна
Сэтгэгдэл бичих