Seri RHCSA: Mengamankan SSH, Mengatur Nama Host dan Mengaktifkan Layanan Jaringan - Bagian 8


Sebagai administrator sistem, Anda sering kali harus masuk ke sistem jarak jauh untuk melakukan berbagai tugas administrasi menggunakan emulator terminal. Anda jarang akan duduk di depan terminal (fisik) yang sebenarnya, jadi Anda perlu mengatur cara untuk masuk dari jarak jauh ke mesin yang akan diminta untuk Anda kelola.

Faktanya, itu mungkin hal terakhir yang harus Anda lakukan di depan terminal fisik. Demi alasan keamanan, menggunakan Telnet untuk tujuan ini bukanlah ide yang baik, karena semua lalu lintas melewati kabel dalam bentuk teks biasa yang tidak terenkripsi.

Selain itu, pada artikel ini kami juga akan mengulas cara mengkonfigurasi layanan jaringan agar dimulai secara otomatis saat boot dan mempelajari cara mengatur resolusi jaringan dan nama host secara statis atau dinamis.

Menginstal dan Mengamankan Komunikasi SSH

Agar Anda dapat masuk secara jarak jauh ke kotak RHEL 7 menggunakan SSH, Anda harus menginstal openssh, openssh -paket klien dan openssh-server. Perintah berikut tidak hanya akan menginstal program login jarak jauh, tetapi juga alat transfer file aman, serta utilitas penyalinan file jarak jauh:


yum update && yum install openssh openssh-clients openssh-servers

Perhatikan bahwa merupakan ide bagus untuk menginstal versi server karena Anda mungkin ingin menggunakan mesin yang sama sebagai klien dan server pada suatu saat.

Setelah instalasi, ada beberapa hal dasar yang perlu Anda pertimbangkan jika Anda ingin mengamankan akses jarak jauh ke server SSH Anda. Pengaturan berikut harus ada di file /etc/ssh/sshd_config.

1. Ubah port tempat daemon sshd akan mendengarkan dari 22 (nilai default) ke port tinggi (2000 atau lebih tinggi), tapi pastikan dulu port yang dipilih tidak sedang digunakan.

Misalnya, Anda memilih port 2500. Gunakan netstat untuk memeriksa apakah port yang dipilih sedang digunakan atau tidak:


netstat -npltu | grep 2500

Jika netstat tidak mengembalikan apa pun, Anda dapat menggunakan port 2500 dengan aman untuk sshd, dan Anda harus mengubah pengaturan Port di file konfigurasi sebagai berikut:


Port 2500

2. Hanya izinkan protokol 2:


Protocol 2

3. Konfigurasikan batas waktu autentikasi menjadi 2 menit, jangan izinkan login root, dan batasi hingga minimum daftar pengguna yang diperbolehkan login melalui ssh:


LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Jika memungkinkan, gunakan autentikasi berbasis kunci, bukan autentikasi sandi:


PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

Ini mengasumsikan bahwa Anda telah membuat pasangan kunci dengan nama pengguna Anda di mesin klien Anda dan menyalinnya ke server Anda seperti yang dijelaskan di sini.

  1. Aktifkan Login Tanpa Kata Sandi SSH

Konfigurasi Jaringan dan Resolusi Nama

1. Setiap administrator sistem harus memahami dengan baik file konfigurasi seluruh sistem berikut:

  1. /etc/hosts digunakan untuk menyelesaikan nama <---> IP di jaringan kecil.

Setiap baris dalam file /etc/hosts memiliki struktur berikut:


IP address - Hostname - FQDN

Misalnya,


192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf menentukan alamat IP server DNS dan domain pencarian, yang digunakan untuk melengkapi nama kueri tertentu menjadi nama domain yang sepenuhnya memenuhi syarat ketika tidak ada akhiran domain yang disediakan.

Dalam keadaan normal, Anda tidak perlu mengedit file ini karena file ini dikelola oleh sistem. Namun, jika Anda ingin mengubah server DNS, harap diperhatikan bahwa Anda harus tetap berpegang pada struktur berikut di setiap baris:


nameserver - IP address

Misalnya,


nameserver 8.8.8.8

3. 3. /etc/host.conf menentukan metode dan urutan penyelesaian nama host dalam suatu jaringan. Dengan kata lain, memberi tahu penyelesai nama layanan mana yang akan digunakan, dan dalam urutan apa.

Meskipun file ini memiliki beberapa opsi, pengaturan paling umum dan mendasar mencakup baris berikut:


order bind,hosts

Hal ini menunjukkan bahwa penyelesai pertama-tama harus mencari server nama yang ditentukan dalam resolv.conf dan kemudian ke file /etc/hosts untuk resolusi nama.

4. /etc/sysconfig/network berisi informasi perutean dan host global untuk semua antarmuka jaringan. Nilai-nilai berikut dapat digunakan:


NETWORKING=yes|no
HOSTNAME=value

Dimana nilainya harus Fully Qualified Domain Name (FQDN).


GATEWAY=XXX.XXX.XXX.XXX

Dimana XXX.XXX.XXX.XXX adalah alamat IP gateway jaringan.


GATEWAYDEV=value

Dalam mesin dengan beberapa NIC, value adalah perangkat gateway, seperti enp0s3.

5. File di dalam /etc/sysconfig/network-scripts (file konfigurasi adaptor jaringan).

Di dalam direktori yang disebutkan sebelumnya, Anda akan menemukan beberapa file teks biasa bernama.


ifcfg-name

Dimana name adalah nama NIC yang dikembalikan oleh ip link show:

Misalnya:

Selain antarmuka loopback, Anda dapat mengharapkan konfigurasi serupa untuk NIC Anda. Perhatikan bahwa beberapa variabel, jika disetel, akan menggantikan variabel yang ada di /etc/sysconfig/network untuk antarmuka khusus ini. Setiap baris diberi komentar untuk klarifikasi dalam artikel ini tetapi dalam file sebenarnya Anda harus menghindari komentar:


HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
TYPE=Ethernet # Type of connection
BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes # The operating system should bring up this NIC during boot

Mengatur Nama Host

Di Red Hat Enterprise Linux 7, perintah hostnamectl digunakan untuk melakukan kueri dan menyetel nama host sistem.

Untuk menampilkan nama host saat ini, ketik:


hostnamectl status

Untuk mengubah nama host, gunakan


hostnamectl set-hostname [new hostname]

Misalnya,


hostnamectl set-hostname cinderella

Agar perubahan diterapkan, Anda perlu memulai ulang daemon yang dihosting (dengan demikian Anda tidak perlu logout dan mengaktifkan lagi untuk menerapkan perubahan):


systemctl restart systemd-hostnamed

Selain itu, RHEL 7 juga menyertakan utilitas nmcli yang dapat digunakan untuk tujuan yang sama. Untuk menampilkan nama host, jalankan:


nmcli general hostname

dan untuk mengubahnya:


nmcli general hostname [new hostname]

Misalnya,


nmcli general hostname rhel7

Memulai Layanan Jaringan saat Boot

Sebagai penutup, mari kita lihat bagaimana kita dapat memastikan bahwa layanan jaringan dimulai secara otomatis saat boot. Secara sederhana, hal ini dilakukan dengan membuat symlink ke file tertentu yang ditentukan di bagian [Instal] pada file konfigurasi layanan.

Dalam kasus firewalld (/usr/lib/systemd/system/firewalld.service):


[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service

Untuk mengaktifkan layanan:


systemctl enable firewalld

Di sisi lain, menonaktifkan firewalld memberikan hak untuk menghapus symlink:


systemctl disable firewalld

Kesimpulan

Dalam artikel ini kami telah merangkum cara memasang dan mengamankan koneksi melalui SSH ke server RHEL, cara mengubah namanya, dan terakhir cara memastikan bahwa layanan jaringan dimulai pada boot. Jika Anda melihat bahwa layanan tertentu gagal dimulai dengan benar, Anda dapat menggunakan systemctl status -l [service] dan journalctl -xn untuk memecahkan masalahnya.

Jangan ragu untuk memberi tahu kami pendapat Anda tentang artikel ini menggunakan formulir komentar di bawah. Pertanyaan juga diterima. Kami menantikan kabar dari Anda!