**1 ネットワークカード名をeth0 **に変更します
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="
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の名前を変更します
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
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できます
auth required pam_wheel.so use_uid
拡張機能:ユーザーfangにsudoを追加し、シャットダウンを除く他のすべての操作:
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
最後に追加
soft nofile 1024000
hard nofile 1024000
hive - nofile 1024000
hive - nproc 1024000
ユーザープロセスの制限
root soft nproc unlimited
reboot
13 カーネルを最適化する
cat /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv4.neigh.default.gc_stale_time=120
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
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
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
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
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
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
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”
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_tally2カウンターログは/ var / log / tallylogに保存されます。これはバイナリ形式のファイルであることに注意してください。
**例1./etc/pam.d/sshd-pam_tally2.so **
上記の構成は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を介してシステムにログインできなくなります。
**例2./etc/pam.d/sshd-pam_listfile.so **
センス=ホワイトリスト方式を許可、センス=ブラックリスト方式を拒否
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
ユーザーグループを変更してホイールグループに追加
ホイールグループに参加していないユーザーは、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