Centos7.2システム最適化オリジナル

**1 ネットワークカード名をeth0 **に変更します

mv ifcfg-eno16777729 ifcfg-eth0

vi /etc/sysconfig/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="(sed 's, release .*,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 rhgb quiet net.ifnames=0 biosdevname=0"

GRUB_DISABLE_RECOVERY="true"

/etc/udev/rules.d/90-eno-fix.rulesの名前を変更します

grub2-mkconfig -o /boot/grub2/grub.cfg#ブートメニューの生成

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64

Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-e8675ae79abd41309dac42388f8d9116

Found initrd image: /boot/initramfs-0-rescue-e8675ae79abd41309dac42388f8d9116.img

reboot

ipaddrまたは

yum install net-tools#defaultcentos7はifconfigをサポートしていません。net-toolsパッケージを確認する必要があります

2. システムの更新

3. 最小特権の原則であるファイル属性の変更

chmod 700 / bin / rpmrootユーザーのみがrpmを使用してソフトウェアパッケージを指定およびインストールできます

chmod 664 /etc/hosts

chmod 644 /etc/passwd

chmod 644 /etc/exports

chmod 644 /etc/issue

chmod 664 /var/log/wtmp

chmod 664 /var/log/btmp

chmod 644 /etc/services

chmod 600 /etc/shadow

chmod 600 /etc/login.defs

chmod 600 /etc/hosts.allow

chmod 600 /etc/hosts.deny

chmod 600 /etc/securetty

chmod 600 /etc/security

chmod 600 /etc/ssh/ssh_host_key

chmod 600 /etc/ssh/sshd_config

chmod 600 /var/log/lastlog

chmod 600 /var/log/messages

4. ユーザーを追加 fang

[ root@bogon ~]# useradd fang

[ root@bogon ~]# echo 123456 | passwd --stdin fang

Changing password for user fang.

passwd: all authentication tokens updated successfully.

[ root@bogon ~]# usermod -G wheel fang

[ root@bogon ~]# sed -i '6s/^#//g' /etc/pam.d/su

[ root [@bogon](https://my.oschina.net/u/3914826)〜] #grep Wheel /etc/pam.d/su#WHEELグループのみがsuできます

Uncomment the following line to implicitly trust users in the "wheel" group.

auth sufficient pam_wheel.so trust use_uid

Uncomment the following line to require a user to be in the "wheel" group.

auth required pam_wheel.so use_uid

拡張機能:ユーザーfangにsudoを追加し、シャットダウンを除く他のすべての操作:

visudo

Cmnd_Alias SHUTDOWN = /sbin/halt, /sbin/shutdown, /sbin/poweroff, /sbin/reboot, /sbin/init

fang ALL=(ALL) ALL,!SHUTDOWN

%wheel ALL =(ALL)ALL、!SHUTDOWN#ホイールグループの権限を変更し、シャットダウンを禁止します

Defaults logfile=/var/log/sudo.log

5 selinuxを無効にする

[ root@bogon ~]# grep -i ^selinux /etc/selinux/config

SELINUX=enforcing

SELINUXTYPE=targeted

[ root@bogon ~]# sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config

[ root@bogon ~]# getenforce

Enforcing

6. ファイアウォールを閉じてiptablesをインストールします

systemctl stop firewalld.service

systemctl disable firewalld.service

yum install iptables-services -y #install

7. ホスト名を変更

[ root@bogon ~]# hostnamectl set-hostname hequan.com

[ root@bogon ~]# hostname

hequan.com

8. サービスの表示と管理

[ root@hequan ~]# systemctl -t service

[ root@hequan ~]# systemctl list-unit-files -t service

yum install -y bash-completion#サービス名を入力し、bashを終了して、次のように入力します。

9. キャラクターセットを設定

[ root@hequan ~]# echo $LANG

zh_CN.UTF-8

[ root@hequan ~]# vi /etc/locale.conf

LANG="en_US.UTF-8"

[ root@hequan ~]# source /etc/locale.conf

10. yum

yum install -y cmake vim wget lrzsz htop

163のソースをインストールする

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

cd /etc/yum.repos.d/

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum clean all

yum makecache

その他

yum -y install yum-plugin-priorities ##優先プラグインをインストール

sed -i -e "s / ] $ / ] \ npriority = 1 / g" /etc/yum.repos.d/CentOS-Base.repo##基本的なyumソースの優先度を1に設定します

yum -y install epel-release ## epelsourceをインストールします

sed -i -e "s / ] $ / ] \ npriority = 5 / g" /etc/yum.repos.d/epel.repo##優先度を5に設定

sed -i -e "s / enabled = 1 / enabled = 0 / g" /etc/yum.repos.d/epel.repo ## epelソースを無効にする

yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm ## rpmforgeのソースをインストールします

sed -i -e "s / ] $ / ] \ npriority = 10 / g" /etc/yum.repos.d/rpmforge.repo##優先度を10に設定します

sed -i -e "s / enabled = 1 / enabled = 0 / g" /etc/yum.repos.d/rpmforge.repo ## yumsourceを無効にする

使用方法:yum --enablerepo = rpmforge install [パッケージ]

epelソースをインストールする

yum -y install epel-release

**11 sshd **を構成します

ListenAddress 0.0.0.0 ## ipv4のみを有効にする

/etc/ssh/sshd_config

PermitRootLogin no ## sshを使用してrootがログインすることを禁止する

MaxAuthTries 2 ## 2回失敗した場合は、SSHログインを切断して再開します

PubkeyAuthentication no ##証明書のログインを禁止するAuthorizedKeysFile / dev / null

ChallengeResponseAuthentication yesは、SSHクライアントがパスワードを記憶することを禁止します

sshログイン速度を高速化

GSSAPIAuthenticationいいえ## GSSAPIUseDNSを閉じるいいえ## DNS逆解決を禁止する

一般的なSSH認証方法は、publickey、gssapi-keyex、gssapi-with-mic、passwordです。これは、ssh-vを使用してデバッグモードをオンにすると接続ログに表示されます。一般ユーザーはパスワード認証のみを使用しますが、システムは最初の3つの認証プロセスを試行します。これにより、時間が無駄になり、SSHログインが遅くなります。

AllowTcpForwarding noは、SSHマッピングSocks5を使用して外国のWebサイトなどにアクセスすることを禁止していません。

12 開くファイル(開いているファイル)の数の制限を増やす

ulimit -n

ulimit -a

vi /etc/security/limits.conf

最後に追加

hive - nofile 1024000

hive - nproc 1024000

ユーザープロセスの制限

sed -i's#4096#65535#g '/ etc / security / limits.d / 20-nproc.conf#通常のユーザーの制限を増やすことも無制限に変更できます

egrep -v "^$|^#" /etc/security/limits.d/20-nproc.conf

root soft nproc unlimited

reboot

13 カーネルを最適化する

cat /etc/sysctl.conf

CTCDNシステム最適化パラメーター

システムリソースを節約するには、ipv6をオフにします

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

期限切れのネイバーエントリをチェックする期間を決定します

net.ipv4.neigh.default.gc_stale_time=120

arp_announce / arp_ignoreを使用して、ARPマッピングの問題を解決します

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.all.arp_announce=2

net.ipv4.conf.lo.arp_announce=2

増幅攻撃を避ける

net.ipv4.icmp_echo_ignore_broadcasts = 1

悪意のあるicmpエラーメッセージ保護を有効にする

net.ipv4.icmp_ignore_bogus_error_responses = 1

ルーティングと転送をオフにする

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

リバースパスフィルタリングをオンにする

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

パッシブルーティングされたパケットの処理

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

sysrq機能をオフにします

kernel.sysrq = 0

拡張子としてコアファイル名にpidを追加します

kernel.core_uses_pid = 1

SYNフラッド攻撃保護を有効にする

net.ipv4.tcp_syncookies = 1

[メッセージキュー]の長さを変更する(https://cloud.tencent.com/product/cmq?from=10680)

kernel.msgmnb = 65536

kernel.msgmax = 65536

最大メモリ共有セグメントサイズをバイト単位で設定します

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

待機時間の数。デフォルトは180000です。

net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.tcp_sack = 1

net.ipv4.tcp_window_scaling = 1

net.ipv4.tcp_rmem = 4096 87380 4194304

net.ipv4.tcp_wmem = 4096 16384 4194304

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

各ネットワークインターフェイスがデータパケットを受信する速度が、カーネルがこれらのパケットを処理する速度よりも速い場合に、キューに送信できるデータパケットの最大数

net.core.netdev_max_backlog = 262144

制限は、単純なDoS攻撃を防ぐためだけです

net.ipv4.tcp_max_orphans = 3276800

クライアントの確認を受け取っていない接続要求の最大数

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_timestamps = 0

カーネルが接続の確立をあきらめる前に送信されたSYNACKパケットの数

net.ipv4.tcp_synack_retries = 1

カーネルが接続の確立をあきらめる前に送信されたSYNパケットの数

net.ipv4.tcp_syn_retries = 1

タイムウェイト高速リカバリを有効にする

net.ipv4.tcp_tw_recycle = 1

再利用をオンにします。 TIME-WAITソケットを新しいTCP接続に再利用できるようにする

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_fin_timeout = 1

キープアライブが有効になっている場合、TCPがキープアライブメッセージを送信する頻度。デフォルトは2時間です

net.ipv4.tcp_keepalive_time = 1800

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl = 15

システムがポート範囲を開くことを許可します

net.ipv4.ip_local_port_range = 1024 65000

ファイアウォールテーブルのサイズを変更します。デフォルトは65536です。

net.netfilter.nf_conntrack_max=655350

net.netfilter.nf_conntrack_tcp_timeout_established=1200

ルーティングテーブルを誰も変更できないようにする

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

sysctl -p #effective

14 時間設定

yum install chrony

vi /etc/chrony.conf

server 0.centos.pool.ntp.org

server 3.europe.pool.ntp.org

systemctl enable chronyd.service

systemctl start chronyd.service

timedatectl set-timezone Asia/Shanghai

timedatectl set-time "2015-01-21 11:50:00"(1つだけ変更できます)日付と時刻を変更します

timedatectl時間ステータスの表示

chronycソース-v時間同期ソースの表示

chronyc sourcestats -v

hwclock -w#最初に時間をハードウェア時間に同期

15、 自動ログアウト操作なしのリモート5分:

vim /etc/profile

最後に追加:

export TMOUT = 300-5分で自動的にログアウトします

現れる

HISTSIZE=1000

着替える:

HISTSIZE = 100-日記のバイトを100KBに減らします。大きすぎてコンテンツが多すぎるため、重要な情報を見逃しがちです。

HISTTIMEFORMAT=”%Y-%m-%d %H:%M:%S”

  1. IPマスカレードを禁止する

vim /etc/host.conf

追加:

nospoof on

17 一時的なファイルセキュリティ

一時ファイルには実行権限が必要ではありません

/tmp

/dev/sda3 /tmp ext4 nosuid,noexec,nodev,rw 0 0

同時に、シンボリックリンクを使用して/ var / tmpを/ tmpにポイントします

/dev/shm

none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0

18 PAMプラグイン認証強化構成

構成ファイル

ls /etc/pam.d/chfn crond login passwd remote runuser-l smtp ssh-keycat sudo-i system-auth-acchsh fingerprint-auth newrole password-auth run_init smartcard-auth smtp.postfix su su-lconfig-util fingerprint-auth-ac other password-auth-ac runuser smartcard-auth-ac sshd sudo system-auth

認証プラグイン

ls /lib64/security/

18.1.  pam_tally2.so

このモジュールの機能は、ログイン時に間違ったパスワードを3回入力することであり、禁止は5分後に自動的に解除されます。禁止が解除されていないときに正しいパスワードを入力するとログインできません。

構成ファイル/etc/pam.d/sshdの先頭に追加します

auth required pam_tally2.so deny=3 onerr=fail unlock_time=300

失敗の数を表示する

pam_tally2Login Failures Latest failure Fromroot 14 07/12/13 15:44:37 192.168.6.2neo 8 07/12/13 15:45:36 192.168.6.2

カウンターをリセット

pam_tally2 -r -u rootLogin Failures Latest failure Fromroot 14 07/12/13 15:44:37 192.168.6.2# pam_tally2 -r -u neoLogin Failures Latest failure Fromneo 8 07/12/13 15:45:36 192.168.6.2

pam_tally2カウンターログは/ var / log / tallylogに保存されます。これはバイナリ形式のファイルであることに注意してください。

**例1./etc/pam.d/sshd-pam_tally2.so **

cat /etc/pam.d/sshd

%PAM-1.0auth required pam_tally2.so deny=3 onerr=fail unlock_time=300auth required pam_sepermit.soauth include password-authaccount required pam_nologin.soaccount include password-authpassword include password-auth# pam_selinux.so close should be the first session rulesession required pam_selinux.so closesession required pam_loginuid.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession required pam_selinux.so open env_paramssession optional pam_keyinit.so force revokesession include password-auth

上記の構成はrootユーザーに制限されていません。rootユーザーを制限する必要がある場合は、以下を参照してください。

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=1800

18.2.  pam_listfile.so

ユーザーログインの制限

次の行を/etc/pam.d/sshdに追加します。ここではホワイトリスト方式が使用されています。ブラックリスト方式も使用できます。

auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail

/ etc / ssh / whitelistへのログインを許可されているユーザーを追加すると、他のユーザーはsshを介してシステムにログインできなくなります。

cat /etc/ssh/whitelistneowww

**例2./etc/pam.d/sshd-pam_listfile.so **

cat /etc/pam.d/sshd#%PAM-1.0auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=failauth required pam_tally2.so deny=3 onerr=fail unlock_time=300auth required pam_sepermit.soauth include password-authaccount required pam_nologin.soaccount include password-authpassword include password-auth# pam_selinux.so close should be the first session rulesession required pam_selinux.so closesession required pam_loginuid.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession required pam_selinux.so open env_paramssession optional pam_keyinit.so force revokesession include password-auth

センス=ホワイトリスト方式を許可、センス=ブラックリスト方式を拒否

auth required pam_listfile.so item=user sense=deny file=/etc/ssh/blacklist onerr=fail

詳細については、マニュアル$ manpam_listfileを参照してください。

18.3.  pam_access.so

/etc/pam.d/sshdファイルを編集して、次の行を追加します

account required pam_access.so

保存後にsshdプロセスを再起動します

/etc/security/access.confファイルを編集しますcat >> /etc/security/access.conf << EOF-:root:192.168.6.1EOFを除くすべて

192.168.6.1からのみログインし、複数のIPアドレスを追加します

テストが機能するかどうか

18.4.  pam_wheel.so

通常のユーザーがsuコマンドを使用してrootへの特権を上げることを制限します。ホイールグループに属するユーザーのみがsuを介してrootユーザーに切り替えることができます。

/etc/pam.d/suファイルを編集し、以下のコメントを削除します

auth required pam_wheel.so use_uid

ユーザーグループを変更してホイールグループに追加

usermod -G wheel www# id wwwuid=501(www) gid=501(www) groups=501(www),10(wheel)

ホイールグループに参加していないユーザーは、suを使用すると、パスワードが正しくないことを確認するメッセージが表示されます。

$ su - rootPassword:su: incorrect password

18.5 ユーザーログインを設定します。一般的なユーザーログインの認識は6回を超え、300秒間ロックします。

echo "account required pam_tally.so deny=100 no_magic_root reset" >>/etc/pam.d/system-auth

echo "auth required pam_tally.so onerr=fail deny=6 unlock_time=300" >>/etc/pam.d/system-auth

( adsbygoogle = window.adsbygoogle || []).push({});

Recommended Posts

Centos7.2システム最適化オリジナル
CentOS7.Xシステムのインストールと最適化
セントスシステム管理
Centos7.6オペレーティングシステムのインストールと最適化の記録
01 CentOS7.6スイッチシステム言語
Centos7インストールdocker-18.xオリジナル
CentOS7.5-1804システムカーネルのアップグレード
Centos7インストールpyenvオリジナル
VirtualBoxはCentOSシステムをインストールします
CentOS7インストールRedis5.0.8オリジナル
Centosシステムプロセス管理
Centos7はZabbix3.4オリジナルをインストールします
Centos各種時間[システム時間/ハードウェア時間]
Centos7システムで一般的に使用されるコマンド
CentOS7ユーザーアカウント構成オリジナル
Centosシステムにdockerをインストールします
Centosシステムはタイムゾーンを変更します
Centosバックエンドシステムのセットアップ記録
CENTOS7はCEPHオリジナルを手動でインストールします
Centos6システムのブートロードプロセス
Linuxcentosシステムの起動プロセス
CentOS6.Xシステム初期化スクリプト
CentOSセットsshキーログインオリジナル
CentOS 8(2)
Linux:Centos7は元のカーネルをアップグレードします
CentOS 8(1)
CentOS7.2インストールlepusデータベース監視システム
CentOs7のインストールと展開Zabbix3.4オリジナル
CentOS7システムのインストールと構成のグラフィックチュートリアル
CentOS7.6オペレーティングシステムをインストールするためのグラフィックKVM
CentOS7はIT資産管理システムSnipe-ITをインストールします
CentOS7システム増加スワップ操作方法の例
LinuxカーネルのコンパイルとCentOSシステムのインストール
LinuxCentOS7システムにmysql8.0.13バージョンをインストールします
CentOS7システムyumMySQL5.7をインストールする方法
CentOS7システムの再起動後のIPアドレスの問題
CentOS7ビルドFastDFS分散ファイルシステム(下記)