23 CentOS Server Hardening Security Tips - Bahin 2


Pagpadayon sa miaging panudlo sa Giunsa Pag-secure ug Harden CentOS server, sa kini nga artikulo, hisgutan namon ang uban pang mga tip sa seguridad nga ipresentar sa ubos nga checklist.

  1. 20 CentOS Server Hardening Security Tips – Part 1

21. I-disable ang Walay Kapuslanan nga SUID ug SGID Commands

Kung ang setuid ug setgid bits gipahimutang sa binary nga mga programa, kini nga mga sugo mahimong magpadagan sa mga buluhaton sa ubang mga katungod sa user o grupo, sama sa mga pribilehiyo sa gamut nga mahimong magbutyag sa seryoso nga mga isyu sa seguridad.

Kasagaran, ang mga pag-atake sa buffer overrun mahimong magpahimulos sa ingon nga mga binary nga mahimo’g magamit aron magpadagan sa dili awtorisado nga code nga adunay mga katungod sa usa ka tiggamit sa gahum sa ugat.

# find /  -path /proc -prune -o -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

Aron ma-unset ang setuid bit ipatuman ang ubos nga sugo:

# chmod u-s /path/to/binary_file

Aron ma-unset ang setgid bit ipadagan ang ubos nga sugo:

# chmod g-s /path/to/binary_file

22. Susiha ang Wala'y Tag-iya nga mga File ug Direktoryo

Ang mga file o mga direktoryo nga dili gipanag-iya sa usa ka balido nga account kinahanglan nga tangtangon o itudlo nga adunay mga pagtugot gikan sa usa ka tiggamit ug grupo.

I-isyu ang ubos sa pagpangita sa command aron ilista ang mga file o mga direktoryo nga walay user ug grupo.

# find / -nouser -o -nogroup -exec ls -l {} \;

23. Ilista ang mga File nga Masulat sa Kalibutan

Ang pagtipig sa usa ka world-writable nga file sa sistema mahimong delikado tungod sa kamatuoran nga bisan kinsa ang makausab niini. Ipatuman ang ubos nga sugo aron mapakita ang mga file nga masulat sa pulong, gawas sa Symlinks, nga kanunay nga masulat sa kalibutan.

# find / -path /proc -prune -o -perm -2 ! -type l –ls

24. Paghimo Lig-on nga mga Password

Paghimo og password nga labing menos walo ka mga karakter. Ang password kinahanglan adunay mga digit, espesyal nga mga karakter, ug dagkong mga letra. Gamita ang pwmake aron makamugna og password nga 128 bits gikan sa /dev/urandom file.

# pwmake 128

25. Ibutang ang Lig-on nga Patakaran sa Password

Pugsa ang sistema sa paggamit ug lig-on nga mga password pinaagi sa pagdugang sa ubos nga linya sa /etc/pam.d/passwd file.

password required pam_pwquality.so retry=3

Pagdugang sa linya sa ibabaw, ang password nga gisulod dili mahimong maglangkob ug labaw sa 3 ka karakter sa usa ka monotonikong pagkasunod-sunod, sama sa abcd, ug labaw sa 3 ka managsama nga magkasunod nga mga karakter, sama sa 1111.

Aron pugson ang mga tiggamitan sa paggamit ug password nga adunay minimum nga gitas-on nga 8 ka karakter, apil ang tanang klase sa mga karakter, strength-check alang sa mga sequence sa karakter ug sunud-sunod nga mga karakter idugang ang mosunod nga mga linya sa /etc/security/pwquality.conf file.

minlen = 8
minclass = 4
maxsequence = 3
maxrepeat = 3

26. Gamita ang Pagkatigulang sa Password

Ang sugo sa chage mahimong gamiton alang sa pagkatigulang sa password sa user. Aron ma-expire ang password sa usa ka user sulod sa 45 ka adlaw, gamita ang mosunod nga sugo:

# chage -M 45 username

Aron ma-disable ang oras sa pag-expire sa password gamita ang command:

# chage -M -1 username

Pugsa ang hinanaling pag-expire sa password (kinahanglan usbon sa user ang password sa sunod nga pag-login) pinaagi sa pagpadagan sa mosunod nga sugo:

# chage -d 0 username

27. I-lock ang mga Account

Ang mga account sa user mahimong ma-lock pinaagi sa pagpatuman sa passwd o usermod nga sugo:

# passwd -l username
# usermod -L username

Para maablihan ang mga account gamita ang -u nga opsyon para sa passwd command ug -U option para sa usermod.

28. Paglikay sa mga Account Shell Access

Aron mapugngan ang sistema nga account (ordinaryong account o service account) nga maka-access sa bash shell, usba ang root shell ngadto sa /usr/sbin/nologin o /bin/false sa /etc/passwd file pinaagi sa pag-isyu sa command sa ubos:

# usermod -s /bin/false username

Aron mabag-o ang kabhang kung maghimo usa ka bag-ong isyu sa user ang mosunud nga mando:

# useradd -s /usr/sbin/nologin username

29. I-lock ang Virtual User Console gamit ang vlock

Ang vlock usa ka programa nga gigamit sa pag-lock sa usa ka daghang sesyon sa Linux console. I-install ang programa ug sugdi ang pag-lock sa imong terminal session pinaagi sa pagpadagan sa ubos nga mga sugo:

# yum install vlock
# vlock

30. Paggamit ug Sentralisadong Sistema sa Pagdumala sa mga Account ug Pagpamatuod

Ang paggamit sa usa ka sentralisadong sistema sa pag-authenticate makapasayon pag-ayo sa pagdumala ug pagkontrol sa account. Ang mga serbisyo nga makatanyag niining matang sa pagdumala sa account mao ang IPA Server, LDAP, Kerberos, Microsoft Active Directory, Nis, Samba ADS o Winbind.

Ang uban niini nga mga serbisyo kay sa default gisiguro pag-ayo sa cryptographic protocol ug symmetric-key cryptography, sama sa Kerberos.

31. Puwersa ang Read-Only Mounting sa USB Media

Gamit ang blockdev utility mahimo nimong pugson ang tanang removable media nga i-mount isip read-only. Pananglitan, paghimo og bag-ong udev configuration file nga ginganlan og 80-readonly-usb.rules sa /etc/udev/rules.d/ directory nga adunay mosunod nga sulod:

SUBSYSTEM=="block",ATTRS{removable}=="1",RUN{program}="/sbin/blockdev --setro %N"

Dayon, i-apply ang lagda sa ubos nga sugo:

# udevadm control -reload

32. Pag-disable sa Root Access pinaagi sa TTY

Aron mapugngan ang root account sa paghimo sa system log-in pinaagi sa tanang console device (TTY), papasa ang sulod sa securetty file pinaagi sa pag-type sa mosunod nga command terminal prompt isip root.

# cp /etc/securetty /etc/securetty.bak
# cat /dev/null > /etc/securetty

Hinumdomi nga kini nga lagda wala magamit sa mga sesyon sa pag-login sa SSH
Aron mapugngan ang root login pinaagi sa SSH usba ang file /etc/ssh/sshd_config ug idugang ang ubos nga linya:

PermitRootLogin no

33. Gamita ang POSIX ACLs sa Pagpalapad sa System Permissions

Ang mga Lista sa Pagkontrol sa Pag-access mahimong maghubit sa mga katungod sa pag-access alang sa labaw pa sa usa ka user o grupo ug mahimong magtakda sa mga katungod alang sa mga programa, proseso, file, ug mga direktoryo. Kung imong gibutang ang ACL sa usa ka direktoryo, ang mga kaliwat niini awtomatikong makapanunod sa parehas nga mga katungod.

Pananglitan,

# setfacl -m u:user:rw file
# getfacl file

34. I-setup ang SELinux sa Enforce Mode

Ang pagpauswag sa SELinux sa Linux kernel nagpatuman sa Mandatory Access Control (MAC) nga palisiya, nga nagtugot sa mga tiggamit sa paghubit sa usa ka polisiya sa seguridad nga naghatag og granular nga mga pagtugot alang sa tanang tiggamit, programa, proseso, file, ug mga himan.

Ang mga desisyon sa pagkontrol sa pag-access sa kernel gibase sa tanan nga konteksto nga may kalabotan sa seguridad ug dili sa gipamatud-an nga identidad sa tiggamit.

Aron makuha ang kahimtang sa Selinux ug ipatuman ang palisiya padagana ang mga sugo sa ubos:

# getenforce
# setenforce 1
# sestatus

35. I-install ang SELinux Dugang nga mga Utility

I-install ang policycoreutils-python nga pakete nga naghatag dugang nga Python utilities para sa pag-operate sa SELinux: audit2allow, audit2why, chcat, ug semanage.

Aron ipakita ang tanan nga boolean nga mga kantidad kauban ang usa ka mubo nga paghulagway, gamita ang mosunud nga mando:

# semanage boolean -l

Pananglitan, aron ipakita ug itakda ang bili sa httpd_enable_ftp_server, padagana ang mosunod nga sugo:

# getsebool httpd_enable_ftp_server

Aron magpadayon ang bili sa usa ka boolean sa tibuok nga pag-reboot, ipiho ang -P nga opsyon sa setsebool, sama sa gihulagway sa mosunod nga pananglitan:

# setsebool -P httpd_enable_ftp_server on

36. Gamita ang Centralized Log Server

I-configure ang rsyslog daemon aron ipadala ang sensitibo nga mga utility log messages ngadto sa sentralisadong log server. Usab, monitor sa log files uban sa tabang sa logwatch utility.

Ang pagpadala sa mga mensahe sa log ngadto sa usa ka hilit nga server nagpasalig nga sa higayon nga ang sistema makompromiso, ang mga malisyosong tiggamit dili hingpit nga makatago sa ilang kalihokan, kanunay magbilin ug mga timailhan sa hilit nga mga file sa log.

37. I-enable ang Process Accounting

I-enable ang proseso sa accounting pinaagi sa pag-install sa psacct utility ug gamita ang lastcomm command aron ipakita ang impormasyon bahin sa mga command nga gipatuman kaniadto sama sa natala sa system accounting file ug sa aron i-summarize ang impormasyon mahitungod sa mga command nga gipatuman kaniadto sama sa narekord sa system accounting file.

38. Pagpagahi /etc/sysctl.conf

Gamita ang mosunod nga mga lagda sa kernel parameters aron mapanalipdan ang sistema:

net.ipv4.conf.all.accept_source_route=0
ipv4.conf.all.forwarding=0
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

I-disable ang pagdawat ug pagpadala sa ICMP redirected packets gawas kung espesipikong gikinahanglan.

net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.rp_filter=2

Ibaliwala ang tanan nga ICMP echo requests (set to 1 to enable)

net.ipv4.icmp_echo_ignore_all = 0

39. Gamita ang Mga Serbisyo sa VPN aron Ma-access ang imong Premises sa mga Unprotected Public Networks

Kanunay gamita ang mga serbisyo sa VPN alang sa mga tagdala aron ma-access sa layo ang lugar sa LAN sa Internet. Ang ingon nga mga matang sa mga serbisyo mahimong ma-configure gamit ang usa ka libre nga open source nga solusyon, sama sa Epel Repositories).

40. Buhata ang External System Scan

Timbang-timbanga ang seguridad sa imong sistema alang sa mga kahuyangan pinaagi sa pag-scan sa sistema gikan sa hilit nga mga punto sa imong LAN gamit ang piho nga mga himan sama sa:

  1. Nmap – network scanner 29 Mga pananglitan sa Nmap Command
  2. Nessus – scanner sa seguridad
  3. OpenVAS – gigamit sa pag-scan sa mga kahuyangan ug para sa komprehensibong pagdumala sa kahuyang.
  4. Nikto – usa ka maayo kaayo nga komon nga gateway interface (CGI) script scanner Scan Web Vulnerability sa Linux

41. Panalipdi ang Sistema sa Internal

Gamita ang internal nga proteksyon sa sistema batok sa mga virus, rootkit, malware, ug, isip maayong praktis, pag-instalar sa mga intrusion detection system nga makamatikod sa dili awtorisado nga kalihokan (mga pag-atake sa DDOS, mga port scan), sama sa:

  1. AIDE – Advanced Intrusion Detection Environment – http://aide.sourceforge.net/
  2. ClamAV – Antivirus Scanner https://www.clamav.net
  3. Rkhunter – Rootkit Scanner
  4. Lynis – Security Auditing ug Scanning Tool para sa Linux
  5. Tripwire – Seguridad ug Integridad sa Data http://www.tripwire.com/
  6. Fail2Ban – Paglikay sa Intrusion Network
  7. OSSEC – (HIDS) Host-based Intrusion Detection System http://ossec.github.io/
  8. Mod_Security – Panalipdi ang Brute Force o DDoS Attacks

42. Usba ang User Environment Variables

Idugang ang format sa petsa ug oras sa pagtipig sa pagpatuman sa mga sugo pinaagi sa pag-isyu sa ubos nga sugo:

# echo 'HISTTIMEFORMAT="%d/%m/%y  %T  "' >> .bashrc'

Puwersa nga irekord dayon ang HISTFILE sa matag higayon nga ma-type ang command (imbes mag-logout):

# echo ‘PROMPT_COMMAND="history -a"’ >> .bashrc

Limitahi ang timeout nga sesyon sa pag-login. Awtomatikong gub-on ang kabhang kung wala’y kalihokan nga gihimo sa panahon nga wala’y trabaho. Mapuslanon kaayo sa awtomatikong pagdiskonekta sa mga sesyon sa SSH.

# echo ‘TMOUT=120’ >> .bashrc

Ibutang ang tanan nga mga lagda pinaagi sa pagpatuman:

# source .bashrc

43. I-backup nga Data

Gamita ang mga snapshot sa LVM, ug uban pa aron makatipig usa ka kopya sa imong sistema, labi na sa gawas sa lugar, kung adunay pagkapakyas sa sistema.

Kung ang sistema makompromiso mahimo nimo nga ibalik ang data gikan sa nangaging mga backup.

Sa katapusan, ayaw kalimti nga bisan unsa pa kadaghan nga mga lakang sa seguridad ug kontra nga mga lakang ang imong buhaton aron mapadayon ang imong sistema nga luwas, dili ka 100% nga hingpit nga luwas basta ang imong makina nakasaksak ug gipaandar.