Daftar Isi
Ketika seseorang (atau program) meminta akses ke sistem, otentikasi menegaskan identitas menjadi yang tepercaya.
![]() |
Awas |
---|---|
Kesalahan konfigurasi PAM dapat mengunci Anda keluar dari sistem Anda sendiri. Anda harus memiliki CD penyelamatan yang berguna atau mengatur partisi boot alternatif. Untuk memulihkan, boot sistem dengan mereka dan memperbaiki hal-hal dari sana. |
Otentikasi Unix normal disediakan oleh modul pam_unix
(8)
di bawah PAM (Pluggable
Authentication Modules). 3 berkas konfigurasi penting, dengan
":
" yang memisah entri, adalah sebagai berikut.
Tabel 4.1. 3 berkas konfigurasi penting untuk pam_unix
(8)
berkas | izin | pengguna | kelompok | deskripsi |
---|---|---|---|---|
/etc/passwd |
-rw-r--r-- |
root |
root |
(tersanitasi) informasi akun pengguna |
/etc/shadow |
-rw-r----- |
root |
shadow |
informasi akun pengguna yang aman |
/etc/group |
-rw-r--r-- |
root |
root |
informasi grup |
"/etc/passwd
" berisi yang berikut ini.
... user1:x:1000:1000:User1 Name,,,:/home/user1:/bin/bash user2:x:1001:1001:User2 Name,,,:/home/user2:/bin/bash ...
Seperti yang dijelaskan dalam passwd
(5), masing-masing
entri yang dipisah ":
" dari berkas ini berarti sebagai
berikut.
Nama log masuk
Entri spesifikasi kata sandi
ID pengguna numerik
ID grup numerik
Nama pengguna atau kolom komentar
Direktori home milik pengguna
Interpreter perintah pengguna opsional
Entri kedua "/etc/passwd
" digunakan untuk entri kata
sandi terenkripsi. Setelah pengenalan "/etc/shadow
",
entri ini digunakan untuk entri spesifikasi kata sandi.
Tabel 4.2. Konten entri kedua dari "/etc/passwd
"
isi | arti |
---|---|
(kosong) | akun tanpa kata sandi |
x | kata sandi terenkripsi ada di "/etc/shadow " |
"/etc/shadow
" berisi yang berikut.
... user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7::: user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7::: ...
Seperti yang dijelaskan dalam shadow
(5), masing-masing
entri yang dipisah ":
" dari berkas ini berarti sebagai
berikut.
Nama log masuk
Kata sandi terenkripsi ("$1$
" di awal menunjukkan
penggunaan enkripsi MD5. "*" menunjukkan tidak diizinkan login.)
Tanggal perubahan kata sandi terakhir, dinyatakan sebagai cacah hari sejak 1 Januari 1970
Berapa hari pengguna harus menunggu sebelum dia diizinkan untuk mengubah kata sandinya lagi
Cacah hari yang setelah itu pengguna harus mengubah kata sandinya
Cacah hari sebelum kata sandi akan kedaluwarsa di mana pengguna harus diperingatkan
Cacah hari setelah kata sandi kedaluwarsa di mana kata sandi masih harus diterima
Tanggal kedaluwarsa akun, dinyatakan sebagai cacah hari sejak 1 Januari 1970
…
"/etc/group
" berisi yang berikut ini.
group1:x:20:user1,user2
Seperti yang dijelaskan dalam group
(5), masing-masing
entri yang dipisah ":
" dari berkas ini berarti sebagai
berikut.
Nama grup
Kata sandi terenkripsi (tidak benar-benar digunakan)
ID grup numerik
daftar nama pengguna yang dipisah ","
![]() |
Catatan |
---|---|
" |
![]() |
Catatan |
---|---|
Keanggotaan grup pengguna yang sebenarnya dapat ditambahkan secara dinamis
jika baris " |
![]() |
Catatan |
---|---|
Paket |
Berikut adalah beberapa perintah penting untuk mengelola informasi akun.
Tabel 4.3. Daftar perintah untuk mengelola informasi akun
perintah | fungsi |
---|---|
getent passwd user_name |
menelusuri informasi akun
"user_name " |
getent shadow nama_pengguna |
menelusuri informasi akun ter-shadow
"nama_pengguna " |
getent group nama_grup |
menelusuri informasi grup
"nama_grup_ " |
passwd |
mengelola kata sandi untuk akun |
passwd -e |
mengatur kata sandi satu kali untuk aktivasi akun |
chage |
mengelola informasi pembatasan umur kata sandi |
Anda mungkin perlu memiliki hak istimewa root agar beberapa fungsi dapat
bekerja. Lihat crypt
(3) untuk enkripsi data dan kata
sandi.
![]() |
Catatan |
---|---|
Pada sistem yang disiapkan dengan PAM dan NSS sebagai mesin salsa Debian, konten lokal
" |
Saat membuat akun selama instalasi sistem Anda atau dengan perintah
passwd
(1), Anda harus memilih kata sandi yang baik yang terdiri dari
setidaknya 6 hingga 8 karakter termasuk satu atau lebih karakter dari
masing-masing set berikut sesuai dengan passwd
(1).
Alfabet huruf kecil
Digit 0 sampai 9
Tanda baca
![]() |
Awas |
---|---|
Jangan memilih kata-kata yang bisa ditebak untuk kata sandi. Nama akun, nomor jaminan sosial, nomor telepon, alamat, ulang tahun, nama anggota keluarga atau hewan peliharaan Anda, kata-kata kamus, urutan karakter sederhana seperti "12345" atau "qwerty", ... Ini adalah pilihan yang buruk untuk kata sandi. |
Ada alat independen untuk menghasilkan kata sandi terenkripsi dengan salt.
Tabel 4.4. Daftar alat untuk menghasilkan kata sandi
paket | popcon | ukuran | perintah | fungsi |
---|---|---|---|---|
whois
|
V:25, I:251 | 387 | mkpasswd |
front end dengan fitur berlebih untuk pustaka crypt (3) |
openssl
|
V:841, I:995 | 2111 | openssl passwd |
menghitung hash kata sandi (OpenSSL). passwd (1ssl) |
Sistem mirip Unix modern seperti sistem Debian menyediakan mekanisme PAM (Pluggable Authentication Modules) dan NSS (Name Service Switch) ke administrator sistem lokal untuk mengonfigurasi sistemnya. Peran ini dapat diringkas sebagai berikut.
PAM menawarkan mekanisme otentikasi fleksibel yang digunakan oleh perangkat lunak aplikasi sehingga melibatkan pertukaran data kata sandi.
NSS menawarkan mekanisme layanan nama fleksibel yang sering digunakan oleh
pustaka standar C untuk mendapatkan
nama pengguna dan grup untuk program seperti ls
(1) dan
id
(1).
Sistem PAM dan NSS ini perlu dikonfigurasi secara konsisten.
Paket penting dari sistem PAM dan NSS adalah sebagai berikut.
Tabel 4.5. Daftar sistem PAM dan NSS yang terkenal
paket | popcon | ukuran | deskripsi |
---|---|---|---|
libpam-modules
|
V:889, I:999 | 984 | Pluggable Authentication Modules (layanan dasar) |
libpam-ldap
|
V:0, I:6 | 249 | Pluggable Authentication Modules yang memungkinkan antarmuka LDAP |
libpam-cracklib
|
V:0, I:8 | 117 | Pluggable Authentication Modules untuk mengaktifkan dukungan cracklib |
libpam-systemd
|
V:571, I:936 | 627 | Pluggable Authentication Modules untuk mendaftarkan sesi pengguna bagi
logind |
libpam-doc
|
I:0 | 152 | Pluggable Authentication Modules (dokumentasi dalam html dan teks) |
libc6
|
V:917, I:999 | 12988 | Pustaka C GNU: Pustaka bersama yang juga menyediakan layanan "Name Service Switch" |
glibc-doc
|
I:8 | 3503 | Pustaka C GNU: Halaman man |
glibc-doc-reference
|
I:4 | 13841 | Pustaka C GNU: Manual referensi dalam format info, pdf, dan html (non-free) |
libnss-mdns
|
I:510 | 141 | Modul NSS untuk resolusi nama DNS Multicast |
libnss-ldap
|
I:5 | 265 | Modul NSS untuk menggunakan LDAP sebagai layanan penamaan |
libnss-ldapd
|
I:15 | 129 | Modul NSS untuk menggunakan LDAP sebagai layanan penamaan (fokr baru dari
libnss-ldap ) |
"The Linux-PAM System Administrators' Guide" (Panduan Administrator Sistem
Linux-PAM) dalam libpam-doc
sangat penting untuk
mempelajari konfigurasi PAM.
Bagian "System Databases and Name Service Switch" (Basis Data Sistem dan
Sakelar Layanan Nama) di glibc-doc-reference
sangat
penting untuk mempelajari konfigurasi NSS.
![]() |
Catatan |
---|---|
Anda dapat melihat daftar yang lebih luas dan terkini dengan perintah
" |
![]() |
Catatan |
---|---|
PAM adalah cara paling dasar untuk menginisialisasi variabel lingkungan bagi setiap program dengan nilai baku seluruh sistem. |
Di bawah systemd, paket
libpam-systemd
dipasang untuk mengelola login pengguna
dengan mendaftarkan sesi pengguna dalam hirarki grup kontrol
systemd
untuk logind.
Lihat systemd-logind
(8),
logind.conf
(5), dan pam_systemd
(8).
Berikut adalah beberapa berkas konfigurasi penting yang diakses oleh PAM dan NSS.
Tabel 4.6. Daftar berkas konfigurasi yang diakses oleh PAM dan NSS
berkas konfigurasi | fungsi |
---|---|
/etc/pam.d/program_name |
menyiapkan konfigurasi PAM untuk program
"nama_program "; lihat
pam (7) dan pam.d (5) |
/etc/nsswitch.conf |
menyiapkan konfigurasi NSS dengan entri untuk setiap layanan. Lihat
nsswitch.conf (5) |
/etc/nologin |
membatasi login pengguna dengan modul pam_nologin (8) |
/etc/securetty |
membatasi tty untuk akses root oleh modul
pam_securetty (8) |
/etc/security/access.conf |
menetapkan batas akses dengan modul pam_access (8) |
/etc/security/group.conf |
mengatur pengekangan berbasis grup oleh modul
pam_group (8) |
/etc/security/pam_env.conf |
mengatur variabel lingkungan dengan modul pam_env (8) |
/etc/environment |
mengatur variabel lingkungan tambahan dengan modul
pam_env (8) dengan argumen "readenv=1 " |
/etc/default/locale |
mengatur lokal dengan modul pam_env (8) memakai argumen
"readenv=1 envfile=/etc/default/locale " (Debian) |
/etc/security/limits.conf |
mengatur pengekangan sumber daya (ulimit, core, …) oleh modul
pam_linits (8) |
/etc/security/time.conf |
mengatur pengekangan waktu oleh modul pam_time (8) |
/etc/systemd/logind.conf |
mengatur konfigurasi manajer login systemd (lihat
logind.conf (5) dan
systemd-logind.service (8)) |
Pembatasan pemilihan kata sandi dilaksanakan oleh modul PAM,
pam_unix
(8) dan
pam_cracklib
(8). Mereka dapat dikonfigurasi oleh argumen
mereka.
![]() |
Tip |
---|---|
Modul PAM menggunakan akhiran " |
Manajemen sistem terpusat modern dapat digelar memakai server Lightweight Directory Access Protocol (LDAP) terpusat untuk mengelola banyak sistem mirip Unix dan non-Unix di jaringan. Implementasi open source dari Lightweight Directory Access Protocol adalah Perangkat Lunak OpenLDAP.
Server LDAP menyediakan informasi akun melalui penggunaan PAM dan NSS dengan
paket libpam-ldap
dan libnss-ldap
untuk sistem Debian. Beberapa tindakan diperlukan untuk mengaktifkan ini
(Saya belum menggunakan penyiapan ini dan berikut ini adalah informasi
sekunder murni. Silakan baca ini dalam konteks ini).
Anda menyiapkan server LDAP terpusat dengan menjalankan program seperti
daemon LDAP yang berdiri sendiri, slapd
(8).
Anda mengubah berkas konfigurasi PAM di direktori
"/etc/pam.d/
" untuk menggunakan
"pam_ldap.so
" alih-alih baku
"pam_unix.so
".
Debian menggunakan "/etc/pam_ldap.conf
" sebagai berkas
konfigurasi untuk libpam-ldap
dan
"/etc/pam_ldap.secret
" sebagai berkas untuk menyimpan
kata sandi root.
Anda mengubah konfigurasi NSS dalam berkas
"/etc/nsswitch.conf
" untuk menggunakan
"ldap
" alih-alih baku ("compat
" atau
"file
").
Debian menggunakan "/etc/libnss-ldap.conf
" sebagai berkas
konfigurasi untuk libnss-ldap
.
Anda harus membuat libpam-ldap
untuk menggunakan koneksi
SSL (atau TLS) bagi keamanan kata sandi.
Anda dapat membuat libnss-ldap
menggunakan koneksi SSL (atau TLS) untuk memastikan integritas data
dengan beban overhead jaringan LDAP.
Anda harus menjalankan nscd
(8) secara lokal untuk
menyinggahkan hasil pencarian LDAP agar mengurangi lalu lintas jaringan
LDAP.
Lihat dokumentasi di pam_ldap.conf
(5) dan
"/usr/share/doc/libpam-doc/html/
" yang ditawarkan oleh
paket libpam-doc
dan "info libc 'Name Service
Switch'
" yang ditawarkan oleh paket glibc-doc
.
Demikian pula, Anda dapat mengatur sistem terpusat alternatif dengan metode lain.
Integrasi pengguna dan grup dengan sistem Windows.
Mengakses layanan domain Windows dengan
paket winbind
dan libpam_winbind
.
Lihat winbindd
(8) dan Mengintegrasikan Jaringan MS
Windows dengan Samba.
Integrasi pengguna dan grup dengan sistem warisan mirip Unix.
Mengakses NIS (awalnya disebut
YP) atau NIS+ dengan paket
nis
.
Lihat Linux NIS(YP)/NYS/NIS+ HOWTO.
Ini adalah frasa terkenal di bagian bawah halaman "info
su
" lama oleh Richard M. Stallman. Tidak perlu khawatir: perintah
su
saat ini di Debian menggunakan PAM, sehingga seseorang
dapat membatasi kemampuan untuk menggunakan su
ke grup
root
dengan mengaktifkan baris dengan
"pam_wheel.so
" dalam "/etc/pam.d/su
".
Memasang paket libpam-cracklib
memungkinkan Anda untuk
memaksa aturan kata sandi yang lebih ketat.
Pada sistem GNOME umum yang secara otomatis memasang
libpam-gnome-keyring
,
"/etc/pam.d/common-password
" terlihat seperti:
# here are the per-package modules (the "Primary" block) password requisite pam_cracklib.so retry=3 minlen=8 difok=3 password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt # here's the fallback if no module succeeds password requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around password required pam_permit.so # and here are more per-package modules (the "Additional" block) password optional pam_gnome_keyring.so # end of pam-auth-update config
![]() |
Catatan |
---|---|
Informasi di sini mungkin tidak cukup untuk kebutuhan keamanan Anda tetapi itu mestinya menjadi awal yang baik. |
Banyak layanan lapisan transportasi populer mengkomunikasikan pesan termasuk otentikasi kata sandi dalam teks polos. Adalah ide yang sangat buruk untuk mengirimkan kata sandi dalam teks polos melalui Internet liar di mana ia dapat disadap. Anda dapat menjalankan layanan ini melalui "Transport Layer Security" (TLS) atau pendahulunya, "Secure Sockets Layer" (SSL) untuk mengamankan seluruh komunikasi termasuk kata sandi dengan enkripsi.
Tabel 4.7. Daftar layanan dan port yang tidak aman dan aman
nama layanan tidak aman | port | nama layanan aman | port |
---|---|---|---|
www (http) | 80 | https | 443 |
smtp (mail) | 25 | ssmtp (smtps) | 465 |
ftp-data | 20 | ftps-data | 989 |
ftp | 21 | ftps | 990 |
telnet | 23 | telnets | 992 |
imap2 | 143 | imaps | 993 |
pop3 | 110 | pop3s | 995 |
ldap | 389 | ldaps | 636 |
Enkripsi memakan waktu CPU. Sebagai alternatif yang ramah CPU, Anda dapat menjaga komunikasi dalam teks polos sambil mengamankan hanya kata sandi dengan protokol otentikasi aman seperti "Authenticated Post Office Protocol" (APOP) untuk POP dan "Challenge-Response Authentication Mechanism MD5" (CRAM-MD5) untuk SMTP dan IMAP. (Untuk mengirim pesan surel melalui Internet ke server surel Anda dari klien surel Anda, baru-baru ini populer untuk menggunakan port message submission baru 587 alih-alih port SMTP tradisional 25 untuk menghindari pemblokiran port 25 oleh penyedia jaringan sambil mengautentikasi diri Anda dengan CRAM-MD5.)
Program Secure Shell (SSH) menyediakan
komunikasi terenkripsi yang aman antara dua host yang tidak tepercaya
melalui jaringan yang tidak aman dengan otentikasi yang aman. Ini terdiri
dari klien OpenSSH,
ssh
(1), dan daemon OpenSSH, sshd
(8). SSH ini dapat
digunakan untuk membungkus komunikasi protokol yang tidak aman seperti POP
dan X dengan aman melalui Internet dengan fitur penerusan port.
Klien mencoba mengautentikasi dirinya sendiri menggunakan autentikasi berbasis host, otentikasi kunci publik, otentikasi challenge-response, atau autentikasi kata sandi. Penggunaan otentikasi kunci publik memungkinkan login tanpa kata sandi jarak jauh. Lihat Bagian 6.3, “Server dan utilitas akses jarak jauh (SSH)”.
Bahkan ketika Anda menjalankan layanan aman seperti server Secure Shell (SSH) dan Point-to-point tunneling protocol (PPTP), masih ada kemungkinan untuk pembobolan menggunakan serangan brute force menebak kata sandi dari Internet. Penggunaan kebijakan firewall (lihat Bagian 5.7, “Infrastruktur netfilter”) bersama dengan alat-alat keamanan berikut dapat meningkatkan situasi keamanan.
Tabel 4.8. Daftar alat untuk memberikan langkah-langkah keamanan tambahan
paket | popcon | ukuran | deskripsi |
---|---|---|---|
knockd
|
V:0, I:2 | 110 | daemon port-knock kecil knockd (1) dan klien
knock (1) |
fail2ban
|
V:98, I:111 | 2126 | memblokir IP-IP yang menyebabkan beberapa kesalahan otentikasi |
libpam-shield
|
V:0, I:0 | 115 | mengunci penyerang jarak jauh yang mencoba menebak kata sandi |
Untuk mencegah orang mengakses mesin Anda dengan hak istimewa root, Anda perlu membuat tindakan berikut.
Mencegah akses fisik ke hard disk
Mengunci UEFI/BIOS dan mencegah boot dari media lepasan
Mengatur kata sandi untuk sesi interaktif GRUB
Mengunci menu GRUB dari penyuntingan
Dengan akses fisik ke hard disk, mengatur ulang kata sandi relatif mudah dengan langkah-langkah berikut.
Pindahkan hard disk ke PC dengan CD UEFI/BIOS yang dapat di-boot.
Mem-boot sistem dengan media penyelamatan (boot disk Debian, CD Knoppix, CD GRUB, …).
Kait partisi root dengan akses baca/tulis.
Sunting "/etc/passwd
" di partisi root dan jadikan entri
kedua untuk akun root
kosong.
Jika Anda memiliki akses sunting ke entri menu GRUB (lihat Bagian 3.1.2, “Tahap 2: boot loader”) untuk
grub-rescue-pc
pada waktu boot, bahkan lebih mudah dengan
langkah-langkah berikut.
Boot sistem dengan parameter kernel berubah menjadi sesuatu seperti
"root=/dev/hda6 rw init=/bin/sh
".
Sunting "/etc/passwd
" dan jadikan entri kedua untuk akun
root
kosong.
Boot ulang sistem.
Shell root sistem sekarang dapat diakses tanpa kata sandi.
![]() |
Catatan |
---|---|
Setelah seseorang memiliki akses root shell, ia dapat mengakses semuanya di
sistem dan mengatur ulang kata sandi apa pun pada sistem. Lebih lanjut, ia
dapat mengkompromikan kata sandi untuk semua akun pengguna menggunakan alat
cracking kata sandi brute force seperti paket |
Satu-satunya solusi perangkat lunak yang masuk akal untuk menghindari semua
masalah ini adalah dengan menggunakan partisi root terenkripsi perangkat
lunak (atau partisi "/etc
") menggunakan dm-crypt dan initramfs (lihat Bagian 9.9, “Tips enkripsi data”). Namun Anda selalu membutuhkan kata
sandi untuk mem-boot sistem.
Ada kontrol akses ke sistem selain otentikasi berbasis kata sandi dan izin berkas.
![]() |
Catatan |
---|---|
Lihat Bagian 9.4.16, “Tombol Alt-SysRq” untuk membatasi fitur secure attention key (SAK) kernel. |
ACLs are a superset of the regular permissions as explained in Bagian 1.2.3, “Hak akses sistem berkas”.
You encounter ACLs in action on modern desktop environment. When a
formatted USB storage device is auto mounted as, e.g.,
"/media/penguin/USBSTICK
", a normal user
penguin
can execute:
$ cd /media/penguin $ ls -la total 16 drwxr-x---+ 1 root root 16 Jan 17 22:55 . drwxr-xr-x 1 root root 28 Sep 17 19:03 .. drwxr-xr-x 1 penguin penguin 18 Jan 6 07:05 USBSTICK
"+
" in the 11th column indicates ACLs are in action.
Without ACLs, a normal user penguin
shouldn't be able to
list like this since penguin
isn't in
root
group. You can see ACLs as:
$ getfacl . # file: . # owner: root # group: root user::rwx user:penguin:r-x group::--- mask::r-x other::---
Sini:
"user::rwx
", "group::---
", and
"other::---
" correspond to the regular owner, group, and
other permissions.
The ACL "user:penguin:r-x
" allows a normal user
penguin
to have "r-x
" permissions.
This enabled "ls -la
" to list directory content.
The ACL "mask::r-x
" sets the upper bound of permissions.
Lihat "POSIX Access Control
Lists on Linux", acl
(5),
getfacl
(1), dan setfacl
(1) untuk lebih
banyak lagi.
sudo
(8) adalah program yang dirancang untuk memungkinkan
sysadmin untuk memberikan hak istimewa root terbatas kepada pengguna dan
mencatat log aktivitas root. sudo
hanya membutuhkan kata
sandi pengguna biasa. Pasang paket sudo
dan aktifkan
dengan mengatur opsi di "/etc/sudoers
". Lihat contoh
konfigurasi di "/usr/share/doc/sudo/examples/sudoers
" dan
Bagian 1.1.12, “konfigurasi sudo”.
Penggunaan sudo
saya untuk sistem pengguna tunggal (lihat
Bagian 1.1.12, “konfigurasi sudo”) bertujuan untuk melindungi diri dari
kebodohan saya sendiri. Secara pribadi, saya menganggap menggunakan
sudo
alternatif yang lebih baik daripada menggunakan
sistem dari akun root sepanjang waktu. Misalnya, berikut ini mengubah
pemilik "suatu_berkas
" menjadi
"namaku
".
$ sudo chown my_name some_file
Tentu saja jika Anda tahu kata sandi root (seperti yang dilakukan pengguna
Debian yang dipasang sendiri), perintah apa pun dapat dijalankan di bawah
root dari akun pengguna mana pun menggunakan "su -c
".
PolicyKit adalah komponen sistem operasi untuk mengendalikan hak istimewa di seluruh sistem dalam sistem operasi mirip Unix.
Aplikasi GUI yang lebih baru tidak dirancang untuk berjalan sebagai proses istimewa. Mereka berbicara dengan proses istimewa melalui PolicyKit untuk melakukan operasi administratif.
PolicyKit membatasi operasi tersebut ke akun pengguna milik grup
sudo
pada sistem Debian.
Lihat polkit
(8).
Untuk keamanan sistem, adalah ide yang baik untuk menonaktifkan sebanyak mungkin program server. Ini menjadi penting untuk server jaringan. Memiliki server yang tidak digunakan, diaktifkan baik secara langsung sebagai daemon atau melalui program super-server, dianggap sebagai risiko keamanan.
Banyak program, seperti sshd
(8), menggunakan kontrol
akses berbasis PAM. Ada banyak cara untuk membatasi akses ke beberapa
layanan server.
berkas konfigurasi:
"/etc/default/nama_program
"
Konfigurasi unit layanan systemd untuk daemon
"/etc/inetd.conf
" untuk super-server
"/etc/hosts.deny
" dan
"/etc/hosts.allow
" untuk TCP
wrapper, tcpd
(8)
"/etc/rpc.conf
" untuk Sun
RPC
"/etc/at.allow
" dan "/etc/at.deny
"
untuk atd
(8)
"/etc/cron.allow
" dan "/etc/cron.deny
"
untuk crontab
(1)
Firewall jaringan dari infrastruktur netfilter
Lihat Bagian 3.5, “Manajemen sistem”, Bagian 4.5.1, “Berkas konfigurasi yang diakses oleh PAM dan NSS”, dan Bagian 5.7, “Infrastruktur netfilter”.
![]() |
Tip |
---|---|
Jika Anda mengalami masalah akses jarak jauh dalam sistem Debian baru-baru
ini, jadikan komentar saja baris konfigurasi yang menyinggung seperti
" |
Kernel Linux telah berevolusi dan mendukung fitur keamanan yang tidak ditemukan dalam implementasi UNIX tradisional.
Linux mendukung atribut extended
yang memperluas atribut UNIX tradisional (lihat
xattr
(7)).
Linux membagi hak istimewa yang secara tradisional terkait dengan superuser
menjadi unit-unit yang berbeda, yang dikenal sebagai
capabilities
(7), yang dapat diaktifkan dan dinonaktifkan
secara independen. Kapabilitas adalah atribut per-thread sejak kernel versi
2.2.
Kerangka Kerja Linux Security Module (LSM) menyediakan mekanisme untuk berbagai pemeriksaan keamanan yang akan di-hook oleh ekstensi kernel baru. Misalnya:
Karena ekstensi ini dapat memperketat model hak istimewa lebih ketat daripada kebijakan model keamanan mirip-Unix biasa, bahkan kekuatan root dapat dibatasi. Anda disarankan untuk membaca dokumen kerangka kerja Linux Security Module (LSM) di kernel.org.
namespaces Linux membungkus sumber daya
sistem global dalam abstraksi yang membuatnya tampak pada proses dalam
namespace bahwa mereka memiliki instansi terisolasi mereka sendiri dari
sumber daya global. Perubahan pada sumber daya global terlihat oleh proses
lain yang merupakan anggota ruang nama, tetapi tidak terlihat oleh proses
lain. Sejak kernel versi 5.6, ada 8 jenis namespace (lihat
namespaces
(7), unshare
(1),
nsenter
(1)).
Pada Debian 11 Bullseye (2021), Debian menggunakan hirarki cgroup terpadu (alias cgroups-v2).
Contoh penggunaan namespaces dengan cgroup untuk mengisolasi proses mereka dan untuk memungkinkan kontrol sumber daya adalah:
Systemd. Lihat Bagian 3.2.1, “Init systemd”.
Kontainer Linux seperti Docker, LXC. Lihat Bagian 9.11, “Sistem tervirtualisasi”.
Fungsi-fungsi ini tidak dapat direalisasikan oleh Bagian 4.1, “Autentikasi Unix normal”. Topik-topik tingkat lanjut ini sebagian besar di luar cakupan untuk dokumen pengantar ini.