Admin Linux - Manajemen Jarak Jauh
Ketika berbicara tentang manajemen jarak jauh di CentOS sebagai Administrator, kami akan menjelajahi dua metode -
- Manajemen Konsol
- Manajemen GUI
Manajemen Konsol Jarak Jauh
Manajemen Konsol Jarak Jauh berarti melakukan tugas administrasi dari baris perintah melalui layanan seperti ssh. Untuk menggunakan CentOS Linux secara efektif, sebagai Administrator, Anda harus mahir dengan baris perintah. Linux pada intinya dirancang untuk digunakan dari konsol. Bahkan saat ini, beberapa administrator sistem lebih menyukai kekuatan perintah dan menghemat uang untuk perangkat keras dengan menjalankan kotak Linux tanpa tulang tanpa terminal fisik dan tidak ada GUI yang terpasang.
Manajemen GUI Jarak Jauh
Manajemen GUI Jarak Jauh biasanya dilakukan dengan dua cara: Sesi X jarak jauh atau protokol lapisan aplikasi GUI seperti VNC. Masing-masing memiliki kelebihan dan kekurangan. Namun, untuk sebagian besar, VNC adalah pilihan terbaik untuk Administrasi. Ini memungkinkan kontrol grafis dari sistem operasi lain seperti Windows atau OS X yang tidak secara native mendukung protokol X Windows.
Menggunakan remote X Sessions adalah native dari Window-Managers X-Window dan DesktopManagers yang berjalan pada X. Namun, seluruh arsitektur X Session sebagian besar digunakan dengan Linux. Tidak semua Administrator Sistem memiliki Laptop Linux untuk membuat Sesi X jarak jauh. Oleh karena itu, yang paling umum adalah menggunakan versi Server VNC yang telah disesuaikan.
Kelemahan terbesar VNC adalah: VNC tidak secara native mendukung lingkungan multi-pengguna seperti X-Sessions jarak jauh. Oleh karena itu, untuk akses GUI ke pengguna akhir XSessions jarak jauh akan menjadi pilihan terbaik. Namun, kami terutama mementingkan pengelolaan server CentOS dari jarak jauh.
Kami akan membahas konfigurasi VNC untuk beberapa administrator versus beberapa ratus pengguna akhir dengan Sesi X jarak jauh.
Meletakkan Fondasi Keamanan dengan SSH untuk Akses Konsol Jarak Jauh
ssh atau Secure Shellsekarang menjadi standar untuk mengelola server Linux dari jarak jauh. SSH tidak seperti telnet menggunakan TLS untuk keaslian dan enkripsi komunikasi ujung ke ujung. Ketika dikonfigurasi dengan benar, administrator dapat yakin bahwa kata sandi dan server mereka dipercaya dari jarak jauh.
Sebelum mengonfigurasi SSH, mari kita bahas sedikit tentang keamanan dasar dan akses paling umum. Saat SSH berjalan pada port default 22; lebih cepat daripada nanti, Anda akan mendapatkan serangan kamus secara brute force terhadap nama pengguna dan sandi umum. Ini hanya datang dengan wilayahnya. Tidak peduli berapa banyak host yang Anda tambahkan ke file deny Anda, mereka hanya akan masuk dari alamat IP yang berbeda setiap hari.
Dengan beberapa aturan umum, Anda dapat mengambil beberapa langkah proaktif dan membiarkan orang jahat membuang waktu mereka. Berikut adalah beberapa aturan keamanan yang harus diikuti dengan menggunakan SSH untuk administrasi jarak jauh di server produksi -
Jangan pernah menggunakan nama pengguna atau kata sandi yang umum. Nama pengguna di sistem tidak boleh default sistem, atau dikaitkan dengan alamat email perusahaan seperti:[email protected]
Akses root atau akses administrasi tidak boleh diizinkan melalui SSH. Gunakan nama pengguna unik dan su untuk root atau akun administrasi setelah diautentikasi melalui SSH.
Kebijakan kata sandi adalah suatu keharusan: Kata sandi pengguna SSH yang rumit seperti: "This & IS & a & GUD & P @ ssW0rd & 24 & me". Ubah sandi setiap beberapa bulan untuk menghilangkan kerentanan terhadap serangan brute force tambahan.
Nonaktifkan akun yang ditinggalkan atau tidak digunakan untuk waktu yang lama. Jika manajer perekrutan memiliki pesan suara yang menyatakan bahwa mereka tidak akan melakukan wawancara selama sebulan; yang dapat mengarah pada individu yang paham teknologi dengan banyak waktu luang, misalnya.
Perhatikan log Anda setiap hari. Sebagai Administrator Sistem, dedikasikan setidaknya 30-40 menit setiap pagi untuk meninjau sistem dan log keamanan. Jika ditanya, beri tahu semua orang bahwa Anda tidak punya waktu untuk tidak proaktif. Praktik ini akan membantu mengisolasi tanda peringatan sebelum masalah muncul dengan sendirinya bagi pengguna akhir dan keuntungan perusahaan.
Note On Linux Security- Siapapun yang tertarik dengan Administrasi Linux harus secara aktif mencari berita dan teknologi Keamanan Cyber terkini. Meskipun kebanyakan kita mendengar tentang sistem operasi lain yang sedang disusupi, kotak Linux yang tidak aman adalah harta yang dicari oleh penjahat dunia maya. Dengan kekuatan Linux pada koneksi internet berkecepatan tinggi, penjahat dunia maya yang terampil dapat menggunakan Linux untuk memanfaatkan serangan pada sistem operasi lain.
Instal dan Konfigurasi SSH untuk Akses Jarak Jauh
Step 1 - Instal SSH Server dan semua paket dependen.
[root@localhost]# yum -y install openssh-server
'Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: repos.centos.net
* extras: repos.dfw.centos.com
* updates: centos.centos.com
Resolving Dependencies
--> Running transaction check
---> Package openssh-server.x86_64 0:6.6.1p1-33.el7_3 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
Step 2 - Gunakan penggunaan reguler yang aman untuk menambah akses shell.
[root@localhost ~]# useradd choozer
[root@localhost ~]# usermod -c "Remote Access" -d /home/choozer -g users -G
wheel -a choozer
Note- Kami menambahkan pengguna baru ke roda kelompok memungkinkan kemampuan untuk su ke akar sekali akses SSH telah dikonfirmasi. Kami juga menggunakan nama pengguna yang tidak dapat ditemukan dalam daftar kata umum. Dengan cara ini, akun kita tidak akan terkunci saat SSH diserang.
File yang menyimpan pengaturan konfigurasi untuk server sshd adalah / etc / ssh / sshd_config .
Bagian yang awalnya ingin kita edit adalah -
LoginGraceTime 60m
PermitRootLogin no
Step 3- Muat ulang daemon SSH sshd .
[root@localhost]# systemctl reload sshd
Sebaiknya setel masa tenggang logout ke 60 menit. Beberapa tugas administrasi yang rumit dapat melebihi waktu default 2 menit. Tidak ada yang lebih membuat frustrasi daripada memiliki waktu tunggu sesi SSH saat mengonfigurasi atau meneliti perubahan.
Step 4 - Ayo coba masuk menggunakan kredensial root.
bash-3.2# ssh centos.vmnet.local
[email protected]'s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Step 5- Kami tidak lagi dapat masuk dari jarak jauh melalui ssh dengan kredensial root . Jadi mari masuk ke akun pengguna tanpa hak milik kami dan su ke akun root .
bash-3.2# ssh [email protected]
[email protected]'s password:
[choozer@localhost ~]$ su root
Password:
[root@localhost choozer]#
Step 6- Terakhir, pastikan layanan SSHD dimuat saat boot dan firewalld mengizinkan koneksi SSH di luar.
[root@localhost]# systemctl enable sshd
[root@localhost]# firewall-cmd --permanent --add-service=ssh
success
[root@localhost]# firewall-cmd --reload
success
[root@localhost]#
SSH sekarang sudah disiapkan dan siap untuk administrasi jarak jauh. Bergantung pada batas perusahaan Anda, perangkat perbatasan pemfilteran paket mungkin perlu dikonfigurasi untuk mengizinkan administrasi jarak jauh SSH di luar LAN perusahaan.
Konfigurasi VNC untuk Administrasi CentOS Jarak Jauh
Ada beberapa cara untuk mengaktifkan administrasi CentOS jarak jauh melalui VNC di CentOS 6 - 7. Cara termudah, tetapi paling membatasi adalah hanya menggunakan paket bernama vino .Vinoadalah aplikasi Koneksi Desktop Jaringan Virtual untuk Linux yang dirancang dengan platform Gnome Desktop. Karenanya, penginstalan diasumsikan telah selesai dengan Gnome Desktop. Jika Gnome Desktop belum diinstal, lakukan sebelum melanjutkan. Vino akan diinstal dengan instalasi GUI Gnome secara default.
Untuk mengonfigurasi berbagi layar dengan Vino di bawah Gnome, kami ingin masuk ke Preferensi Sistem CentOS untuk berbagi layar.
Applications->System Tools->Settings->Sharing
Catatan untuk mengkonfigurasi Berbagi Desktop VNC -
Disable New Connections must ask for access- Opsi ini akan membutuhkan akses fisik untuk mengok setiap koneksi. Opsi ini akan mencegah administrasi jarak jauh kecuali seseorang menggunakan desktop fisik.
Enable Require a password- Ini terpisah dari kata sandi pengguna. Ini akan mengontrol akses ke desktop virtual dan masih memerlukan kata sandi pengguna untuk mengakses desktop yang terkunci (ini bagus untuk keamanan).
Forward UP&P Ports: If available leave disabled- Meneruskan port UP&P akan mengirimkan permintaan Universal Plug and Play untuk perangkat lapisan 3 untuk memungkinkan koneksi VNC ke host secara otomatis. Kami tidak menginginkan ini.
Pastikan vino mendengarkan di VNC Port 5900.
[root@localhost]# netstat -antup | grep vino
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 4873/vino-server
tcp6 0 0 :::5900 :::* LISTEN 4873/vino-server
[root@localhost]#
Sekarang mari kita konfigurasikan Firewall kita untuk mengizinkan koneksi VNC masuk.
[root@localhost]# firewall-cmd --permanent --add-port=5900/tcp
success
[root@localhost]# firewall-cmd --reload
success
[root@localhost rdc]#
Akhirnya, seperti yang Anda lihat, kami dapat menghubungkan Kotak CentOS kami dan mengelolanya dengan klien VNC baik di Windows atau OS X.
Mematuhi aturan yang sama untuk VNC sama pentingnya dengan yang kami tetapkan untuk SSH. Sama seperti SSH, VNC terus dipindai di seluruh rentang IP dan diuji untuk kata sandi yang lemah. Perlu juga dicatat bahwa membiarkan login CentOS default diaktifkan dengan waktu tunggu konsol akan membantu keamanan VNC jarak jauh. Karena penyerang memerlukan VNC dan kata sandi pengguna, pastikan kata sandi berbagi layar Anda berbeda dan sama sulit ditebak seperti kata sandi pengguna.
Setelah memasukkan kata sandi berbagi layar VNC, kita juga harus memasukkan kata sandi pengguna untuk mengakses desktop yang terkunci.
Security Note- Secara default, VNC bukanlah protokol terenkripsi. Karenanya, koneksi VNC harus disalurkan melalui SSH untuk enkripsi.
Siapkan Terowongan SSH Melalui VNC
Menyiapkan Tunnel SSH akan menyediakan lapisan enkripsi SSH untuk menyalurkan koneksi VNC. Fitur hebat lainnya adalah menggunakan kompresi SSH untuk menambahkan lapisan kompresi lain ke pembaruan layar GUI VNC. Lebih aman dan lebih cepat selalu merupakan hal yang baik ketika berurusan dengan administrasi server CentOS!
Jadi dari klien Anda yang akan memulai koneksi VNC, mari kita siapkan terowongan SSH jarak jauh. Dalam demonstrasi ini, kami menggunakan OS X. Pertama kita perlu sudo -s ke root .
bash-3.2# sudo -s
password:
Masukkan kata sandi pengguna dan kita sekarang harus memiliki shell root dengan prompt # -
bash-3.2#
Sekarang, mari buat Terowongan SSH kita .
ssh -f [email protected] -L 2200:192.168.1.143:5900 -N
Mari kita hancurkan perintah ini -
ssh - Menjalankan utilitas ssh lokal
-f - ssh harus berjalan di latar belakang setelah tugas dijalankan sepenuhnya
[email protected] - Pengguna ssh jarak jauh di server CentOS yang menghosting layanan VNC
-L 2200:192.168.1.143:5900 - Buat terowongan kami [Port Lokal]: [host jarak jauh]: [port jarak jauh layanan VNC]
-N memberitahu ssh kita tidak ingin menjalankan perintah pada sistem jarak jauh
bash-3.2# ssh -f [email protected] -L 2200:192.168.1.143:5900 -N
[email protected]'s password:
Setelah berhasil memasukkan kata sandi pengguna ssh jarak jauh, terowongan ssh kami dibuat. Sekarang untuk bagian yang keren! Untuk menghubungkan kita mengarahkan klien VNC kita ke localhost di port terowongan kita, dalam hal ini port 2200. Berikut adalah konfigurasi pada Klien VNC Laptop Mac -
Dan akhirnya, Koneksi Desktop VNC jarak jauh kami!
Hal yang keren tentang tunneling SSH adalah ia dapat digunakan untuk hampir semua protokol. Terowongan SSH biasanya digunakan untuk melewati pemfilteran port keluar dan masuk oleh ISP, serta mengelabui lapisan aplikasi IDS / IPS sambil menghindari pemantauan lapisan sesi lainnya.
ISP Anda mungkin memfilter port 5900 untuk akun non-bisnis tetapi mengizinkan SSH pada port 22 (atau satu dapat menjalankan SSH pada port mana pun jika port 22 difilter).
IPS tingkat aplikasi dan IDS melihat payload. Misalnya, buffer overflow umum atau SQL Injection. Enkripsi SSH ujung-ke-ujung akan mengenkripsi data lapisan aplikasi.
SSH Tunneling adalah alat yang hebat di kotak alat Administrator Linux untuk menyelesaikan sesuatu. Namun, sebagai Administrator kami ingin menjelajahi penguncian ketersediaan pengguna dengan hak istimewa yang lebih rendah yang memiliki akses ke tunneling SSH.
Administration Security Note- Membatasi Tunneling SSH adalah sesuatu yang membutuhkan pemikiran dari seorang Administrator. Menilai mengapa pengguna membutuhkan Tunneling SSH sejak awal; tunneling yang dibutuhkan pengguna; bersama dengan kemungkinan risiko praktis dan dampak kasus terburuk.
Ini adalah topik lanjutan yang membentang di luar bidang primer tingkat menengah. Penelitian tentang topik ini disarankan bagi mereka yang ingin mencapai eselon atas Administrasi Linux CentOS.
Gunakan SSH Tunnel untuk Remote X-Windows
Desain X-Windows di Linux sangat rapi dibandingkan dengan Windows. Jika kita ingin mengontrol kotak Linux jarak jauh dari kotak Linux lain, kita dapat memanfaatkan mekanisme yang dibangun di X.
X-Windows (sering disebut hanya "X"), menyediakan mekanisme untuk menampilkan jendela aplikasi yang berasal dari satu kotak Linux ke bagian tampilan X di kotak Linux lainnya. Jadi melalui SSH kita dapat meminta aplikasi X-Windows untuk diteruskan ke tampilan kotak Linux lain di seluruh dunia!
Untuk menjalankan Aplikasi X dari jarak jauh melalui terowongan ssh, kita hanya perlu menjalankan satu perintah -
[root@localhost]# ssh -X [email protected]
The syntax is - ssh -X [user] @ [host], dan host harus menjalankan ssh dengan pengguna yang valid.
Berikut ini adalah tangkapan layar GIMP yang berjalan di Workstation Ubuntu melalui terowongan ssh XWindows jarak jauh.
Sangat mudah untuk menjalankan aplikasi dari jarak jauh dari server atau workstation Linux lain. Dimungkinkan juga untuk memulai seluruh X-Session dan memiliki seluruh lingkungan desktop dari jarak jauh melalui beberapa metode.
XDMCP
Paket perangkat lunak tanpa kepala seperti NX
Mengonfigurasi tampilan dan desktop alternatif di X dan manajer desktop seperti Gnome atau KDE
Metode ini paling umum digunakan untuk server tanpa kepala tanpa tampilan fisik dan benar-benar melebihi cakupan primer tingkat menengah. Namun, ada baiknya mengetahui opsi yang tersedia.