[ root@nfs01 ~]# uname -r
2.6.32- 696. el6.x86_64
[ root@nfs01 ~]# uname -m
x86_64
[ root@nfs01 ~]# cat /etc/redhat-release
CentOS release 6.9(Final)
mv /etc/yum.repos.d/CentOS-Base.repo{,.$(date +%F_%T).backup}
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache
\ cp /etc/selinux/config{,.$(date +%F_%T).backup}
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g"/etc/selinux/config
grep 'SELINUX=disable'/etc/selinux/config
setenforce 0
getenforce
/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off
export LANG=en
chkconfig --list | egrep "3:on"|egrep -v "crond|network|sshd|rsyslog|sysstat"| awk '{print "chkconfig",$1,"off"}'| bash
chkconfig --list | grep 3:on
useradd abc
\ cp /etc/sudoers{,.$(date +%F_%T).backup}
echo "abc ALL=(ALL) NOPASSWD:ALL">>/etc/sudoers
tail -1/etc/sudoers
visudo -c
echo '# time sync by odlboy at 2018-2-1'>>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'>>/var/spool/cron/root
crontab -l
\ cp /etc/security/limits.conf{,.$(date +%F_%T).backup}
echo '* - nofile 65535'>>/etc/security/limits.conf
tail -1/etc/security/limits.conf
# 再起動して有効にします
ulimit -n
\ cp /etc/sysctl.conf{,.$(date +%F_%T).backup}
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout =2
net.ipv4.tcp_tw_reuse =1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_syncookies =1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range =400065000
net.ipv4.tcp_max_syn_backlog =16384
net.ipv4.tcp_max_tw_buckets =36000
net.ipv4.route.gc_timeout =100
net.ipv4.tcp_syn_retries =1
net.ipv4.tcp_synack_retries =1
net.core.somaxconn =16384
net.core.netdev_max_backlog =16384
net.ipv4.tcp_max_orphans =16384
# 次のパラメータは、iptablesファイアウォール用に最適化されています。ファイアウォールに会議がない場合は、無視してかまいません。
net.nf_conntrack_max =25000000
net.netfilter.nf_conntrack_max =25000000
net.netfilter.nf_conntrack_tcp_timeout_established =180
net.netfilter.nf_conntrack_tcp_timeout_time_wait =120
net.netfilter.nf_conntrack_tcp_timeout_close-wait =60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =120
EOF
# カーネル構成ファイルのパラメーターを有効にします
sysctl -p
yum -y install tree lrzsz telnet nc nmap dos2unix sysstat htop nload iptraf iftop
\ cp /etc/ssh/sshd_config{,.$(date +%F_%T).backup}
sed -i 's/#Port 22/Port 52113/g'/etc/ssh/sshd_config
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g'/etc/ssh/sshd_config
sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/g'/etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g'/etc/ssh/sshd_config
sed -i 's/#UseDNS yes/UseDNS no/g'/etc/ssh/sshd_config
/etc/init.d/sshd reload
# pingを禁止する
echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
# pingを許可する
# echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all
rpm -qa openssh openssl bash
yum install -y openssh openssl bash
Linuxの基本的な最適化と完全な主要な要約
1 )rootとして管理システムにログインするのではなく、通常のユーザーとしてログインし、sudo認証を介して管理します。
2 )デフォルトのリモート接続sshサービスポートを変更するか、rootユーザーがリモート接続することを禁止するか、またはsshサービスを変更してイントラネットIPのみを監視するようにします。
3 )サーバーの時刻を定期的に自動的に更新して、インターネットの時刻と同期させます
4 )yum更新ソースを構成し、国内更新ソースからソフトウェアパッケージをダウンロードしてインストールします
5 )SELinuxとiptablesをオフにします(作業シナリオでは、外部IPがある場合、通常はiptablesをオンにする必要があり、同時実行性とトラフィックが多いサーバーはオンにならない場合があります)
6 )ファイル記述子の数を調整します。プロセスとファイルを開くと、ファイル記述の数が消費されます。
7 )ディスク上のinodeの数が小さなファイルでいっぱいになるのを防ぐために、メールディレクトリ内のジャンクファイルを定期的に自動的にクリーンアップします(CentOS6とCnetos5でクリーンアップされるディレクトリが異なることに注意してください)。
8 )起動に必要な自動起動サービス(crond、shhd、network、rsyslog、sysstatなど)を合理化して維持します
9 )Linuxカーネルパラメータの最適化/etc/sysctl.conf、sysctl-pを実行して有効にします
10 )システム文字セットを「zh_CN.UTF-8」に変更して、文字化けを防ぐために中国語をサポートするようにします
11 )/ etc / passwd / etc / shadow / etc / group / etc / gshadow / etc / inittabなどの主要なシステムファイルをロックします。上記のコンテンツを処理した後、chattrとlsattrの名前をoldboyに変更し、転送します。これにより、より安全になります。
12 )システムとカーネルバージョンにログインする前に、/ etc / issue /etc/issue.netをクリアして、画面表示を削除します。
13 )冗長システム仮想ユーザーアカウントをクリアする
14 )grubブートメニューのパスワード
15 )ホストがpingされないようにします
16 )既知の脆弱性を持つソフトウェアにパッチを適用してアップグレードする
注:このブログは参照用です。読者は実際の状況に応じて合理的な構成を行うことができます。ブログの内容については、古い男の子の本「Web ClusterActualCombat」を参照してください。
Recommended Posts