linux サーバー立ち上げ時に行う設定 centos7


この記事は初心者が書いた自分用のメモです。
見づらいですし、他の方の記事を参考にされた方が良いと思います。
申し訳ございません。


selinuxの無効化:$ getenforce selinuxの状態を確認
$ vi /etc/selinux/config
  SELINUX=disabled
$ reboot

ユーザーの作成：useradd, passwd
sudoコマンドを使えるようにする：$ visudo ,  sudoersファイルの最終行にguest1 ALL=NOPASSWD:ALLと追加するとguest1がsudoを使えるようになる

ifcfg-enp0s3ファイルを編集と追記：vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
		BOOTPROTO=none
		ONBOOT=yes
		追記	IPADDR=“***.***.***.***”
				NETMASK=“***.***.***.***”
				GATEWAY=“***.***.***.***”
				DNS1=“GATEWAYと同じことが多い”

		完了後、systemctl restart network.service からのip addr showでipアドレスが反映されているか確認

ホストネーム変更：$ sudo hostnamectl set-hostname <HOSTNAME>

hostsファイルを変更してホスト名とIPアドレスの対応を設定する：vi /etc/hosts    IPAdress 名前

DNSの設定：$ vi /etc/resolv.conf   名前 IPAdress　(最初から設定されている)


名前解決の設定：$ vi /etc/nsswitch.conf　　hosts: files dns   (最初から設定されている)

pingの確認：この段階でpingが他のノードと繋がらなければvirtualboxのネットワークの名前を確認する

sshをを設定する：vi /etc/ssh/sshd_config

					#Port 22			(確認)
					#Protocol 2		(確認)
					PermitRootLogin no
					PermitEmptyPasswords no　　空パスワードを禁止するため＃を外す
					PasswordAuthentication yes	(確認)
					AllowUsers guest1		一番下に追記

$ systemctl restart sshd.service

SSHのセキュリティ設定：$ vi /etc/hosts.deny    sshd:all
							 $ vi /etc/hosts.allow    sshd:192.168.1.3

PAMでのアクセス制限：$ vi /etc/pam.d/sshd     account required pam_access.soと最後に追加する
						    $ vi /etc/security/access.conf	-:ALL EXCEPT sshgrp:ALLと最後に追加する（これでsshgrpというグループに所属するユーザー全員がPAMを通過できるようになった。パーミッション：ユーザー：接続元という順番になっている。「-」は禁止「EXCEPT」は〜を除いて「ALL」はすべて。を意味する）つまり-:ALL EXCEPT sshgrp:ALLとは「パーミッションは禁止する、sshgrp以外は」という意味。
						    $ vi /etc/ssh/sshd_config		UsePAM yesとなっていることを確認

sshgrpグループを作成する：$ groupadd sshgrp
								   gpasswd -a guest1 sshgrp
								   grep sshgrp /etc/group

rootユーザの切り替え制限をする：$ gpasswd -a guest1 wheel
									   $ grep wheel /etc/group

									   $ vi /etc/pam.d/su		auth required pam_wheel.so use_uidのコメントは外す（コメントを外すことでPAM認証に設定する）
									   $ vi /etc/login.defs		SU_WHEEL_ONLY yesと最終行に追加する（wheelグループのみをrootに切り替えられるようになる）


SFTPでファイルを転送する方法（ssh接続できること前提）
ダウンロード：サーバーに接続してダウンロードしたいファイルがある場所まで行って$ sftp guest1@server
				 $ ls でダウンロードしたいファイルがあるか確認
			　　$ get file1
				 $ exit

アップロード：アップロードしたいファイルがある場所まで行って$sftp guest1@server アップロード先を入力
				 $ ls でアップロードしたいファイルがあるか確認
				 $ put file1
				 $ exit

SCPでファイルを転送する方法
アップロードのみ：	 $ ls でダウンロードしたいファイルがあるか確認
			　　		 $ scp file1 guest1@server:/home/guest1


公開鍵と秘密鍵を作成する方法
作成する：ssh-keygen -t rsa（空白のままエンターを押せばpasswordは設定されない）
公開鍵をアップロードする：$ cd .ssh/
							    $ sftp guest1@server
							    $ put id_rsa.pub
						          $ ls　ちゃんとアップロードできたか確認
							    $ exit
アップロード先でおこなう：$ mkdir .ssh/
							    $ cat id_rsa.pub > /home/guest1/.ssh/authorized_keys
							    $ chmod 600 .ssh/authorized_keys
							    $ chmod 700 .ssh/

公開鍵暗号方式を設定する（接続先で行う）：$ vi /etc/ssh/sshd_config
							   #Port 22				SSHのポート番号
							   #Protocol 2				SSHのバージョン 
							   PermitRootLogin no	rootでログインするのを禁止
							   PermitEmptyPasswords no	空パスワードの禁止
							   PubkeyAuthentication yes      公開鍵暗号方式の許可
							   PasswordAuthentication no   パスワード認証の禁止
							   AllowUsers guest1				特定のユーザーのみ許可

FTPを使用するためにvsftpdをインストールする
$ yum -y install vsftpd
$ systemctl status vsftpd.service
$ systemctl enable vsftpd.service
$ systemctl status vsftpd.service

FTPを設定する
$ vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
local_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
（追記はないはず）

$ vi /etc/hosts.denyで最後にvsftpd:allを追加

$ vi /etc/hosts.allowで最後にvsftpd:192.168.1.8（接続許可するIPアドレスを書く）

FTPを使用するためには、Linuxサーバー側で一時的にファイヤウォールを停止しておく。
$ systemctl stop firewalld
$ systemctl disable firewalld
$ systemctl status firewalld

匿名ユーザーにログインさせるのを拒否させ、特定のユーザーのみ上位ディレクトリへ移動できるように設定する
$ vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO		匿名ユーザーのログイン許可
local_enable=YES			一般ユーザーのログイン許可
chroot_local_user=YES		一般ユーザーの上位ディレクトリ へのアクセス許可
chroot_list_enable=YES		チェンジルートリストを有効にする
chroot_list_file=/etc/vsftpd/chroot_list		チェンジルートユーザー リストファイルの指定

リストファイルを有効化したので、「etc/vsftpd」ディレクトリにあるchroot_listファイルにguest1を追加する
$ vi /etc/vsftpd/chroot_list    guest1を追加する

$ systemctl restart vsftpd.service

もし、FTPのアクセス制限を行いたい場合はuserlist_denyをYESにする。反対にuser_listファイルに書かれているユーザーのアクセスを許可したい場合は、userlist_denyをNOにする。
userlist_deny=YES
userlist_deny=NO

NOに設定した場合、user_listファイルを開いてguest1をついかするとguest1を許可する。
user_listファイル以外にも/etc/vsftpd/ftpusersファイルに拒否したいユーザーを登録することができる。
user_listファイルftpusersファイルの違いは同じような処理を行うが、user_listに登録されているため、ユーザー名をもとに拒否する。ftpusersはパスワードを受け取った後に拒否。