コンソールの日本語化
ここまですべて英語の状態で操作をしてきましたが、ここでひとまずコンソールを日本語化する作業をしておきます
以下のコマンドを実行して、設定ファイルを編集します
$ sudo vi /etc/sysconfig/i18n [sudo] password for hogehoge:
初期状態ではこのような記述になっていると思いますので、
LANG="C" SYSFONT="latarcyrheb-sun16"
1行目を以下のように書き換えてください
LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"
今までは以下のような表示だったものが、
$ ls -l total 0
上記作業後に改めてログインしなおすことによって、下記のように表示が変更されていればOKです
$ ls -l 合計 0
なお、sudoコマンド実行時に以下のようにパスワードを聞かれるケースがある
紛らわしいので、これ以降の説明の際には以下の表示はすべて省略する
[sudo] password for hogehoge:
ファイアウォールの状態の確認
次に、作成されたサーバーには様々なところから攻撃を受ける可能性があるため、iptablesを利用してファイアウォールを定義してやります
まずはiptablesコマンドをsudoを使ってして実行し、現在の状態を確認してみます
$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
いまいち意味が分からないかもしれませんが、すべての通信に対して一切のフィルター定義が無いという状態です
このように、さくらのVPSでは初期状態ではすべての通信が許可されている、そのままでは非常にリスクの高い状態ですので、ここの設定までは最初に一気にやっておきたいところです
定義ファイルの記述
早速定義ファイルを編集してみましょう
以下のコマンドを実行します
$ sudo vi /etc/sysconfig/iptables
さくらのVPSの初期状態ではファイルが無いので、新規ファイルの編集になります
以下のように記述します
なお、SSHのポートは先の設定でご自身が設定した番号に書き換えてください
また、メール関係については、ここではひとまずすべてコメントアウトしてあります
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT # -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # # SSH(-dportの後ろのXXXXXは自分が設定したSSHのポート番号に変更) -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XXXXX -j ACCEPT # # HTTP -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # HTTPS 不要なら消す -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT # # メール受信用 POP3(110),IMAP4(143),IMAP4S(993)POP3S(995) # 必要なものだけ先頭の#を取る #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT # # メール送信用 SMTP(25),SMTPS(465),OP25B(587) # 必要なものだけ先頭の#を取る #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT # -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
定義ファイルの適用
では、iptablesのサービスを再起動して、設定を適用してみましょう
以下のように、すべてがOKになれば成功です
$ sudo service iptables restart iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: ファイアウォールルールを消去中: [ OK ] iptables: モジュールを取り外し中: [ OK ] iptables: ファイアウォールルールを適用中: [ OK ]
もし、失敗が出るようなら、特に見た目間違っていなさそうでも、余計な半角スペースなどあるとエラーになりますので、そのあたりにも注意して確認してみてください
改行のみの空行に見えるところに空白文字があったりして嵌ることもありますので、上記の例ではあえて空白行に#マークをつけています
では改めてiptablesコマンドで設定内容を確認してみましょう
以下のような感じで、ファイアウォールの定義が追加されているはずです
$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp any ACCEPT esp -- anywhere anywhere ACCEPT ah -- anywhere anywhere ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns ACCEPT udp -- anywhere anywhere udp dpt:ipp ACCEPT tcp -- anywhere anywhere tcp dpt:ipp ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:XXXXX ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
はじめに戻る さくらのVPS導入手順 0.はじめに
■ AD ■ | |
---|---|