1.基本的なセキュリティの実装
1.ユーザーをロックしてファイルをロックする
1)アカウントをロックする
[root@localhost ~]# usermod -L lisi //锁定账户
[root@localhost ~]# passwd -S lisi //查看账户状态
lisi LK 1969-12-31 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U lisi //解锁
[root@localhost ~]# passwd -S lisi
lisi PS 1969-12-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
2)ファイルをロックする
/ etc / passwdファイルと/ etc / passwdファイルをロックした後は、ユーザーの作成とパスワードの割り当てを実行できません。
[root@localhost ~]# chattr +i /etc/passwd /etc/passwd //锁定文件
[root@localhost ~]# lsattr /etc/passwd /etc/passwd //查看锁定文件状态
----i----------- /etc/passwd
----i----------- /etc/passwd
[root@localhost ~]# useradd zhangsan //锁定文件后创建用户和赋予密码都执行不能执行了
useradd:无法打开 /etc/passwd
[root@localhost ~]# chattr -i /etc/passwd /etc/passwd //解锁文件
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2.セキュリティパスワード制御
1)パスワードの有効期間を設定します(パスワードの制限時間を設定するために変更が使用されます)
[root@localhost ~]# vim /etc/login.defs //针对新用户
PASS_MAX_DAYS 7 //更改密码有效期为7天
[root@localhost ~]# chage -M 77 zhangsan //针对已有用户,有效期为77天
[root@localhost ~]# tail /etc/shadow //查看
2)次回ログイン時に変更するパスワードを設定してください。変更しないと、ログインが拒否されます。
[root@localhost ~]# chage -d 0 zhangsan //下次登录时重设置密码
3.履歴コマンド、自動ログアウト
1)履歴コマンドの数を変更する
bashの端末環境では、歴史的なコマンドの記録は、デフォルトでは1000年である変数HISTSIZE、によって制御されている。あなたは変えることができるの内容は/ etc / profileの歴史的なコマンドの数を設定するファイルを。
[root@localhost ~]# vim /etc/profile //针对新用户
HISTSIZE=500 //修改为500条历史命令
[root@localhost ~]# export HISTSIZE=200 //针对已有用户,修改为200条
2)bash環境を終了すると、履歴コマンドは自動的にクリアされます
ホストディレクトリ〜/ .bash_logoutファイルを変更し、履歴コマンドをクリアするための操作ステートメントを追加します
[root@localhost ~]# vim ~/.bash_logout
history -c
clear
[root@localhost ~]# source .bash_logout //刷新
3)タイムアウト期間を設定します
アイドルタイムアウト変数TMOUTによって制御され、デフォルトの単位は秒(S)であり、変更は/ etc / profileファイルの設定を
[root@localhost ~]# vim /etc/profile //针对新用户
export TMOUT=600 //600秒无人操作自动注销终端
[root@localhost ~]# export TMOUT=600 //针对已有用户
4.ユーザーの切り替え
1)suコマンド-ユーザーの切り替え
[root@localhost ~]# su zhangsan
[zhangsan@localhost root]$ su root
密码:
2)suコマンドを使用するように個々のユーザーを設定します
pam-wheel認証モジュールでは、個々のユーザーのみがsuコマンドを使用でき、/ etc / pam.d / suを変更してpam-wheelを有効にすることができます。
[root@localhost ~]# gpasswd -a zhangsan wheel //添加用户到wheel组里面
正在将用户“zhangsan”加入到“wheel”组中
[root@localhost ~]# grep wheel /etc/group //验证是否是wheel组成员
wheel:x:10:zhangsan
[root@localhost ~]# vim /etc/pam.d/su
auth required pam_wheel.so use_uid
//去#号,去掉以后表示只有wheel组成员才能使用su命令
[lisi@localhost root]$ su root //测试
密码:
su: 拒绝权限
5.実行権限を上げる-sudoコマンド
1)ユーザー設定権限
構成ファイル/ etc / sudoersでは、認証フォーマットは次のとおりです。
ユーザーマシンコマンド
承認には主に、ユーザー、ホスト、コマンドの3つの部分が含まれます。
ユーザー(ユーザー):指定されたユーザー名を直接承認するか、「%グループ名」の形式を使用します(グループ内のすべてのユーザーを承認します)
ホスト(MACHINE):この構成ファイルのホスト名を使用します。これは主に複数のホストがsudoersファイルを共有するのに便利で、通常はlocalhostまたは実際のホスト名を設定します。
コマンド(コマンド):コマンドプログラムのフルパスを「、」コンマで区切って入力します
[root@localhost ~]# vim /etc/sudoers
zhangsan localhost.localdomain=/sbin/ifconfig //设置zhangsan有使用ifcfing命令的权限
%wheel ALL=NOPASSWD:ALL //设置wheel组里面成员不用使用密码,zhangsan没加组里,所以下面需要密码
[root@localhost ~]# su zhangsan
[zhangsan@localhost root]$ sudo ifconfig ens33 192.168.1.1 //使用命令前加sudo
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for zhangsan: //zhangsan密码
注意:
sudoコマンドを使用する前にsudoを追加する必要があります
sudoコマンドでは、ワイルドカード「*」と否定「!」を使用できます。
2)ユーザーが取得したsudo権限を確認します
[root@localhost ~]# sudo -l
ログを有効にすると、/ var / log / sudo /ファイルからsudo操作レコードを確認できます。
[root@localhost ~]# tail /var/log/sudo
2つ目は、システムの起動とログインの制御です。
1.再起動するショートカットキーを禁止します
[root@localhost ~]# ll /usr/lib/systemd/system/ctrl-alt-del.target //查看是链接文件
lrwxrwxrwx. 1 root root 13 5月 7 2018 /usr/lib/systemd/system/ctrl-alt-del.target -> reboot.target
[root@localhost ~]# systemctl mask ctrl-alt-del.target //注销ctrl-alt-del.target
Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
[root@localhost ~]# systemctl daemon-reload //重新加载system配置
2.GRUBパスワードを設定します
使用するパスワードを設定すると、grub2-mkpasswd-pbkdf2コマンドが生成され、生成されたパスワードが/etc/grub.d/00_header構成ファイルに保存されます。
[root@localhost ~]# grub2-mkpasswd-pbkdf2
输入口令: //设置密码
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.37B241BE7B9B7AA1FE3631633F2B9FACF0C68133C8D53DF1BCDFA029A5E75B6031D99736281F45EDE65737D4145719C4A18D4F26948C9B85F1C3EE1F6DDECA5C.21F50377A7E3D5BD8C60C5FD580C48A3518AEF747E21A7D0449C9F0B5EC589FB50B8EA0D531279B7C78A15C1867D70F68E1A7BA1B8E59BACDE77CDC1F96B465A
[root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak //备份
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak //备份
[root@localhost ~]# vim /etc/grub.d/00_header //把经加密后的字符串添加至文件末尾
cat << EOF
set superusers="root" //用户设置为root
password_pbkdf2 root grub.pbkdf2.sha512.10000.37B241BE7B9B7AA1FE3631633F2B9FACF0C68133C8D53DF1BCDFA029A5E75B6031D99736281F45EDE65737D4145719C4A18D4F26948C9B85F1C3EE1F6DDECA5C.21F50377A7E3D5BD8C60C5FD580C48A3518AEF747E21A7D0449C9F0B5EC589FB50B8EA0D531279B7C78A15C1867D70F68E1A7BA1B8E59BACDE77CDC1F96B465A
EOF
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg //生成新grub.cf的文件
3.ターミナルログイン制御
1)rootユーザーが端末にログインすることを禁止します
[root@localhost ~]# vim /etc/securetty
#tty5 //禁止root在5,6终端登录
#tty6
2)一般ユーザーのログインを禁止する
新規ユーザーがシステムにログインすることを禁止するために、ログインプログラムは/ etc / noloinファイルが存在するかどうかをチェックし、存在する場合は、新規ユーザーがシステムにログインすることを禁止します。
[root@localhost ~]# touch /etc/noloin
3つ、弱いパスワード検出、ポートスキャン
1.弱いパスワード検出-リッパーのジョン
ソースパッケージのインストール:リンク:https
://pan.baidu.com/s/1Sxyr1Vt4Y8WyBhEv6bQk7w抽出コード:a2gt
John the ripperは、既知の暗号文の平文パスワード文字列を分析でき、複数の暗号化アルゴリズムをサポートするオープンソースソフトウェアのパスワードクラッキングツールです。
1)john theripperをダウンロードしてコンパイルします
解凍後、doc(手動ドキュメント)、run(プログラムの実行)、src(ソースファイル)の3つのファイルが表示されます。
[root@localhost mnt]# tar zxf john-1.8.0.tar.gz -C /usr/src/
[root@localhost mnt]# cd /usr/src/john-1.8.0/
[root@localhost john-1.8.0]# cd src/
[root@localhost src]# make clean linux-x86-64 //编译安装
[root@localhost src]# ls ../run/john //确认生成可执行john文件
../run/john
2)脆弱なパスワードを検出する
/ etc / shadow暗号文ファイルの平文を解読する
[root@localhost src]# cp /etc/shadow /root/shadow.txt //准备待破解文件
[root@localhost src]# cd .. /run/
[root@localhost john-1.8.0]# cd run/ //执行暴力破解
[root@localhost run]# ./john /root/shadow.txt
Loaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for stat
123456 (root) //结果
123 (lisi) //结果
[root@localhost run]# ./john --show /root/shadow.txt //查看已破解账户列表
root:123456::0:99999:7:::
lisi:123::0:99999:7:::
2 password hashes cracked, 1 left
3)パスワード辞書ファイルを使用する
パスワードディクショナリは、ブルートフォースパスワードクラッキングにとって非常に重要です。デフォルトでjohn the ripperによって提供されるディクショナリファイルはpassword.lstで、3000の一般的な弱いパスワードがリストされています。ユーザーはパスワードの組み合わせ(誕生日、誕生日など)をさらに追加できます。パスワードを解読するために。もちろん、自分で辞書を書くこともできます。次のデモンストレーションは、aaa.txtとして自分で辞書を書くことです。
[root@localhost run]# :> john.pot //清空已破解账户列表
[root@localhost run]# vim aaa.txt //新建词典
qinziteng
qinziteng666
[root@localhost run]# ./john --wordlist=/aaa.txt /root/shadow.txt
注:-wordlist =の後に辞書名を続けると、独自の辞書を使用することも、独自の辞書を作成することもできます。
2.ネットワークスキャン--nmap
1)nmapをインストールします
[root@localhost yum.repos.d]# yum -y install nmap //安装nmap
2)文法とタイプ
Nmapスキャンは/ usr / bin / nmapにあります。コマンド形式は次のとおりです。
nmap [スキャンタイプ] [オプション] <スキャンターゲット>
一般的なオプションは次のとおりです
ケーススタディ
一般的なtcpポートをスキャンします
[root@localhost ~]# nmap 127.0.0.1 //扫描常用tcp端口
Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-07 21:41 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000016s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
一般的なUDPポートをスキャンします
[root@localhost ~]# nmap -sU 127.0.0.1 //扫描常用udp端口
Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-07 21:44 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000016s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
5353/udp open|filtered zeroconf
Nmap done: 1 IP address (1 host up) scanned in 1.28 seconds
ftpサービス-p指定ポートを提供する192.168.1.0/24ネットワークセグメント内のものを確認してください
[root@localhost ~]# nmap -p 21 192.168.1.0/24
Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-07 21:46 CST
setup_target: failed to determine route to 192.168.1.0
setup_target: failed to determine route to 192.168.1.1
setup_target: failed to determine route to 192.168.1.2
setup_target: failed to determine route to 192.168.1.3
setup_target: failed to determine route to 192.168.1.4
192.168.1.0/24ネットワークセグメントで存続しているホストを確認します
[root@localhost ~]# nmap -n -sP 192.168.1.0/24192.168.1.0/24
192.168.1.100-200で有効になっているファイル共有サービスを確認してください
[root@localhost ~]# nmap -p 139,445 192.168.1.100-200