GNU/Linux >> Belajar Linux >  >> Linux

Cara Memulai Pengaturan Server CentOS 7

Pengantar

Sistem CentOS 7 sangat berbeda dari pendahulunya yang lebih tua. Dengan server apa pun, tujuan utama harus selalu keamanan. Banyak pengguna menjadi korban penyusupan berbahaya di server mereka karena kurangnya batasan keamanan yang ditetapkan sejak awal. Mari kita mulai di jalan yang benar dengan meletakkan fondasi kita dengan rasa aman. How-to ini akan membantu Anda dengan pengaturan awal Anda di CentOS 7 sehingga Anda dapat berhasil mengamankan server Anda sambil memberi Anda ketenangan pikiran mengetahui server Anda dilindungi.

Apa yang Anda Butuhkan?

Anda memerlukan server CentOS 7 yang dikonfigurasi dengan alamat IP statis. Jika Anda belum memiliki server, pertimbangkan server berkualitas tinggi dari Atlantic.net dan siap dalam waktu kurang dari 30 detik.

Persiapan Server

Untuk memulai, masuk ke server CentOS 7 Anda melalui SSH atau Konsol VNC yang terletak di sini. Server Atlantic.Net Cloud diatur sebagai instalasi minimal untuk menghindari paket yang tidak perlu diinstal dan tidak pernah digunakan. Jika beberapa paket perangkat lunak yang biasa Anda gunakan tidak terinstal secara default, silakan instal sesuai kebutuhan.

Pastikan server Anda benar-benar mutakhir.

yum update

Kami dapat melanjutkan proses dan mengamankan server Anda dengan server terbaru.

Perbarui Kata Sandi Root CentOS 7

Ketik perintah berikut untuk mengaktifkan permintaan Anda dan ikuti petunjuk di layar untuk memperbarui/mengkonfirmasi kata sandi root Anda:

passwd

Buat pengguna baru dengan hak sudo

Setelah berhasil memperbarui kata sandi Anda, Anda disarankan untuk membuat pengguna baru dengan izin sudo/root. Karena pengguna admin biasa untuk banyak Sistem Operasi Linux seperti CentOS 7  adalah “root”, kami akan membuat pengguna admin baru yang akan digunakan untuk tugas administrasi sehari-hari. Membuat user baru dengan hak akses root akan meningkatkan keamanan server Anda diakses. Pengguna yang tidak diinginkan menargetkan pengguna root karena mereka tahu itu adalah pengguna admin default. Namun, ketika Anda membuat pengguna baru dengan izin sudo/root dan kemudian menonaktifkan pengguna root default, mereka tidak akan pernah tahu pengguna apa yang harus masuk.

Ketik perintah berikut untuk membuat pengguna baru Anda menggantikan “user1” dengan nama pengguna Anda, dan konfirmasi.

adduser user1

Buat kata sandi untuk pengguna tersebut dengan mengetikkan perintah berikut untuk mengaktifkan permintaan Anda dan mengikuti petunjuk di layar untuk memperbarui/mengonfirmasi kata sandi “user1” Anda:

passwd user1

Setelah Anda membuat pengguna baru dan kata sandi, sekarang saatnya untuk menambahkan pengguna ke grup roda sudo. Di CentOS 7, setelah Anda menambahkannya ke grup roda sudo, mereka secara otomatis diberi izin sudo/root. Jalankan perintah berikut untuk menambahkan pengguna ke grup roda sudo.

 gpasswd -a user1 wheel

Terakhir, setelah Anda membuat pengguna dengan izin sudo/root,  Anda dapat keluar dari sesi dan masuk kembali dengan “pengguna1” untuk memverifikasi perubahan yang dibuat. Atau, Anda dapat menjalankan perintah berikut dan mengalihkan pengguna dari root ke “user1”, yang akan meminta Anda untuk memasukkan kata sandi pengguna tersebut.

su - user1

Konfigurasikan Akses SSH

Port 22 adalah port default untuk koneksi jarak jauh melalui SSH di sistem Linux. Dengan mengubah port ssh, Anda akan meningkatkan keamanan server Anda dalam mencegah serangan brute force dan pengguna yang tidak diinginkan mencapai server Anda menggunakan port default. Untuk tutorial ini, saya akan menggunakan Port 5022 sebagai contoh.

Buka file Konfigurasi SSH Anda, temukan baris Port, hapus # dan ubah nomor 22 ke port Kustom Anda. Simpan dan keluar.

sudo vi /etc/ssh/sshd_config
#Port 22
Port 5022

Agar sistem Anda memperbarui pengaturan dari file Konfigurasi SSH, kita harus memulai ulang sshd.

sudo systemctl restart sshd.service

SSH sekarang telah dikonfigurasi untuk menggunakan Port 5022, dan jika Anda mencoba masuk menggunakan Port 22, l gin Anda akan gagal. Namun, jangan keluar dari sesi Anda karena kami perlu mengonfigurasi port kustom pada bagian konfigurasi firewall terlebih dahulu, yang akan kami konfigurasikan pada langkah selanjutnya.

Batasi Akses Root

Karena kami telah memeriksa pengguna baru dengan izin root dan membuat port ssh khusus, jaga agar pengguna root yang sebenarnya tersedia dan rentan terhadap SSH di server Anda. Mari kita batasi akses pengguna root ke server lokal dan berikan izin kepada pengguna baru melalui SSH saja.

Buka file Konfigurasi SSH, temukan baris PermitRootLogin, hapus # dan ubah dari ya menjadi tidak.

sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

Agar sistem Anda memperbarui pengaturan baru di file Konfigurasi SSH, kami harus memulai ulang layanan sshd.

sudo systemctl restart sshd.service

Catatan:Anda sekarang akan menonaktifkan pengguna root dalam membuat perubahan itu, jadi Anda harus masuk ke server Anda dengan "topi" pengguna yang Anda buat. Namun, jangan keluar dari sesi Anda; kita harus mengonfigurasi port kustom pada firewall pada langkah-langkah selanjutnya.

Buat Kunci SSH Pribadi

Kunci SSH Pribadi/Publik adalah fitur tambahan hebat yang meningkatkan keamanan dalam metode server. Namun, dibutuhkan sedikit lebih banyak usaha untuk mengaturnya. Pertanyaannya adalah, Apakah server Anda sepadan dengan keamanan ekstra? Jika Anda ingin menerapkan fitur keamanan berikut, Anda dapat melanjutkan ke langkah berikutnya. Mari kita lanjutkan dan buat SSH Key.

ssh-keygen

Jika Anda ingin mengubah lokasi penyimpanan Kunci SSH, Anda dapat menentukannya di sini. Namun, lokasi default tempat penyimpanannya harus OK. Tekan enter saat diminta dengan pertanyaan berikut, lalu masukkan frasa sandi, kecuali jika Anda tidak menginginkannya.

Enter file in which to save the key (/home/user1/.ssh/id_rsa):

Ini adalah halaman default saat menginstal SSH Keys di server CentOS 7

Mengkonfigurasi Kunci SSH sangat penting. Kita harus menyalin seluruh string kunci ke  Dokumen Word/ Notepad. Kunci dapat dilihat di lokasi berikut dengan perintah cat.

cat ~/.ssh/id_rsa.pub

Salin kunci SSH, dimulai dengan ssh-rsa dan diakhiri dengan [email protected], ke dalam dokumen Word/ Notepad untuk menambahkannya ke file konfigurasi nanti.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]

Setelah Kunci SSH disimpan dengan aman, direktori untuk Kunci SSH memerlukan izin terbatas, yang hanya dapat dibaca, ditulis, dan dijalankan oleh pemiliknya.

chmod 700 .ssh

Di dalam direktori SSH, file yang berisi Kunci SSH harus ditambahkan, cukup dengan menggunakan editor Anda (dalam hal ini VI) lokasi berikut:

vi .ssh/authorized_keys

Paste SSH Key, lalu simpan dan keluar menggunakan format VI.

Terakhir, kita harus membatasi hak akses dari file otor_keys yang baru saja kita buat sehingga hanya pemiliknya yang dapat membaca dan menulis.

chmod 600 .ssh/authorized_keys

Kami sekarang dapat memverifikasi bahwa kunci berfungsi dengan menutup sesi dan mengetik [email protected] atau server Anda dihosting di Konsol SSH Anda. Selanjutnya, Anda dapat mengklik “di sini” untuk melihat artikel Cara Membuat dan Menggunakan Kunci SSH kami untuk informasi lebih lanjut.

Aturan Dasar Firewall

sudo systemctl start firewalld

Selanjutnya, kami akan menambahkan aturan untuk mengizinkan SSH Port 5022 khusus yang telah dibuat sebelumnya untuk mengakses server secara publik. Pada saat yang sama, kami akan menghapus aturan default sebelumnya yang mengizinkan akses SSH pada TCP/22.

sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh

Jika Anda memiliki server web, Anda mungkin ingin mengizinkan aturan berikut untuk mengakses situs Anda melalui internet.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Anda dapat menggunakan ini untuk aturan serupa yang terkait dengan sistem apa pun yang Anda inginkan agar dapat diakses publik. Server pengujian ini disiapkan untuk menghosting situs web dan layanan email, jadi selain aturan SSH dan HTTP(S) yang diperbarui, aturan tambahan untuk POP3, IMAP, dan SMTP aman telah ditambahkan.

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Agar Firewalld menerima pengaturan tersebut, Anda harus memulai ulang firewall.

sudo firewall-cmd --reload

Setelan Anda akan disimpan, dan Anda siap untuk melanjutkan.
Untuk memverifikasi semua layanan/port yang tersedia, jalankan yang berikut:

sudo firewall-cmd --permanent --list-all

Ini adalah halaman default setelah mengkonfigurasi aturan Firewalld pada server CentOS 7

Sinkronisasi Waktu NTP

NTP (Network Time Protocol) digunakan untuk menyinkronkan waktu dan tanggal komputer melalui jaringan agar tetap akurat dan terkini. Mari kita mulai dengan menginstal NTP (Jika belum diinstal) dan mengkonfigurasi layanan untuk menyinkronkan dengan server mereka.

sudo yum install ntp

Setelah layanan NTP terinstal, kita perlu memastikan bahwa layanan tersebut AKTIF.

sudo systemctl start ntpd

Sekarang layanan telah dimulai, mari aktifkan server NTP untuk memperbarui server dari server NTP secara konstan.

sudo systemctl enable ntpd

Tambahkan File Tukar

File Swap hanyalah sejumlah kecil ruang yang dibuat pada hard drive server untuk mensimulasikan Ram. Jika server kehabisan memori, server akan melihat hard drive dan meringankan beban yang menipu sistem agar berpikir bahwa server memiliki lebih banyak memori. Kami akan menyiapkan file swap di hard drive untuk sedikit meningkatkan kinerja server.

Mulailah dengan memeriksa sumber daya Anda untuk memastikan kami dapat menambahkan file. Saat Anda menjalankan perintah berikut, Anda akan melihat persentase ruang pada Hard drive Anda yang sedang digunakan.

df -h

Saat membuat file Swap, Anda biasanya ingin menambahkan setengah dari RAM yang ada hingga 4 GB (Jika Anda memiliki 1 GB Ram yang sebenarnya, Anda menambahkan file 512 MB). Di bagian ini, saya akan menambahkan file swap 512MB ke drive. Cara menghitungnya adalah dengan 1024 x 512MB =524288 ukuran blok.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Sekarang kita telah menambahkan file swap, sebuah area perlu dibuat untuk melanjutkan.

sudo mkswap /swapfile

Dengan file Swap yang dibuat dan area file Swap ditambahkan, kita dapat menambahkan izin ke file sehingga hanya pemiliknya yang dapat membaca dan menulis.

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Sekarang file swap memiliki izin yang sesuai, kita dapat melanjutkan dan mengaktifkannya.

sudo swapon /swapfile

Anda dapat memverifikasi file Swap yang baru ditambahkan dengan yang berikut ini.

sudo swapon -s

Untuk membuat file Swap selalu aktif bahkan setelah reboot, kita harus mengonfigurasinya dengan tepat.

sudo vi /etc/fstab

Tempelkan perintah berikut di bagian bawah file, simpan pekerjaan Anda, dan keluar.

/swapfile              swap   swap     defaults     0 0

Terakhir, verifikasi apakah swapfile Anda diaktifkan dengan mengetikkan perintah berikut:

free -m

Ini adalah halaman default setelah membuat File Swap di Server CentOS 7

Apa Selanjutnya?

Dengan itu, Anda sekarang memiliki server dengan fondasi keamanan yang kuat, memberi Anda ketenangan pikiran mengetahui bahwa server Anda dilindungi. Anda sekarang dapat melanjutkan dengan membangun platform Anda sesuai dengan kebutuhan Anda. Terima kasih telah mengikuti, dan jangan ragu untuk menghubungi kami kembali untuk pembaruan lebih lanjut.

Pelajari lebih lanjut tentang layanan hosting VPS dan harga hosting VPS kami.


Linux
  1. Cara mengatur server SFTP di CentOS

  2. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  3. Cara Setup Server NFS di CentOS 7 / RHEL 7

  1. Cara Menginstal VSFTPD di Server Cloud CentOS

  2. Bagaimana cara Setup Server NTP di CentOS?

  3. Bagaimana cara mengatur VSFTPD di CentOS 7.x?

  1. Cara Setup Server FTP dengan VSFTPD di CentOS 7

  2. Cara mengatur replikasi MySQL di CentOS

  3. Cara Setup Server VNC untuk Pengguna Baru di CentOS/RHEL 5