PowerMac G4/PCIにDebianをインストールして、SSH、ファイアウォール、Pure-FTPdを設定します。
ここでは詳細な記載は省いていますので、他の記事も参考にしていただけると嬉しいです。
CDから起動して、インストールする際にyabootのパラメータを入力しておきます。PowerMac G4/PCI以外は別のパラメータの可能性があります。G3は多分一緒です。悲しい。ちなみに入れ忘れてインストールしましたがGUIがなかったせいか特に問題はありませんでした。
インストールしたら、apt-get update, upgradeを実施して、お好みでvimとかfbtermとか入れます。
設定したら、あとは外からSSH接続して設定します。
ITPro マルチキャストアドレッシングとは?
リロードして設定を反映します
fetchmailを使ってメールを受信することで通知します。
パスワード保護のため、権限を変更します。
確認します。
自動実行するため、cronに登録します。以下の例だと15分ごとに実行します。
ここでは詳細な記載は省いていますので、他の記事も参考にしていただけると嬉しいです。
CDから起動して、インストールする際にyabootのパラメータを入力しておきます。PowerMac G4/PCI以外は別のパラメータの可能性があります。G3は多分一緒です。悲しい。ちなみに入れ忘れてインストールしましたがGUIがなかったせいか特に問題はありませんでした。
boot: install video=aty128fb:vmode:6
インストールしたら、apt-get update, upgradeを実施して、お好みでvimとかfbtermとか入れます。
# vim /etc/network/interfacesDHCPになっているものをコメントアウトか削除します
#iface eth0 inet dhcp以下を追記します。addressに固定したいIPアドレスを記載します。
auto eth0 iface eth0 inet static address 192.168.1.10 network 255.255.255.0 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255設定を反映します。
# /etc/init.d/networking restart
# vim /etc/ssh/sshd_config
#rootでのログインを許可しない PermitRootLogin no #プロトコルバージョンを「2」のみに限定 Protocol 2 #公開鍵認証を許可 PubkeyAuthentication yes #パスワードログインを許可(あとで許可できないようにするのがよいかも) PasswordAuthentication yes UsePAM no #SSH接続できるユーザをユーザhogeに限定 AllowUsers hoge
設定したら、あとは外からSSH接続して設定します。
# apt-get install ufwとりあえずは止めておきます。動いてないと思いますが。
# ufw disable
すべて拒否をデフォルトにします。 # ufw default DENY SSHを許可します。 # ufw allow ssh SSHで同一IPアドレスから30秒間に6回以上の接続がある場合には接続を拒否します。 # ufw limit ssh FTP(PASVで使うポートを許可)接続を許可します。 # ufw allow ftp # ufw allow 40000:40050/tcp有効にします。
# ufw enableその他、備考です。
例)ローカルネットワークからポート22でのSSHアクセスを許可 # ufw allow proto tcp from 192.168.1.0/24 to any port 22 例)初期化 # ufw reset 例)特定のルールを削除 # ufw status numbered これで番号付きでリスト表示されるので、例えば7を削除する場合は、 # ufw delete 7 例)何か [UFW BLOCK] IN=eth0 OUT= MAC=01:00:2e:00:00:01:00:33:5e:96:7b:1c:00:00 SRC=192.168.1.2 DST=224.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=5 2566 PROTO=ICMPv6 TYPE=8 CODE=0 ID=1 SEQ=2704 ってなログがずっと出力される ログにずっと記載されるので、気になるなら以下を追記します。 # vim /etc/ufw/before6.rules -A ufw6-before-input -p icmpv6 -d ff00::/8 -j ACCEPT -A ufw6-before-output -p icmpv6 -d ff00::/8 -j ACCEPT↓ICMPv6のログはこれでしょうか。
ITPro マルチキャストアドレッシングとは?
# apt-get install pure-ftpdFTP over TLSで接続できるようにするため、SSLを設定します。
# mkdir -p /etc/ssl/private # openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem # chmod 600 /etc/ssl/private/*.pemPure-FTPdが勝手に起動しないようにします。
# update-rc.d -f pure-ftpd remove
ユーザーの追加やグループを設定します。hogeや/var/ftpは1例ですので、任意に設定してください。 # groupadd ftpgroup # useradd -g ftpgroup -d /dev/null -s /etc ftpuser # chown -R root:ftpgroup /var/ftp # chmod 755 /var/ftp # pure-pw useradd hoge -m -u ftpuser -d /var/ftp起動します。今回設定したオプションは以下の通りです
-A | rootも含めchrootする |
-E | Anonymousは許可しない |
-c | 接続されるクライアント数の制限 |
-C | 同一IPからのクライアント数の制限 |
-H | ログに記載するときに名前解決(逆引き)しない。"www.toolinux.com"なら、"213.41.14.252"になる |
-p | パッシブモードのポート指定 |
-Y | 2:FTP over TLSと平文のFTPの両方を許可。0なら平文のみ。1ならTLSのみ。 |
# /usr/sbin/pure-ftpd -A -E -c 10 -C 5 -H -p 40000:40050 -Y 2 -l puredb:/etc/pure-ftpd/pureftpd.pdb終了する場合は以下の通りです。
pkill pure-ftpd
# apt-get install fail2ban設定を編集します(jail.localを作成すると、jail.confの内容を上書きします。)
# vim /etc/fail2ban/jail.local設定の説明
findtime | この秒数以内に攻撃が見つからなければ、カウンターを0にします |
bantime | 遮断する秒数 |
backend | Ubuntuの場合pollingでないとうまく動かないことがあるらしいですが未確認です |
ignoreip | 許可IPアドレス。LAN内も許可するなら、127.0.0.1 192.168.1.0/24 |
[DEFAULT] ignoreip = 127.0.0.1/8 bantime = 600 maxretry = 5 findtime = 600 backend = auto [ssh] enabled = true [ssh-ddos] enabled = true [pure-ftpd] enabled = true
リロードして設定を反映します
# fail2ban-client reloadこっちでもいけると思います
# /etc/init.d/fail2ban restart確認します。
# fail2ban-client statuspure-ftpdのみ確認します(攻撃があったかどうかなどを確認できます)
# fail2ban-client status pure-ftpd
fetchmailを使ってメールを受信することで通知します。
# apt-get install fetch mail設定を編集します。
$ vi ~/.fetchmailrc
set nobouncemail poll mail.mydns.jp protocol pop3 user ※ここにIDを記載 password ※ここにパスワードを記載 no keep
パスワード保護のため、権限を変更します。
$ chmod 600 .fetchmailrc
確認します。
$ fetchmail &
自動実行するため、cronに登録します。以下の例だと15分ごとに実行します。
$ crontab -e
*/15 * * * * /usr/bin/fetchmail > /dev/null
コメントをかく