私は自宅で小さなサイトをホストし、このようなApacheなどをインストールしたいです:
Sudo apt-get update
Sudo apt-get install tasksel
Sudo tasksel install lamp-server
すべてが機能し、すべてが稼働しています。
現在、私はXAMPPを使って開発することに慣れており、あまり安全ではないと多くの参考文献が言っているので、そのライブを使いたくありませんでした。
私の質問は、上記の方法でApache/PHPとMySqlをインストールしたということです。デフォルトのセキュリティレベルはどうですか?
それをより安全にする方法、おそらく推奨される変更のチェックリストまたはランダウンがありますか?
明確化:LAMPサーバーは、開発中のサイトではなく、ライブサイトになります。
インターネットに接続されたUbuntuで独自のLAMPサーバーを実行しているため、常に同じガイドラインに従います。通常、次のことを確認します。
/etc/Apache2/conf-enabled/Apache2-doc.conf
を削除して)/etc/Apache2/mods-enabled
のリンクを削除することで行われます。各リンクは、モジュールを一度にロードして構成する/etc/Apache2/mods-available
ディレクトリ内のファイルを指します。/etc/Apache2/conf-available/security.conf
を確認して有効にすることをお勧めします。彼らはいくつかのセキュリティのヒントを提案しますが、デフォルトでは有効化されていません:/etc/php4/Apache2/php.ini
ファイル。ファイル内のコメントは、何が望ましいかに関する多くの情報を提供します)MySQLサーバーをインターネットに公開する必要はありません。デフォルトでは、Ubuntuでは、Mysqlサーバーはローカルホストでのみリッスンします。パラメーターbind-addressのセクションmysqldで/etc/mysql/my.cnf
を確認します-)。 127.0.0.1にあるはずです:
バインドアドレス= 127.0.0.1
このサーバーに必要以上のサービスをインストールしないでください。
これらは私の頭の一番上にある最初のものです。もちろん、インターネットでより詳細なハウツーとガイドを見つけることができます:
LAMPのセットアップ後に一般的に行うことは次のとおりです:(for development use, not production
)
Apache2の自動起動を無効にします。
Sudo update-rc.d Apache2 disable
使用する場合は、次の方法で開始できます。
Sudo service Apache2 start
Mysqlの自動起動を無効にします。
echo "manual" | Sudo tee /etc/init/mysql.override
使用する場合は、次の方法で開始できます。
Sudo service mysql start
ファイアウォールの着信ポート80および3306をブロックして、LAMPを侵入から保護します。
Sudo iptables -A INPUT -p tcp --dport 80 -j DROP
Sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
(実際のところ、いくつかの重要なポートを除くすべての着信ポートをブロックしていますが、Linuxセキュリティは別のトピックです!)