23 CentOS Server Hardening Tips Keselamatan - Bahagian 2

23 CentOS Server Hardening Tips Keselamatan - Bahagian 2

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

  1. 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.

Artikel yang berkaitan: Cara mengunci akaun pengguna setelah percubaan masuk gagal

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 pengguna 
Artikel 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 Linux

31. 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 -reload 
Artikel 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 no 
Artikel 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 fail 
Artikel 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 # Sestatus 
Artikel 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 Linux

37. 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 CentOS

40. Lakukan imbasan sistem luaran

Menilai keselamatan sistem anda untuk kelemahan dengan mengimbas sistem dari titik jauh ke atas LAN anda menggunakan alat tertentu seperti:

  1. Nmap - Pengimbas Rangkaian 29 Contoh Perintah NMAP
  2. Nessus - pengimbas keselamatan
  3. Openvas - digunakan untuk mengimbas kelemahan dan pengurusan kerentanan yang komprehensif.
  4. 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:

  1. Aide - Persekitaran Pengesanan Pencerobohan Lanjutan - http: // aide.SourceForge.bersih/
  2. Clamav - Pengimbas Antivirus https: // www.Clamav.jaring
  3. Rkhunter - pengimbas rootkit
  4. Lynis - Alat Pengauditan dan Pengimbasan Keselamatan untuk Linux
  5. Tripwire - Keselamatan dan Integriti Data http: // www.Tripwire.com/
  6. Gagal2ban - Pencegahan Rangkaian Pencerobohan
  7. Ossec - (HIDS) Sistem Pengesanan Pencerobohan Berasaskan Hos http: // ossec.github.io/
  8. 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 .Bashrc 
Artikel 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.