私はSeleniumを使用して毎時間ウェブサイトにログインし、ページが特定の方法で変更されたときに通知するWebページ監視プログラムを作成しています。たとえば、プログラムは自分の携帯電話のデータ使用量を監視し、使用量が急増した場合に警告します。しかし、私のプレーンテキストのパスワードは、インターネットに永続的に接続されたコンピュータにのみ保存されることを心配しています。
Q: 定期的なウェブサイトのログインを自動化する安定した方法は何ですか。
私は、妄想の順序に従って、次の予防措置を検討しました。
Linuxディストリビューションを「強化」 - ping応答、CUPS、Java、SSH、Sambaなどの未使用のサービスをオフにします。
ディスクのパスワードを暗号化し、キーをプログラムにハードコードします(たとえば、XORを使用してパスワードを少し難読化します)。
パスワードはRAMにのみ保存されます。つまり、プログラムの起動時にパスワードを入力します。 (したがって、プログラムは引き続き実行され、使用できません
cron
。)プログラムが実行されていない場合は、
ifdown
コンピュータのネットワークを使用して終了してくださいifup
。時間が指定されたコンセントを使用して(1時間に1回)、機械の電源を物理的にオンにし、数分間操作してからオフにします(たとえば、次のように使用します)。アートコントローラリレーボード)。
(ところで、上記のようにPythonとpyvirtualdisplayを使用してRaspberry Piで実行される基本プログラムがあります。ここ、興味のある一部のウェブサイトにはJavaScriptが必要なため、Seleniumを使用しています。 )
答え1
セキュリティは妥協です。極端な例を挙げると、システムがシャットダウンし、接続が切断され、コンクリートブロックに閉じ込められたシステムは完全に安全ですが、まったく役に立ちません。違反の可能性とコストを分析して、費用を支払うセキュリティ対策(可用性の削減、実際の支出コストなど)を決定できます。
これは明らかにこれを担当するマシンなので、私は個人的にそれをテキストファイルに貼り付け(または銀行口座などのより重要なパスワードをメモリに保存します)、手順1を実行します。未使用のサービスをオフにするのは基本的に無料です。
他のユーザーでWebブラウザを実行することが可能な場合は、そうします。 Webブラウザに巨大な攻撃面。もちろん、ブラウザのセキュリティアップデートを適用してください。
注:いくつかの強化ステップがありません(たとえばiptables
、.(pingできるファイアウォールの後ろのすべての項目は、イーサネットが機能するために応答する必要があるARP pingも実行できます)。行うこともできます。)