Линукс серверийг хамгаалах үндсэн 12 алхам

Линукс серверийг хамгаалах үндсэн 12 алхам

Нийтэлсэн : 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.) гэснийг сонгох хэрэгтэй.

hlinux1

Хэрэв чиний үйлдлийн систем дээрх боломжийг дэмждэггүй бол системээ суулгасны дараа нэмэлтээр encrypt хийдэг программ  суулган асуудлаа шийдэж болно. Миний зүгээс TrueCrypt гээд программыг санал болгож байна.

linux new 2

4-Диск хуваалт

Нөөцлөлт /backups/ бол систем шинэчлэхэд гарах алдаа, систем гэмтэх зэрэгт маш чухал үүрэгтэй. Чухал серверүүдийн хувьд нөөцлөлт нь газарзүйн хувьд алс газар бас давхар авагдаж явахаар тохируулсан байх шаардлагатай.  Мөн хэзээ авсан болон хэр хугацаанд хуучин нөөц чинь байх шаардлагатай гэдгийг тохируулах нь чухал. Чиний хувьд системийн нөөцлөлтийг хэзээ хийдэг бэ?

Чухал системүүд нь  тус тусдаа хуваалттай дискэн дээр байх шаардлагатай. Системүүдийг хуваахдаа partition-оо дараах байдалтай хуваана.

  • /
  • /boot
  • /usr
  • /home
  • /tmp
  • /var
  • /opt
  • /etc

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

hlinux3

5-Boot directory-г хамгаалах

Boot directory дотор линукс кернэлтэй холбоотой чухал мэдээлэл байдаг ба тус хавтасыг зөвхөн унших эрхтэйгээр тохируулах хэрэгтэй.  Доорхи зурагт үзүүлсэн хамгийн сүүлийн мөрийг нэмэх хэрэгтэй.

hlinux5

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 болон бусад халдлагад өртөх эрсдэлийг бууруулдаг сайн талтай. Дараах зурагт хэрхэн шалгахыг харуулсан байна.

hlinux9

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 файлд байна

Сэтгэгдэл бичих