CentOS7の仮想サーバー構築にチャレンジ その4

CentOS7の仮想サーバー構築にチャレンジ その3 の続きです。ここから実際にサーバーとしてCentOSを利用するための設定を行います。SSH接続確立後のセキュリティ設定等を行います。…といいながら、今回はiptablesと各種ソフトのアップデートだけやって終わりです。

もくじ

  • CentOS7 ISOファイルの入手(その1)
  • VMwareの準備(その1)
  • 仮想マシンの作成(その1)
  • CentOS7のセットアップ(その2)
  • 初回ログイン(その3)
  • ファイアウォール(iptables)(その4)
  • sudoの有効化(その5)
  • リモートからのrootログインの禁止設定(SSH)とセキュリティ強化(その5)
  • Apacheのインストール(その6)
  • WEBサーバーとして運用するための設定(その7)
  • SFTPによるファイルのアップロード(その7)
  • PHPのインストール(その8)
  • ユーザーディレクトリでWEBサイトを公開する(その8)
  • PHPをCGIモードで(ユーザー権限で)動かす(その8)
  • デフォルトパーミッションの変更(その9)
  • php.iniと.user.ini(その9)
  • MySQLの導入(その10)
  • phpMyAdminのインストール(その11)
  • WordPressのインストール(その12)

初めにやっておくべきこと

サーバーを運用する場合は、当然ながらセキュリティ対策はキチンと行う必要があります。最初にセットすべきなのは、

…この辺りになると思います。また、サーバーを運用する上でよく使われるソフトも入れていきます。サーバーのアップデートもです。そのコマンドは以下 [VIM] # vim というテキストエディタを入れる(他にも必要な物を入れてる) yum install vim wget # インストールされているソフトをアップデートする yum update # どちらも実行するか訊かれたらyキーで承諾、nキーで拒否 # こんな感じで訊いてくる Is this ok [y/d/N]: [/VIM] (このページの内容は全てroot権限で実行している前提で解説しています)

ファイアウォール(iptables)

当方ではiptablesを用います。なので、CentOS7で最初から稼働しているfirewalldにはご退場願うことにします。以下のコマンドを順番に打っていって下さい。 [VIM] systemctl stop firewalld systemctl disable firewalld systemctl status firewall [/VIM]


こんな感じで、「systemctl status firewall」のコマンドを打った後に、「Active: inactive (dead)」と表示されればOKです。続いてiptablesの有効化に入ります。以下のコマンドを順番に打っていって下さい。 [VIM] yum install iptables-services # Is this ok [y/d/N]: と訊かれるので y を打ち込んでEnterキーを押せばOK systemctl enable iptables systemctl start iptables systemctl status iptables [/VIM]


最後に「Active: active (exited)」と表示されれば起動成功です。続いて以下のコマンドを打ちます。 [VIM] iptables -L [/VIM]
おそらくこんな感じの表示になっていると思います。ここから設定を変更していきます。以下のコマンドを打っていきます。 [VIM] vim /etc/sysconfig/iptables [/VIM]

先ほどのコマンドでiptablesの設定ファイルを開くことができます。編集はvimで行うので、コマンドがわからない方はVimのコマンド メモ書き | 自由とテクノロジーを愛す者のサイトを見るかググるかして下さい。ファイルを開いたら編集モードに入り、一旦全部消します。消したら以下のテキストをコピペします。 [VIM] *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] # INPUT,OUTPUT Basic -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A INPUT -p icmp -j ACCEPT -A OUTPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A INPUT -p tcp -m tcp ! –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j DROP -A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP #SSH INPUT,OUTPUT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT -A OUTPUT -p tcp -m tcp –sport 22 -j ACCEPT -A INPUT -p tcp -m tcp –sport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT -A INPUT -p tcp -m tcp –sport 443 -j ACCEPT -A OUTPUT -p tcp -m tcp –dport 443 -j ACCEPT -A INPUT -p udp –sport 53 -j ACCEPT -A OUTPUT -p udp –dport 53 -j ACCEPT COMMIT [/VIM] 最後の「COMMIT」の後ろに改行がある点に注意して下さい。ファイルを保存した後、以下のコマンドを打ちます。 [VIM] systemctl restart iptables [/VIM] 無事に再起動できたら、設定を改めて確認してみましょう。 [VIM] iptables -nL -v # iptables -L よりも細かく表示される [/VIM]
うまく設定できればこんな感じになります。なお、今回のiptablesの設定の詳細はiptablesでもっとしっかりセキュリティを固めてみる メモ書きにて解説しています。iptablesの設定を色々と弄りたいときは、こちらを参考にしてください。
iptablesの設定参考サイト

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: