Ahol sok virtuális gépet használunk, célszerű egy jól felkonfigurált template gépet telepíteni, amit másolva csak a specifikus beállításokat kell elvégezni. Ez egy jó kiindulási állapot:
yum install epel-release
yum install mc less openssh-server nano telnet net-tools wget curl nload subversion screen
/etc/sysctl.d/kerneltuning.conf
vm.swappiness = 10
net.core.somaxconn = 2048
net.ipv4.tcp_max_syn_backlog = 512
net.ipv4.ip_forward = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
swappiness
paraméter határozza meg, hogy a kernel mennyire hajlamos a swap terület használatára a fizikai memória helyett. Az alacsonyabb érték (0-100) azt jelenti, hogy a kernel inkább a fizikai memóriát használja, míg a magasabb érték a swap használatát preferálja. A 10-es érték azt jelzi, hogy a rendszer inkább a RAM-ot használja, és csak akkor vált a swap-ra, ha a memória erősen telített. /etc/fstab
tmpfs /tmp tmpfs defaults,nodev,noexec,nosuid,noatime 0 0
A tmpfs egy fájlrendszer, amely a RAM-on tárolja az adatokat, így rendkívül gyors hozzáférést biztosít. A tmpfs ideiglenes fájlok tárolására szolgál, és a rendszer újraindításakor az adatok elvesznek. A tmpfs használata különösen hasznos lehet ideiglenes fájlok, cache-ek és más gyorsan elérhető adatok tárolására.
systemctl disable NetworkManager
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
Ipaddr=192.168.10.251
Prefix=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME="System eth1"
ZONE=dmz
Gateway=192.168.10.254
/etc/sysconfig/network
/etc/hosts
FQDN
/etc/postfix/main.cf
myhostname
relayhost = mailrelay.local
/etc/aliases
root: admin@organization
newaliases
yum install ntp ntpdate
systemctl enable ntpd
systemctl disable chronyd
systemctl restart ntpd
/etc/sysconfig/selinux
SELINUX=permissive
A yum-cron egy eszköz, amely lehetővé teszi a CentOS 7 rendszerek automatikus frissítéseit a Yum csomagkezelő segítségével. A yum-cron segítségével a security frissítések automatikus letöltése és telepítse megvalósíthat. Ez különösen hasznos a biztonsági frissítések esetében, mivel gyorsan reagálhatunk a sebezhetőségekre, és fenntarthatjuk a rendszer stabilitását és biztonságát.
yum install yum-cron
/etc/yum/yum-cron.conf
update_cmd = security # csak security update-ek települnek, így minimális a rizikója bármely funkció elromlásának
apply_updates = yes # telepítse is a frissítéseket, ne csak letöltse
systemctl enable yum-cron
yum install fail2ban
systemctl enable fail2ban
/etc/fail2ban/jail.d/01-ssh.conf
[default]
bantime = 3600 # 1 óra legyen a bann ideje, ne csak 5 perc
/etc/fail2ban/jail.d/00-firewalld.conf
:
banaction = iptables-multiport
[sshd]
enabled = true # SSH védelem engedélyezése
systemctl restart fail2ban
A CentOS-nek van beépített tűzfal kezelő szolgáltatása, firewalld, így egyszerűbb a konfigurálás, mint iptables szabályokkal
systemctl enable firewalld
firewall-cmd --zone=public --change-interface=eth0
firewall-cmd --zone=dmz --change-interface=eth1
firewall-cmd --zone=internal --change-interface=eth2
firewall-cmd --reload
rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
yum install zabbix-agent zabbix-sender
systemctl enable zabbix-agent
yum install syslog-ng
systemctl enable syslog-ng
/etc/syslog-ng/syslog-ng.conf
Elküldjük az összes logot a logcenter nevű gépünknek
destination logserver { tcp("logcenter.local" port(514) ); };
log { source(s_sys); destination(logserver); };
filter f_iptables { facility(kern) and message("IN=") and message("OUT="); };
destination firewall { file("/var/log/firewall" suppress(30)); };
log { source(s_sys); filter(f_iptables); destination(firewall); };