Sistem Konfigurasi dan Keamanan di Server Linux
Dalam sebuah Linux server kita perlu melakukan konfigurasi dan menerapkan sistem keamanan dalam server tersebut. Pada pembahasan kali ini, saya akan membahas mengenai NTP (Network Time Protocol), Repository, VDO (Virtual Data Optimizer), Firewall, dan lainnya. Berikut adalah penjelasan mengenai hal - hal dalam topik kali ini.
1. Network Time Protocol (NTP)
NTP (Network Time Protocol) adalah protokol yang digunakan
untuk menyinkronisasikan waktu di antara sistem komputer dan jaringan. Dalam
sistem operasi Linux, NTP digunakan untuk menyinkronisasikan waktu pada sistem
dengan waktu yang tepat dari sumber waktu yang ditentukan, seperti server NTP
publik atau perangkat GPS.
Untuk mengkonfigurasi NTP di Linux, perlu menginstal paket
ntp dan mengedit konfigurasi ntp.conf. Dalam file konfigurasi tersebut, kita
dapat menentukan sumber waktu yang digunakan oleh sistem, seperti server NTP
publik atau perangkat GPS. Kita juga dapat mengatur frekuensi sinkronisasi
waktu dan toleransi waktu yang diizinkan.
2. Repository
Repository adalah tempat yang digunakan untuk menyimpan dan
mengelola file, data, atau kode sumber. Dalam sistem operasi Linux, repository
digunakan untuk menyimpan paket-paket perangkat lunak yang dapat diinstal pada
sistem.
Ada dua jenis repository yang umum digunakan dalam Linux,
yaitu repository resmi dan repository tersedia secara umum.
Repository resmi adalah repository yang dikelola oleh
pengembang sistem operasi, yang menyimpan paket-paket yang diuji dan dipercaya.
Repository ini dapat diakses melalui perintah terminal dengan menggunakan
aplikasi seperti apt atau yum.
Repository tersedia secara umum adalah repository yang
dikelola oleh komunitas, yang menyimpan paket-paket yang dapat diinstal pada
sistem. Repository ini dapat diakses melalui perintah terminal dengan
menggunakan aplikasi seperti apt atau yum, namun harus diperhatikan untuk
memastikan bahwa paket-paket yang diinstal di repository ini sudah diuji dan
dipercaya.
3. Swap
Di linux, swap adalah area di disk yang digunakan sebagai
pengganti memori RAM. Jika memori RAM tidak cukup, sistem operasi akan
mengalihkan data yang tidak digunakan saat ini ke area swap, sehingga memori
RAM dapat digunakan untuk program yang sedang berjalan.
Swap dapat dikonfigurasi sebagai file atau partisi di disk.
Dalam sistem operasi Linux, file swap yang digunakan disebut swapfile, yang
dapat dibuat dengan menggunakan perintah fallocate atau dd. Sebuah partisi swap
dapat dibuat saat instalasi sistem operasi atau dengan menggunakan utilitas
seperti fdisk atau gparted.
4. Virtual Data Optimizer (VDO)
VDO (Virtual data Optimizer) adalah teknologi yang digunakan
untuk mengoptimalkan penyimpanan data di sistem file Linux. Ini dapat digunakan
untuk mengurangi ukuran file, meningkatkan kecepatan akses data, dan
meningkatkan efisiensi penyimpanan.
VDO bekerja dengan mengompresi dan menduplikasi data yang
disimpan di disk. Ini mengurangi ukuran file dan dengan menghapus duplikat data
yang sama disimpan di berbagai tempat. VDO juga meningkatkan kecepatan akses
data dengan mengkonversi data yang disimpan menjadi format yang lebih efisien.
VDO dapat digunakan pada sistem file yang berbeda, seperti
ext4, XFS, dan Btrfs. Untuk mengaktifkan VDO, harus menginstal paket vdo dan
mengkonfigurasi sistem file yang akan digunakan. Setelah konfigurasi selesai,
kita dapat mengaktifkan VDO dengan menjalankan vdo create. Kita juga dapat
mengecek status VDO dengan menjalankan perintah vdo status.
5. Tuned Profile
Tuned Profile adalah suatu konfigurasi yang digunakan untuk
mengoptimalkan performa sistem Linux. Ini mengatur parameter-parameter sistem
seperti pengaturan CPU, I/O dan konfigurasi jaringan untuk meningkatkan kinerja
sistem dalam berbagai situasi.
Tuned Profile dikembangkan oleh Red Hat dan dapat digunakan
pada sistem operasi yang didasarkan pada Red Hat, seperti Fedora dan CentOS.
Tuned profile dapat digunakan dengan menginstal paket tuned dan mengkonfigurasi
profil yang diinginkan.
6. SELinux
SELinux adalah sistem keamanan yang dibangun di atas kernel
Linux yang mengimplementasikan kontrol akses mandiri. SELinux menggunakan
teknologi label untuk memberikan akses khusus pada file, proses, dan objek
lainnya di sistem. Ini dilakukan dengan menetapkan pengaturan akses yang sesuai
untuk setiap objek, yang dikenal sebagai "security context", yang
menentukan siapa yang diizinkan untuk mengakses objek tersebut dan bagaimana
akses tersebut diizinkan. SELinux juga dapat digunakan untuk mengkonfigurasi
sistem untuk mengizinkan akses yang lebih terbatas daripada yang diizinkan oleh
pengaturan akses yang ditentukan oleh sistem file standar.
7. Crontab
Cron adalah sebuah program di Linux yang digunakan untuk
menjalankan tugas-tugas yang dijadwalkan secara otomatis. Crontab adalah
perintah yang digunakan untuk mengelola jadwal tugas-tugas yang dijadwalkan
menggunakan cron.
Setiap pengguna dapat membuat file crontab pribadi dengan
menggunakan perintah "crontab -e" dari terminal. File ini berisi
jadwal tugas-tugas yang dijadwalkan dan perintah yang akan dijalankan pada
jadwal tersebut. Setiap baris dalam file crontab menentukan waktu dan hari
dalam minggu untuk menjalankan tugas dan perintah yang akan dijalankan.
8. Autofs
Autofs adalah sistem pembuat file otomatis di Linux yang
digunakan untuk mengaktifkan file sistem atau direktori ketika dibaca atau
digunakan, dan me-nonaktifkan kembali ketika tidak digunakan. Ini memungkinkan
sistem untuk menghemat sumber daya dengan tidak membuat file atau direktori
yang tidak digunakan secara permanen dalam memori.
Autofs digunakan dengan mengonfigurasi file konfigurasi yang
menentukan file sistem atau direktori yang akan di-mount otomatis dan kondisi
apa yang harus dipenuhi agar dapat di-mount. Kemudian, sistem akan mengawasi
akses ke file sistem atau direktori yang ditentukan dan meng-mount atau
me-nonaktifkan file sistem sesuai kondisi yang ditentukan.
Autofs juga dapat digunakan untuk meng-mount file sistem
jaringan seperti NFS atau SMB, yang memungkinkan akses ke file sistem jaringan
tanpa harus mengonfigurasi mount point secara manual.
9. Journal
Journaling adalah fitur yang digunakan dalam sistem file
linux untuk menyimpan catatan atau "journal" tentang perubahan yang
dibuat pada file sistem. Ini dilakukan untuk menyediakan mekanisme untuk
memulihkan konsistensi file sistem jika terjadi kerusakan atau kegagalan
sistem.
Ada beberapa jenis journaling yang digunakan dalam Linux,
termasuk :
- Journaling File System (JFS), JFS adalah sistem file journaling yang dikembangkan oleh IBM. Ini menyimpan catatan dari perubahan yang dibuat pada file sistem dalam journal sebelum perubahan tersebut dilakukan pada file sistem itu sendiri. Jika terjadi kegagalan sistem, JFS dapat digunakan untuk memulihkan konsistensi file sistem dengan menggunakan catatan dalam journal.
- Ext3, Ext3 adalah versi yang ditingkatkan dari sistem file Ext2 yang menambahkan fitur journaling. Seperti JFS, Ext3 menyimpan catatan dari perubahan yang dibuat pada file sistem dalam journal sebelum perubahan tersebut dilakukan pada file sistem itu sendiri. Namun, Ext3 tidak sekuat JFS dalam hal pemulihan konsistensi file sistem setelah kegagalan sistem.
- Ext4, Ext4 merupakan versi yang ditingkatkan dari Ext3 yang menambahkan fitur journaling yang lebih kuat dan performa yang lebih baik.
- XFS, XFS adalah sistem file journaling yang dikembangkan oleh SGI. Ini menyimpan catatan dari perubahan yang dibuat pada file sistem dalam journal sebelum perubahan tersebut dilakukan pada file sistem itu sendiri. XFS dapat digunakan untuk menangani file sistem besar dan menyediakan performa yang cepat dalam operasi I/O.
10. Container
Container adalah teknologi yang digunakan dalam Linux untuk
mengelola aplikasi dan layanan dalam lingkungan yang terisolasi. Ini
memungkinkan aplikasi dan layanan untuk dijalankan dalam lingkungan yang didefinisikan
sepenuhnya, yang berisi semua dependensi yang dibutuhkan tanpa terpengaruh oleh
konfigurasi atau pengaturan sistem yang mungkin berbeda di lingkungan yang
berbeda.
Container dapat dibandingkan dengan virtualisasi, di mana
sebuah mesin virtual digunakan untuk menjalankan sistem operasi dan aplikasi
dalam lingkungan yang terisolasi. Namun, container lebih ringan dibandingkan
dengan virtualisasi, karena hanya menjalankan proses dalam lingkungan yang
terisolasi tanpa menjalankan sistem operasi tambahan.
Container digunakan untuk meningkatkan efisiensi sumber daya
dan memudahkan pengelolaan aplikasi dan layanan dalam lingkungan yang
terisolasi dan dapat di deployment dengan mudah. Container juga memudahkan
untuk menjalankan aplikasi yang sama di berbagai sistem operasi tanpa harus
melakukan konfigurasi ulang atau modifikasi.
11. Service Management System
Service management system adalah sistem yang digunakan untuk
mengelola layanan yang dijalankan pada sebuah sistem operasi Linux. Ini
mencakup fitur seperti pengontrolan status layanan, konfigurasi layanan, dan
pemantauan layanan. Fitur ini digunakan untuk memastikan layanan berjalan
dengan baik dan dapat diakses oleh pengguna sesuai dengan kebutuhan.
Di Linux, sistem manajemen layanan yang umum digunakan
adalah systemd dan sysvinit.
- Systemd adalah sistem manajemen layanan yang dikembangkan oleh Red Hat dan saat ini menjadi standar default dalam distribusi Linux modern seperti Fedora, Debian, Ubuntu, dan Arch Linux. Systemd menyediakan mekanisme untuk mengelola layanan dengan cara yang lebih efisien dan intuitif dibandingkan sysvinit. Systemd juga menyediakan pemantauan layanan secara real-time dan menyediakan mekanisme untuk mengkonfigurasi dan mengelola layanan dengan mudah.
- Sysvinit adalah sistem manajemen layanan yang digunakan dalam distribusi Linux yang lebih lama, seperti Red Hat Linux dan Debian versi sebelumnya. Sysvinit menyediakan mekanisme untuk mengontrol status layanan dengan menjalankan script shell yang ditentukan untuk setiap layanan. Sysvinit juga menyediakan mekanisme untuk mengkonfigurasi dan mengelola layanan namun tidak seintuitif dan efisien seperti systemd.
12. Firewall
Firewall adalah sistem yang digunakan untuk mengontrol akses
jaringan ke dan dari sebuah sistem. Ini digunakan untuk menyaring paket
jaringan yang masuk dan keluar dari sistem, dan hanya mengizinkan paket yang
memenuhi kriteria yang ditentukan untuk dapat melewati.
Ada beberapa jenis firewall yang digunakan dalam Linux,
termasuk:
- Iptables, iptables adalah firewall built-in yang ada dalam kernel Linux. Ini menyediakan mekanisme untuk mengkonfigurasi aturan firewall dengan menggunakan perintah command line. Iptables dapat digunakan untuk menyaring paket jaringan berdasarkan kriteria seperti alamat IP, protokolm dan port.
- Firewalld, firewalld adalah firewall yang dikembangkan untuk digunakan dengan systemd. Ini menyediakan mekanisme yang lebih intuitif dan mudah digunakan dibandingkan dengan iptables, dengan fitur seperti pengelompokan aturan firewall dan pengelolaan dinamis.
- Ufw, ufw adalah firewall yang dikembangkan untuk digunakan dengan sistem operasi Ubuntu. Ini menyediakan mekanisme yang mudah digunakan untuk mengkonfigurasi aturan firewall dengan menggunakan perintah command line.
- Nftables, nftables adalah firewall yang dikembangkan sebagai gantinya iptables. Ini menyediakan mekanisme yang lebih efisien dan skalabel dibandingkan iptables dan dapat digunakan untuk menyaring paket jaringan berdasarkan kriteria seperti alamat IP, protokol, dan port.
Sekian dari saya, terimakasih.
Peserta Program Beasiswa Protonema 2022/2023
Komentar
Posting Komentar