การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

บทนำ

ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีกำหนดค่าระดับความปลอดภัยขั้นพื้นฐานบนเครื่องเสมือน Vultr VC2 ใหม่ที่รัน Ubuntu 18.04

ข้อกำหนดเบื้องต้น

  • บัญชี Vultr คุณสามารถสร้างบัญชีได้ที่นี่
  • Ubuntu ใหม่ 18.04 Vultr VM

สร้างและแก้ไขผู้ใช้

สิ่งแรกที่เราจะทำคือสร้างผู้ใช้ใหม่ของเราที่เราจะใช้ในการเข้าสู่ระบบ VM:

adduser porthorian

หมายเหตุ: ขอแนะนำให้ใช้ชื่อผู้ใช้ที่ไม่ซ้ำใครซึ่งจะเดาได้ยาก บอทส่วนใหญ่จะเริ่มต้นที่จะลองroot, admin, moderatorและที่คล้ายกัน

คุณจะได้รับแจ้งให้ใส่รหัสผ่านที่นี่ มันเป็นอย่างยิ่งขอแนะนำให้คุณใช้รหัสผ่านที่อัลฟาตัวเลขที่แข็งแกร่ง Yหลังจากนั้นทำตามคำแนะนำที่ปรากฏบนหน้าจอของคุณและเมื่อถามคุณว่าข้อมูลที่ถูกต้องเพียงแค่กด

เมื่อเพิ่มผู้ใช้ใหม่แล้วเราจะต้องให้สิทธิ์ sudo แก่ผู้ใช้เพื่อให้เราสามารถดำเนินการคำสั่งจากผู้ใช้ในนามของผู้ใช้รูท:

usermod -aG sudo porthorian

เมื่อคุณให้สิทธิ์ผู้ใช้ sudo เปลี่ยนเป็นผู้ใช้ใหม่ของคุณ:

su - porthorian

สร้างและกำหนดค่าคีย์ SSH

ในการสร้างคีย์ SSH โปรดปฏิบัติตามเอกสารนี้

เมื่อคุณสร้างคีย์ SSH ใหม่แล้วให้คัดลอกกุญแจสาธารณะของคุณ ควรมีลักษณะดังต่อไปนี้:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

กำหนดค่าไดเรกทอรีผู้ใช้ของคุณ

นำทางไปยังโฮมไดเร็กตอรี่ของผู้ใช้หากคุณยังไม่ได้ทำ:

cd $HOME

$HOMEเป็นตัวแปรสภาพแวดล้อมสำหรับโฮมไดเรกทอรีผู้ใช้ของคุณ สิ่งนี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อมีการสร้างผู้ใช้ใหม่

ขณะที่อยู่ในโฮมไดเร็กตอรี่ของเราเราจะวางไดเร็กตอรี่อื่นเข้าไปข้างใน. ไดเร็กทอรีนี้จะถูกซ่อนจากผู้ใช้รายอื่นบนเครื่องยกเว้นรูทและผู้ใช้ที่เป็นเจ้าของไดเร็กทอรี สร้างไดเรกทอรีใหม่และ จำกัด สิทธิ์ด้วยคำสั่งต่อไปนี้:

mkdir ~/.ssh
chmod 700 ~/.ssh

ตอนนี้เรากำลังจะเปิดไฟล์ในที่เรียกว่า.ssh authorized_keysนี่เป็นไฟล์อเนกประสงค์ที่ OpenSSH ค้นหา คุณสามารถเปลี่ยนชื่อของสิ่งนี้ได้ในการกำหนดค่า OpenSSH /etc/ssh/sshd_configหากจำเป็น

ใช้โปรแกรมแก้ไขที่คุณชื่นชอบเพื่อสร้างไฟล์ บทช่วยสอนนี้จะใช้นาโน:

nano ~/.ssh/authorized_keys

คัดลอกและวางคีย์ ssh ของคุณลงในauthorized_keysไฟล์ที่เราเปิดไว้ เมื่อคีย์สาธารณะอยู่ภายในคุณสามารถบันทึกไฟล์ได้โดยการกด+CTRLO

ตรวจสอบให้แน่ใจว่าพา ธ ไฟล์ที่เหมาะสมปรากฏขึ้น:

/home/porthorian/.ssh/authorized_keys

หากเป็นเส้นทางไฟล์ที่ถูกต้องเพียงกดENTERมิฉะนั้นทำการเปลี่ยนแปลงที่จำเป็นเพื่อให้ตรงกับตัวอย่างข้างต้น จากนั้นออกจากไฟล์ที่มี+CTRLX

ตอนนี้เรากำลังจะ จำกัด การเข้าถึงไฟล์:

chmod 600 ~/.ssh/authorized_keys

ออกจากผู้ใช้ที่เราสร้างและกลับไปที่ผู้ใช้รูท:

exit

ปิดใช้งานการพิสูจน์ตัวตนด้วยรหัสผ่าน

ตอนนี้เราสามารถปิดการใช้งานการตรวจสอบรหัสผ่านไปยังเซิร์ฟเวอร์ด้วยวิธีการเข้าสู่ระบบจะต้องมีคีย์ ssh โปรดทราบว่าหากคุณปิดใช้งานการรับรองความถูกต้องของรหัสผ่านและรหัสสาธารณะไม่ได้รับการติดตั้งอย่างถูกต้องคุณจะล็อคตัวเองออกจากเซิร์ฟเวอร์ของคุณ ขอแนะนำให้คุณทดสอบคีย์ก่อนที่จะออกจากระบบผู้ใช้รูทของคุณ

ขณะนี้เราเข้าสู่ระบบผู้ใช้รูทของเราดังนั้นเราจะแก้ไขsshd_config:

nano /etc/ssh/sshd_config

เราจะค้นหา 3 ค่าเพื่อให้แน่ใจว่ามีการกำหนดค่า OpenSSH อย่างถูกต้อง

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

เราสามารถหาค่าเหล่านี้ได้โดยการกด+CTRL W

ควรตั้งค่าดังต่อไปนี้:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

หากค่าถูกใส่เครื่องหมายข้อคิดเห็นเอาออก#ที่จุดเริ่มต้นของบรรทัดและตรวจสอบให้แน่ใจว่าค่าของตัวแปรเหล่านั้นเป็นไปตามที่แสดงด้านบน เมื่อคุณมีการเปลี่ยนแปลงตัวแปรเหล่านั้นบันทึกและออกจากการแก้ไขของคุณกับCTRL+ O, ENTERและในที่สุดก็+CTRLX

ตอนนี้เรากำลังจะโหลดsshdด้วยคำสั่งต่อไปนี้:

systemctl reload sshd

ตอนนี้เราสามารถทดสอบการเข้าสู่ระบบ ตรวจสอบให้แน่ใจว่าคุณยังไม่ได้ออกจากเซสชันรูทและเปิดหน้าต่าง ssh ใหม่และเชื่อมต่อกับคีย์ ssh ที่เชื่อมโยงกับการเชื่อมต่อ

ในฉาบนี้อยู่ภายใต้Connection-> ->SSHAuth

เรียกดูเพื่อค้นหาคีย์ส่วนตัวของคุณสำหรับการตรวจสอบสิทธิ์ตามที่คุณควรบันทึกไว้เมื่อสร้างคีย์ ssh

เชื่อมต่อกับเซิร์ฟเวอร์ของคุณด้วยรหัสส่วนตัวเป็นการรับรองความถูกต้องของคุณ ตอนนี้คุณจะถูกล็อกอินเข้าสู่เครื่องเสมือน Vultr VC2 ของคุณ

หมายเหตุ: หากคุณเพิ่มข้อความรหัสผ่านในขณะที่สร้างคีย์ ssh คุณจะได้รับพร้อมต์ สิ่งนี้แตกต่างจากรหัสผ่านผู้ใช้จริงของคุณบนเครื่องเสมือน

ตั้งค่าไฟร์วอลล์พื้นฐาน

กำหนดค่า UFW

ก่อนอื่นเราจะเริ่มด้วยการติดตั้ง UFW ถ้ามันไม่ได้อยู่ในเครื่องเสมือน วิธีที่ดีในการตรวจสอบคือใช้คำสั่งต่อไปนี้:

sudo ufw status

หาก UFW Status:inactiveมีการติดตั้งก็จะเอาท์พุท หากยังไม่ได้ติดตั้งคุณจะได้รับคำแนะนำให้ทำเช่นนั้น

เราสามารถติดตั้งได้ด้วยคำสั่งนี้:

sudo apt-get install ufw -y

ตอนนี้เรากำลังจะอนุญาตให้พอร์ต SSH 22ในไฟร์วอลล์ของเรา:

sudo ufw allow 22

หรือคุณสามารถอนุญาต OpenSSH:

sudo ufw allow OpenSSH

คำสั่งใดคำสั่งหนึ่งข้างต้นจะใช้ได้

ตอนนี้เราได้อนุญาตให้พอร์ตผ่านไฟร์วอลล์ของเราเราสามารถเปิดใช้งาน UFW:

sudo ufw enable

คุณจะถูกถามว่าคุณต้องการดำเนินการนี้หรือไม่ การพิมพ์yตามด้วยENTERจะเปิดใช้งานไฟร์วอลล์:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

หมายเหตุ: หากคุณไม่อนุญาตให้ OpenSSH หรือพอร์ต 22 คุณจะล็อคตัวเองออกจากเครื่องเสมือนของคุณ ตรวจสอบให้แน่ใจว่าหนึ่งในนั้นได้รับอนุญาตก่อนเปิดใช้งาน UFW

เมื่อเปิดใช้งานไฟร์วอลล์แล้วคุณจะยังคงเชื่อมต่อกับอินสแตนซ์ของคุณ เราจะตรวจสอบไฟร์วอลล์ของเราตอนนี้ด้วยคำสั่งเดิมเหมือนเดิม:

sudo ufw status

คุณจะเห็นบางสิ่งที่คล้ายกับผลลัพธ์ต่อไปนี้:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

การกำหนดค่าไฟร์วอลล์ Vultr

เพื่อเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ของเราเราจะใช้ Vultr Firewall ของเรา เข้าสู่ระบบเพื่อบัญชีของคุณ เมื่อเข้าสู่ระบบแล้วคุณจะไปยังแท็บไฟร์วอลล์ที่อยู่ด้านบนของหน้าจอ:

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

ตอนนี้เรากำลังจะเพิ่มกลุ่มไฟร์วอลล์ใหม่ สิ่งนี้จะช่วยให้เราสามารถระบุพอร์ตที่สามารถเข้าถึงไฟร์วอลล์ UFW ของเราได้ซึ่งให้ความปลอดภัยสองชั้น:

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

Vultr จะถามคุณว่าคุณต้องการตั้งชื่อไฟร์วอลล์ด้วยช่อง "คำอธิบาย" ตรวจสอบให้แน่ใจว่าคุณอธิบายสิ่งที่เซิร์ฟเวอร์ภายใต้กลุ่มไฟร์วอลล์นี้จะทำเพื่อการบริหารที่ง่ายขึ้นในอนาคต testเพื่อประโยชน์ของการกวดวิชานี้เราจะตั้งชื่อให้มัน คุณสามารถเปลี่ยนคำอธิบายได้ในภายหลังหากต้องการ

ก่อนอื่นเราจะต้องได้รับที่อยู่ IP ของเรา เหตุผลที่เราทำเช่นนี้โดยตรงคือถ้าที่อยู่ IP ของคุณไม่คงที่และเปลี่ยนแปลงอยู่ตลอดเวลาคุณสามารถลงชื่อเข้าใช้บัญชี Vultr ของคุณและเปลี่ยนที่อยู่ IP ได้

นี่คือสาเหตุที่เราไม่ต้องการที่อยู่ IP ในไฟร์วอลล์ UFW นอกจากนี้ยัง จำกัด การใช้ไฟร์วอลล์ของเครื่องเสมือนของคุณไม่ให้กรองพอร์ตอื่น ๆ ทั้งหมดและเพียงแค่ให้ไฟร์วอลล์ Vultr จัดการได้ นี่เป็นการ จำกัด การกรองโดยรวมในอินสแตนซ์ของคุณ

ใช้กระจกมองหาเครือข่ายของ Vultrเพื่อค้นหาที่อยู่ IP ของคุณ

ดังนั้นตอนนี้เรามีที่อยู่ IP ของเราแล้วเราจะเพิ่มกฎ IPV4 ในไฟร์วอลล์ที่สร้างขึ้นใหม่ของเรา:

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

เมื่อคุณป้อนที่อยู่ IP แล้วให้คลิก+สัญลักษณ์เพื่อเพิ่มที่อยู่ IP ของคุณไปยังไฟร์วอลล์

กลุ่มไฟร์วอลล์ของคุณจะมีลักษณะดังนี้:

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

ตอนนี้เรามีการผูก IP ของเราอย่างถูกต้องในกลุ่มไฟร์วอลล์เราต้องเชื่อมโยง Vultr อินสแตนซ์ของเรา ทางด้านซ้ายคุณจะเห็นแท็บที่ระบุว่า "อินสแตนซ์ที่เชื่อมโยง":

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

เมื่ออยู่ในหน้าคุณจะเห็นรายการแบบหล่นลงของเซิร์ฟเวอร์ของคุณ:

การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นที่ปลอดภัยของ Ubuntu 18.04

คลิกดร็อปดาวน์และเลือกอินสแตนซ์ของคุณ จากนั้นเมื่อคุณพร้อมที่จะเพิ่มอินสแตนซ์ให้กับกลุ่มไฟร์วอลล์ให้คลิกที่+สัญลักษณ์

ขอแสดงความยินดีคุณได้สร้างความปลอดภัยให้กับเครื่องเสมือน Vultr VC2 ของคุณสำเร็จแล้ว สิ่งนี้ทำให้คุณมีพื้นฐานที่ดีสำหรับเลเยอร์ความปลอดภัยขั้นพื้นฐานโดยไม่ต้องกังวลว่าจะมีใครบางคนกำลังพยายามยกตัวอย่างของคุณ

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true