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.
- Aktifkan Login Tanpa Kata Sandi SSH
Konfigurasi Jaringan dan Resolusi Nama
1. Setiap administrator sistem harus memahami dengan baik file konfigurasi seluruh sistem berikut:
- /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!