Centos6.9システムのいくつかの基本的な最適化(2018/04/19更新)

システムメッセージ:#

[ 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)

yumソースを変更する#

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

SELinuxをオフにする#

\ 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

iptablesを閉じる#

/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

abcを上げる権利はsudoできます#

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

SSHサーバーのリモートログインの構成を変更します(オプションの変更、自分でログオンすることはできません)#

\ 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

Linuxシステムへのpingの禁止#

# 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

Centos6.9システムのいくつかの基本的な最適化(2018/04/19更新)
centos7へのグラファイトの展開
Centosシステムにdockerをインストールします
CentOS 8(1905)システムをVMware仮想マシンにインストールするためのチュートリアル図
CentOS8システムにKernel5.xカーネルバージョンをインストールする詳細な方法
001.エンタープライズレベルのCentOS7.6オペレーティングシステムのインストール
CentOS7ビルドFastDFS分散ファイルシステム(オン)
jira7.8レポートサービスはcentos7.4システムでは利用できません
Centos7システム強化の知識ポイントを要約する
CentOS6.5でのHadoop環境の構築に関する詳細な説明
centos8にnginxをインストールするための詳細なチュートリアル(グラフィック)
Centosの基本コマンド
CentOS7の基本構成
セントスシステム管理
Centos7システム仮想マシンブリッジングモードの詳細な説明
pythonに基づく名刺管理システムの実装
仮想マシンへのCentOS6.4システムの詳細なインストール手順
Centos7でのLVMによるファイルシステムのオンライン拡張
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)