23 CentOS Server Hardening Tips Keselamatan - Bahagian 2
- 1417
- 293
- Noah Torp
Meneruskan tutorial sebelumnya mengenai cara untuk mengamankan dan mengeras pelayan Centos, dalam artikel ini, kami akan membincangkan petua keselamatan lain yang akan dibentangkan di senarai semak di bawah.
Keperluan
- Petua Keselamatan Hardening 20 CentOS - Bahagian 1
21. Lumpuhkan perintah suid dan sgid yang tidak berguna
Jika setuid dan setgid Bit ditetapkan pada program binari, arahan ini dapat menjalankan tugas dengan hak pengguna atau kumpulan lain, seperti akar keistimewaan yang boleh mendedahkan masalah keselamatan yang serius.
Sering kali, serangan penampan overrun dapat mengeksploitasi binari executable tersebut untuk menjalankan kod yang tidak dibenarkan dengan hak pengguna kuasa akar.
# cari / -path / proc -prune -o -type f \ (-perm -4000 -o -perm -2000 \) -exec ls -l \;
Untuk tidak menyentuh setuid Bit melaksanakan arahan di bawah:
# chmod u-s/path/to/binary_file
Untuk menyegarkan bit setgid jalankan arahan di bawah:
# chmod g-s/path/to/binary_file
22. Periksa fail dan direktori yang tidak diminati
Fail atau direktori yang tidak dimiliki oleh akaun yang sah mesti dipadamkan atau diberikan dengan kebenaran dari pengguna dan kumpulan.
Mengeluarkan perintah Cari di bawah untuk menyenaraikan fail atau direktori tanpa pengguna dan kumpulan.
# cari / -nouser -o -nogroup -exec ls -l \;
23. Senaraikan fail yang boleh ditulis di dunia
Memelihara fail yang boleh ditulis di dunia di sistem boleh berbahaya kerana fakta bahawa sesiapa sahaja boleh mengubahnya. Laksanakan arahan di bawah untuk memaparkan fail yang boleh ditulis perkataan, kecuali Symlinks, yang selalu ditulis dunia.
# cari / -path / proc -prune -o -perm -2 ! -jenis l -ls
24. Buat kata laluan yang kuat
Buat kata laluan sekurang -kurangnya lapan aksara. Kata laluan mesti mengandungi digit, aksara khas, dan huruf besar. Gunakan pwmake untuk menghasilkan kata laluan sebanyak 128 bit dari /dev/urandom fail.
# pwmake 128
25. Gunakan dasar kata laluan yang kuat
Memaksa sistem menggunakan kata laluan yang kuat dengan menambahkan garis di bawah /etc/Pam.D/Passwd fail.
Kata laluan diperlukan PAM_PWQuality.Jadi cuba semula = 3
Menambah garis di atas, kata laluan yang dimasukkan tidak boleh mengandungi lebih daripada 3 watak dalam urutan monotonik, seperti abcd, dan lebih daripada 3 watak yang sama berturut -turut, seperti 1111.
Untuk memaksa pengguna menggunakan kata laluan dengan panjang minimum 8 watak, termasuk semua kelas aksara, pemeriksaan kekuatan untuk urutan watak dan watak berturut-turut menambah baris berikut ke /etc/keselamatan/pwquality.Conf fail.
minlen = 8 minclass = 4 maksimum = 3 maxRepeat = 3
26. Gunakan penuaan kata laluan
Perintah Chage boleh digunakan untuk penuaan kata laluan pengguna. Untuk menetapkan kata laluan pengguna untuk tamat tempoh 45 hari, gunakan arahan berikut:
# Chage -m 45 Nama Pengguna
Untuk melumpuhkan masa luput kata laluan Gunakan arahan:
# Chage -m -1 Nama Pengguna
Paksa tamat tempoh kata laluan segera (pengguna mesti menukar kata laluan pada log masuk seterusnya) dengan menjalankan arahan berikut:
# Chage -d 0 Nama Pengguna
27. Kunci akaun
Akaun pengguna boleh dikunci dengan melaksanakan Passwd atau perintah usermod:
# passwd -l username # usermod -l nama pengguna
Untuk membuka kunci akaun menggunakan -u
pilihan untuk Passwd perintah dan -U
pilihan untuk usermod.
28. Cegah Akses Akaun Akses
Untuk mengelakkan akaun sistem (akaun biasa atau akaun perkhidmatan) untuk mendapatkan akses ke shell bash, tukar shell akar ke /usr/sbin/nologin atau /bin/palsu di dalam /etc/passwd fail dengan mengeluarkan arahan di bawah:
# usermod -s /bin /nama pengguna palsu
Untuk menukar shell semasa membuat pengguna baru mengeluarkan arahan berikut:
# userAdd -s/usr/sbin/nologin nama penggunaArtikel yang berkaitan: Belajar 15 contoh perintah "useradd" di linux
29. Kunci Konsol Pengguna Maya dengan VLOCK
vlock adalah program yang digunakan untuk mengunci satu sesi berganda pada konsol linux. Pasang program dan mula mengunci sesi terminal anda dengan menjalankan arahan di bawah:
# yum pasang vlock # vlock
30. Gunakan sistem berpusat untuk menguruskan akaun dan pengesahan
Menggunakan sistem pengesahan terpusat dapat memudahkan pengurusan dan kawalan akaun. Perkhidmatan yang boleh menawarkan jenis pengurusan akaun ini adalah pelayan IPA, LDAP, Kerberos, Microsoft Active Directory, NIS, Samba ADS atau Winbind.
Sebahagian daripada perkhidmatan ini secara lalai sangat dijamin dengan protokol kriptografi dan kriptografi simetri-kunci, seperti Kerberos.
Artikel yang berkaitan: Setup pelayan NFS dengan Pengesahan Pengguna Berbasis Kerberos di Linux31. Memaksa pembacaan media USB sahaja
Menggunakan Blockdev Utiliti Anda boleh memaksa semua media yang boleh ditanggalkan untuk dipasang sebagai baca sahaja. Contohnya, buat yang baru udev fail konfigurasi yang dinamakan 80-readonly-usb.peraturan di dalam /etc/udev/peraturan.d/ Direktori dengan kandungan berikut:
Subsystem == "blok", attrs boleh ditanggalkan == "1", jalan program = "/sbin/blockdev --setro %n"
Kemudian, gunakan peraturan dengan arahan di bawah:
# udevadm control -reloadArtikel yang berkaitan: Cara menggunakan UDEV untuk Pengesanan dan Pengurusan Peranti di Linux
32. Melumpuhkan akses root melalui TTY
Untuk mengelakkan akaun root daripada melaksanakan log masuk sistem melalui semua peranti konsol (TTY), padamkan kandungan fail securetty dengan menaip arahan terminal arahan berikut sebagai root.
# cp /etc /securetty /etc /securetty.Bak # kucing /dev /null> /etc /securetty
Ingat bahawa peraturan ini tidak terpakai bagi sesi log masuk SSH
Untuk mengelakkan log masuk root melalui ssh edit fail /etc/ssh/sshd_config Dan tambahkan garis di bawah:
Permitrootlogin noArtikel yang berkaitan: Bagaimana untuk menjamin dan mengeras pelayan openssh
33. Gunakan POSIX ACLS untuk mengembangkan kebenaran sistem
Senarai Kawalan Akses boleh menentukan hak akses untuk lebih daripada sekadar satu pengguna atau kumpulan dan dapat menentukan hak untuk program, proses, fail, dan direktori. Sekiranya anda menetapkan ACL pada direktori, keturunannya akan mewarisi hak yang sama secara automatik.
Sebagai contoh,
# setfacl -m u: pengguna: fail rw # getfacl failArtikel yang berkaitan: Persediaan ACL dan kuota cakera untuk pengguna/kumpulan di Linux
34. Persediaan selinux dalam mod penguatkuasaan
The Selinux Peningkatan kepada kernel Linux melaksanakan dasar Kawalan Akses Mandatori (MAC), yang membolehkan pengguna menentukan dasar keselamatan yang menyediakan keizinan berbutir untuk semua pengguna, program, proses, fail, dan peranti.
Keputusan kawalan akses kernel berdasarkan semua konteks yang berkaitan dengan keselamatan dan bukan pada identiti pengguna yang disahkan.
Untuk mendapatkan Selinux Status dan menguatkuasakan dasar menjalankan arahan di bawah:
# getenforce # Setenforce 1 # SestatusArtikel yang berkaitan: Setup dasar kawalan akses mandatori dengan selinux
35. Pasang Selinux Utiliti Tambahan
Pasang Policycoreutils-Python pakej yang menyediakan utiliti python tambahan untuk beroperasi Selinux: audit2allow, audit2Mengapa, Chcat, dan sememi.
Untuk memaparkan semua nilai boolean bersama -sama dengan penerangan ringkas, gunakan arahan berikut:
# sememi boolean -l
Contohnya, untuk memaparkan dan menetapkan nilai httpd_enable_ftp_server, Jalankan arahan di bawah:
# getsebool httpd_enable_ftp_server
Untuk menjadikan nilai boolean berterusan merentasi reboot, tentukan -P
pilihan untuk setsebool, Seperti yang digambarkan pada contoh berikut:
# setsebool -p httpd_enable_ftp_server pada
36. Gunakan pelayan log terpusat
Konfigurasikan rsyslog Daemon untuk menghantar mesej log utiliti yang sensitif ke pelayan log terpusat. Juga, memantau fail log dengan bantuan utiliti logwatch.
Menghantar mesej log ke pelayan jauh menjamin bahawa apabila sistem telah dikompromikan, pengguna jahat tidak dapat menyembunyikan sepenuhnya aktiviti mereka, selalu meninggalkan jejak pada fail log jauh.
Artikel yang berkaitan: 4 Pemantauan dan Alat Pengurusan Linux Terbaik Linux37. Dayakan Perakaunan Proses
Dayakan perakaunan proses dengan memasang utiliti dan penggunaan PSACCT LastComm perintah untuk memaparkan maklumat mengenai arahan yang dilaksanakan sebelumnya seperti yang direkodkan dalam fail perakaunan sistem dan SA untuk meringkaskan maklumat mengenai arahan yang dilaksanakan sebelumnya seperti yang direkodkan dalam fail perakaunan sistem.
38. Pengerasan /etc /sysctl.Conf
Gunakan peraturan parameter kernel berikut untuk melindungi sistem:
Melumpuhkan penghalaan sumber
jaring.IPv4.Conf.semua.resept_source_route = 0
Lumpuhkan penghantaran IPv4
IPv4.Conf.semua.penghantaran = 0
Lumpuhkan IPv6
jaring.IPv6.Conf.semua.disable_ipv6 = 1 bersih.IPv6.Conf.lalai.disable_ipv6 = 1 bersih.IPv6.Conf.LO.disable_ipv6 = 1
Lumpuhkan penerimaan dan menghantar paket yang diarahkan semula ICMP kecuali diperlukan secara khusus.
jaring.IPv4.Conf.semua.menerima_redirects = 0 bersih.IPv4.Conf.semua.selamat_redirects = 0 bersih.IPv4.Conf.semua.Send_redirects = 0
Lumpuhkan Pemajuan Laluan Terbalik
jaring.IPv4.Conf.semua.rp_filter = 2
Abaikan semua permintaan echo ICMP (ditetapkan ke 1 untuk membolehkan)
jaring.IPv4.ICMP_ECHO_IGNORE_ALL = 0
39. Gunakan perkhidmatan VPN untuk mengakses premis anda melalui rangkaian awam yang tidak dilindungi
Sentiasa gunakan VPN Perkhidmatan untuk pembawa untuk mengakses premis LAN dari jauh melalui internet. Jenis perkhidmatan seperti ini boleh dikonfigurasikan menggunakan penyelesaian sumber terbuka percuma, seperti OpenVPN, atau menggunakan penyelesaian proprietari, seperti Cisco VPN (Pasang VPNC utiliti baris arahan disediakan oleh repositori EPEL).
Artikel yang berkaitan: Pasang pelayan OpenVPN dengan pelanggan Windows di CentOS40. Lakukan imbasan sistem luaran
Menilai keselamatan sistem anda untuk kelemahan dengan mengimbas sistem dari titik jauh ke atas LAN anda menggunakan alat tertentu seperti:
- Nmap - Pengimbas Rangkaian 29 Contoh Perintah NMAP
- Nessus - pengimbas keselamatan
- Openvas - digunakan untuk mengimbas kelemahan dan pengurusan kerentanan yang komprehensif.
- Nikto - Interface Gateway Common Gateway (CGI) Scanner Scanner Imbas Web Kerentanan di Linux
41. Melindungi sistem secara dalaman
Gunakan perlindungan sistem dalaman terhadap virus, rootkit, malware, dan, sebagai amalan yang baik, memasang sistem pengesanan pencerobohan yang dapat mengesan aktiviti yang tidak dibenarkan (serangan DDOS, imbasan pelabuhan), seperti:
- Aide - Persekitaran Pengesanan Pencerobohan Lanjutan - http: // aide.SourceForge.bersih/
- Clamav - Pengimbas Antivirus https: // www.Clamav.jaring
- Rkhunter - pengimbas rootkit
- Lynis - Alat Pengauditan dan Pengimbasan Keselamatan untuk Linux
- Tripwire - Keselamatan dan Integriti Data http: // www.Tripwire.com/
- Gagal2ban - Pencegahan Rangkaian Pencerobohan
- Ossec - (HIDS) Sistem Pengesanan Pencerobohan Berasaskan Hos http: // ossec.github.io/
- Mod_security - Lindungi serangan kekerasan atau serangan DDOS
42. Ubah suai pemboleh ubah persekitaran pengguna
Tambah Tarikh dan masa Format untuk menyimpan perintah pelaksanaan dengan mengeluarkan arahan di bawah:
# echo 'histtimeFormat = "%d/%m/%y%t"' >> .Bashrc '
Memaksa untuk merakam dengan serta -merta Histfile Setiap kali arahan ditaip (bukan logout):
# echo 'prompt_command = "history -a"' >> .Bashrc
Hadkan sesi log masuk masa tamat. Secara automatik merobek shell apabila tiada aktiviti dilakukan semasa tempoh masa terbiar. Sangat berguna untuk memutuskan sesi SSH secara automatik.
# echo 'tmout = 120' >> .Bashrc
Memohon semua peraturan dengan melaksanakan:
# sumber .BashrcArtikel yang berkaitan: Tetapkan pembolehubah persekitaran pengguna di Linux
43. Data sandaran
Gunakan utiliti sandaran, seperti TAR, CAT, RSYNC, SCP, LVM Snapshots, dan lain -lain untuk menyimpan salinan sistem anda, lebih baik di luar tapak, sekiranya berlaku kegagalan sistem.
Sekiranya sistem dikompromikan, anda boleh melakukan pemulihan data dari sandaran sebelumnya.
Akhirnya, jangan lupa bahawa tidak kira berapa banyak langkah keselamatan dan langkah-langkah kontra yang anda ambil untuk memastikan sistem anda selamat, anda tidak akan 100% sepenuhnya selamat selagi mesin anda dipasang dan dikuasakan.
- « Cara Memasang PostgreSQL dan Pgadmin4 di Ubuntu 20.04
- Menyediakan Suite Kerjasama Zimbra (ZCS) pada RHEL/CentOS 7/8 »