FreeBSD 11.1にBlacklistdをインストールする方法
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
このチュートリアルでは、PrestaShopとApacheを使用したeコマースソリューションとしてOpenBSDを紹介します。
PrestaShopにはOpenBSDの組み込みWebサーバーであるhttpdではサポートされていない複雑なURL書き換え要件があるため、Apacheが必要です。このチュートリアルでは、自己署名証明書を使用します。検証には、検証済みの証明書を使用してください。
doas
パスワードなしで使用を許可された通常のユーザーを一時的に作成します。このアクセスはセットアップ後に削除されます。
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
OpenBSDパッケージリポジトリを追加します。
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
毎日のステータスとセキュリティメールをアドレスに転送します。
echo '[email protected]' > /root/.forward
サーバーのホスト名を設定します。
echo 'www.example.com' > /etc/myname
hostname www.example.com
サーバーのFQDNとIPアドレスをに追加します /etc/hosts
。
を192.0.2.1
Vultr IPアドレスに置き換えます。
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
PrestaShopとApacheに必要なパッケージを追加します。プロンプトが表示されたら、最新バージョンを選択します。
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
テスト用に自己署名SSL証明書を作成しました。Common NameをサーバーのFQDNに設定します(例:www.example.com)。
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
PrestaShopの最新バージョンの URLを見つけ、にダウンロードし/tmp
て解凍し/var/www/htdocs/prestashop
ます。
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
ssh、www、httpsを除くすべての受信トラフィックをブロックするようにファイアウォールを構成します。
のバックアップコピーを作成します/etc/pf.conf
。
cp /etc/pf.conf /etc/pf.conf.bak
/etc/pf.conf
図のように編集します。
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
ファイアウォールルールをテストしてアクティブ化します。
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
/etc/mail/smtpd.conf
ファイルをバックアップします。
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
/etc/mail/smtpd.conf
以下のように編集します。
注:*シークレットのテーブル定義には、メールリレーのユーザー名とパスワードが保持されます。*アウトバウンドアクションは、ラベルの下にユーザ名とパスワードを調べprestashop
に/etc/mail/secrets
、あなたのメールサーバを経由してメールを中継します。
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
作成する /etc/mail/secrets
電子メールアドレスとパスワードを、電子メールサーバーに使用する資格情報に置き換えます。
echo "prestashop [email protected]:password" > /etc/mail/secrets
保護する権限を設定する /etc/mail/secrets
chmod 0600 /etc/secrets
エラーの設定ファイルを見つけて、smtpdデーモンを再起動します。
smtpd -n
rcctl restart smtpd
PHP-FPMプロセスを構成して、UNIXドメインソケットではなくTCPソケットをリッスンします。
/etc/php-fpm.conf
ファイルに対して以下の変更を行います。
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
のPHP環境に追加の変更を加えます /etc/php-7.3.ini
。バージョンが7.3より新しい場合、このファイル名は若干変更される可能性があります。これらの変更:
sendmail経由でメールを送信するようにPHPを設定します。
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
PHPプラグインを有効にします。
cp /etc/php-7.3.sample/* /etc/php-7.3/。
PHP-FPMデーモンを有効にして起動します。バージョンが新しい場合、デーモン名は少し異なる場合があります。
rcctl enable php73_fpm
rcctl start php73_fpm
MariaDBはPrestaShopのデータベースバックエンドを提供します。MariaDBはデフォルトのクラスで許可されているよりも多くの開いているファイルを必要とするため、特別なクラスをで作成し/etc/login.conf
ます。
ファイルの最後に、次の行を追加します。
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
MariaDBをインストールします。
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
MariaDBのセキュリティを設定します。
mysql_secure_installation
PrestaShopデータベースを作成します。強力なパスワードを使用してください。
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
バックアップする /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
を次のように変更して/etc/apache2/httpd2.conf
、 #
モジュールを有効または無効にします。
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
/etc/apache2/httpd2.conf
ファイルの下部に向かって、さらにいくつかの変更が行われます。#
示されたincludeステートメントから削除してください。
最後に仮想ホスティングの行を追加します。
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
/etc/apache2/sites
ディレクトリを作成します。
mkdir /etc/apache2/sites
/etc/apache2/sites/example.conf
次の情報を使用して作成します。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
以下を追加して、Apacheのプロキシモジュールを構成します。 /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
構成をテストしてから、Apacheを有効にして起動します。
apachectl configtest
rcctl enable apache2
rcctl start apache2
Apacheがポート80および443でリッスンしていることを確認します。
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
でウェブサイトにアクセスしhttp://www.example.com
ます。PrestaShopインストールウィザードが起動します。
インストールが完了したら、ストアフロントと管理リンクをメモして、ディレクトリを削除し/var/www/htdocs/prestashop/install
ます。
SSLを有効にします。
管理パスワードを変更します。
ストアとそのデータベースをバックアップします。
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
doas.conf
ファイルを再作成して、ユーザーアカウントのdoasアクセスを削除します。
echo 'permit keepenv :wheel' > /etc/doas.conf
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。