世の中のもやもやを「スッキリ」と!!

コンピュータ関係をつぶやきます。世の中の役に立つことを書いていきたいです。

Windows10で休止状態から勝手に(なおかつ、即時に)OSが復帰してしまうのを抑止する設定

ずっと悩んでいたことが昨日ようやく解決しました!

スリープから勝手に復帰してしまう様な事は無くなりました。
対象はWindows7となっていますが、Windows10でも同様に設定が可能でした。
PCアイコンを右クリック→プロパティ→デバイスマネージャー→ネットワークアダプタ
Realtek PCle GBA Family Conttroller
 →電源の管理
  →「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックをはずす

http://answers.microsoft.com/ja-jp/windows/forum/windows_10-power/%E3%82%B9%E3%83%AA%E3%83%BC%E3%83%97/fad333c2-6a1e-4b1c-ab21-8ea5f30afbf3

4-4データベースのセットアップでエラーになった場合の対処法

Chapter4-2 データベースのセットアップにて

テキスト通りに進めて
bin/rake db:createをすると


[vagrant@vagrant-centos65 vagrant]$ bin/rake db:create
/home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/connection_specification.rb:190:in `rescue in spec': Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
from /home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/connection_specification.rb:187:in `spec'
from /home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_handling.rb:50:in `establish_connection'
from /home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/railtie.rb:129:in `block (2 levels) in '
from /home/vagrant/.gem/ruby/2.1.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
from /home/vagrant/.gem/ruby/2.1.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
from /home/vagrant/.gem/ruby/2.1.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
from /home/vagrant/.gem/ruby/2.1.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:44:in `each'
from /home/vagrant/.gem/ruby/2.1.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
from /home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/base.rb:326:in `'
from /home/vagrant/.gem/ruby/2.1.0/gems/activerecord-4.1.0/lib/active_record/base.rb:23:in `'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:338:in `active_record_configured?'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:259:in `disconnect_database'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:97:in `preload'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:143:in `serve'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:131:in `block in run'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:125:in `loop'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application.rb:125:in `run'
from /home/vagrant/.gem/ruby/2.1.0/gems/spring-1.7.2/lib/spring/application/boot.rb:19:in `'
from /opt/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /opt/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from -e:1:in `
'
がっつりエラーが出ます。
その場合

stackoverflow.com

を参考に、Gemfileの中の1行を変更します。

具体的には
gem 'mysql2'

gem 'mysql2', '~> 0.3.18'
変更したGemfileは以下の通りです。


source 'https://rubygems.org'
ruby '2.1.0'

gem 'rails', '4.1.0'
gem 'mysql2', '~> 0.3.18'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development

gem 'therubyracer', platforms: :ruby
gem 'bcrypt', '~> 3.1.7'
gem 'nokogiri', '~> 1.6.1'
gem 'rails-i18n', '~> 4.0.1'
group :test do
gem 'rspec-rails', '~> 3.0.0'
gem 'spring-commands-rspec', '~> 1.0.1'
gem 'capybara', '~> 2.2.1'
gem 'factory_girl_rails', '~> 4.4.1'
end

『実践Ruby on Rails 4』でVagrant1.8.5を使ったときに、vagrant upでエラーが出るときの対処法

Ruby on Rails4でとても評判の良い『実践Ruby on Rails 4』で、書籍が出てから少し時間がたってしまったからだと思いますが、作者のサポートページにおいていあるCentOSを立ち上げるVagrantFilesがそのままではupできません。。。

作者の方のサポートページ
『実践Ruby on Rails 4』読者サポートページ - Ruby on Rails with OIAX

CentOS用のVagrantFileダウンロードURLは
http://pub.oiax.jp/jissen_rails/vagrant-rails-centos6.5.3-1.0.3.zip

ここのVagrantFilesをWindows上で vagrant upすると、、

以下のウェブサイトにあるような認証エラーがでてvagrant upが途中で止まってしまいます。。

出るエラーは

default: Warning: Authentication failure. Retrying…
default: Warning: Authentication failure. Retrying…

chanoka.jp

上記URLでも回避方法が書いてありますが、vagrantfileの具体的にどこに書くのかまで書いていないので、全文を書きます。ご参考まで。


Vagrant.configure("2") do |config|
config.vm.box = "centos6.5.3"
config.vm.box_url = "https://github.com/2creatives/vagrant-centos/" +
"releases/download/v6.5.3/centos65-x86_64-20140116.box"
config.vm.provider :virtualbox do |vb|
vb.customize [ 'modifyvm', :id, '--memory', 1024 ]
end
config.vm.network "forwarded_port", guest: 3000, host: 4000
config.ssh.insert_key = false ←★ここに1行追加します!

config.vm.provision :shell, inline: "yum -y update"
config.vm.provision :shell, inline: "yum -y install wget"

config.vm.provision :shell, path: "provision/chruby.sh"
config.vm.provision :shell, path: "provision/ruby-install.sh"
config.vm.provision :shell, path: "provision/ruby.sh"
config.vm.provision :shell, path: "provision/rails.sh", privileged: false
config.vm.provision :shell, path: "provision/mysql-server.sh"
config.vm.provision :shell, path: "provision/postgresql-server.sh"
end

これでvagrant upが途中で止まらずに先に進みます。
config.ssh.insert_key = falseを入れずにvagrant upしてしまった人は
一度
vagrant destroy → Vagrantfileに1行入れる →vagrant reload で先に進むことができるようになると思います。

ご参考まで。
参考にしたウェブをもう一つリンク張っておきます。
mawatari.jp

コンパクトなLinuxサーバをまとめてみました。

(◎)本命 まずは歴史的には一日の長がある。OpenBlocks

openblocks.plathome.co.jp

いつのまにかARMプロセッサになっていた。。LinuxDebianだけか。昔はRedHat系もインストールできたのに。

(△)対抗馬 CenturySystemsのFutureNet、でもUSBインターフェースは2.0だけです。それが残念。

www.centurysys.co.jp

(○)対抗馬 ピノーのサバ太郎

www.pinon-pc.co.jp

これが今回調べた中では唯一USB3.0が使えるコンパクトLinuxサーバでした。

(×)穴馬 Cubox-11 
gigazine.net
なんか一番怪しいですが。Cuboxとかどうやって買うんだろうか。

OwnCloudよりもAlfrescoか?

ここ最近、いろいろな経緯があってOwnCloudに注目していた。
しかしながらOwnCloudはクライアントのWindows7からパスワード入力なしでSSOをすることができない。やろうとするとOwnCloud以外のサードパーティの製品が必要になってしまうらしい。。オープンソースなのに残念だ。。ということで他のソフトを探していたらAlfrescoというOSSを見つけた。
でもAlfresco聞いたことがない。かなりマイナーなのか。。ということでこの週末調べたURLをいくつか貼り付けておきます。

まず見始めたのは…
sirokum.dip.jp
↑でも細かいところがちょいちょい間違ってます。。でも方向性は分かりやすくて助かりました。

LinuxでやるときはActive Directoryにまず参加しないとね。
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Linux+%A4%C7+AD%BB%B2%B2%C3 blue-red.ddo.jp

Linux Memo/Windows AD(LDAP)認証Linuxにログインする方法
http://mz80.ism21.net/?Linux%20Memo%2FWindows%20AD(LDAP)%C7%A7%BE%DALinux%A4%CB%A5%ED%A5%B0%A5%A4%A5%F3%A4%B9%A4%EB%CA%FD%CB%A1 mz80.ism21.net

Apache(Linux)に、Windowsドメイン認証を利用して、シングルサインオンを実現する詳細手順
d.hatena.ne.jp

Alfresco Authentication Subsystems
https://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems wiki.alfresco.com

AEGIFさんのとっても役に立つブログ♪
aegif.jp
http://aegif-labo.blogspot.jp/2015/01/alfresco-50-sso.html aegif-labo.blogspot.jp

SlideShareでのSSOに関する資料

www.slideshare.net

apache の認証を NTLM 認証にする
d.hatena.ne.jp

Single sign-on websites with Apache httpd:Integrating with Active Directory for authentication and authorization
http://people.redhat.com/mskinner/rhug/q1.2014/Apache_httpd.pdf people.redhat.com

Alfresco integration with Active Directory
http://www.anotherstrangerme.com/alfresco-integration-with-active-directory/comment-page-2/ www.anotherstrangerme.com

Alfresco NTLM subsystem
http://docs.alfresco.com/community5.0/concepts/auth-alfrescontlm-ntlm.html docs.alfresco.com
最終的にはオフィシャルのDocumentを目を皿のようにしてみないといけないんだろう。。

やり方が纏まったらまた書きます。

fail2ban 0.9について

fail2banは0.9からssh-iptablesのフィルタがデフォルトでONにならなくなっている。
(仕様変更のようだ)
いろいろ調べたらipsetとfail2banをすでに試されている方がいた。。
世の中広い。ありがとうございます。

www.lesstep.jp

以前まではデフォルトで有効だったssh-iptablesを有効にしようかと思ったが、
どうもfail2ban0.9.0からいろいろ仕様が変わったみたいだ。
jail.confの最初の説明文を読むと


[DEFAULT]
bantime = 3600
#
[sshd]
enabled = true
をjail.localという名前で保存して、
service fail2ban restartをすればsshで5回パスワードを間違えた場合
アクセス元IPを自動的にiptablesのfail2ban用のチェインにREJECTを追加してくれる。
簡単でありがたいね。

SSH接続で特定国(中国、ロシア)からの接続をブロックする(ipsetを使って)(その2)

SSH接続で特定国(中国、ロシア)からの接続をブロックする(ipsetを使って)(その1) - ~恵み多き日々~みんな悩みはいっしょ!

からの続きです。

ipsetのRPMが古かったのでやり直しました。

用意するもの

ipset-6.11-4.el6.x86_64.rpm (2016年1月1日時点でRHEL6用の最新)

 

インストールしてみると


[root@machine 20160101ipset]# rpm -ivh ipset-6.11-4.el6.x86_64.rpm 
エラー: 依存性の欠如:
libmnl.so.0()(64bit) は ipset-6.11-4.el6.x86_64 に必要とされています
libmnl.so.0(LIBMNL_1.0)(64bit) は ipset-6.11-4.el6.x86_64 に必要とされています

依存性ではじかれてばっちり入らない。。

依存関係を解消してみる。

 

[root@machine 20160101ipset]# rpm -ivh ipset-6.11-4.el6.x86_64.rpm libmnl-1.0.2-3.el6.x86_64.rpm 

 

これでバッチグーでインストールできる。


[root@machine 20160101ipset]# rpm q-ql ipset-6.11-4.el6.x86_64
/etc/rc.d/init.d/ipset
/usr/lib64/libipset.so.2
/usr/lib64/libipset.so.2.0.1
/usr/sbin/ipset
/usr/share/doc/ipset-6.11
/usr/share/doc/ipset-6.11/COPYING
/usr/share/doc/ipset-6.11/ChangeLog
/usr/share/man/man8/ipset.8.gz

ありますね。initスクリプト。やっほぅ。

 

ここまで来ると

 

ipsetとiptablesでSSHを日本国内からの接続に限定する (CentOS 6) – 稲葉サーバーデザイン

 

稲葉サーバデザインさんのページを見ながら設定はコンプリートできる。

1.ipsetのリストを作る

2.chkconfig ipset on でipsetをサーバ起動時にONにしておく

3.iptablesに新しいルールを入れる(-m set –match-set <セット名=WHITELIST> src)

4.(当然)iptablesもchkconfig iptables onでなければならない。

これで設定できますね。

 

で、オリジナリティということで、稲葉サーバデザインさんのスクリプトホワイトリスト=日本からのIPだけ通す  方式のスクリプトでしたが、日本だけというのは今どき結構難しいと思いました。たとえばAWSを使っているときはアメリカのIPになるんじゃないかと、ホワイトリストの逆のブラックリストというリストの作り方もあるんじゃないかと思いました。

昨今問題になってくるのは、中国、韓国、北朝鮮、ロシアなどの国からの攻撃なのでこのあたりからのIPをブロックできればあとはOPENで大丈夫なんじゃないかと。

よって、ipdeny.comを利用してそのあたりからのIPをブロックすることができるipsetのリストを作成するスクリプトを考えてみました。


#!/bin/bash

COUNTRY="cn" # cn is CHINA
BSTRING="BLACKLIST-"${COUNTRY} # example BLACKLIST-cn

# Download Country ip address list(ipv4)
if [ -s ${COUNTRY}.zone ]; then
    mv ${COUNTRY}.zone ${COUNTRY}.zone.old
fi

# Chine Internet Address
# http://www.ipdeny.com/ipblocks/data/countries/cn.zone
wget http://www.ipdeny.com/ipblocks/data/countries/${COUNTRY}.zone
 
# Create BLACKLIST hash in ipset
ipset create -exist ${BSTRING} hash:net
 
# Register specific country ip address to BLACKLIST group
while read ADDRESS; do
 echo "ipset add ${BSTRING} $ADDRESS" # FOR DEBUG
 ipset add ${BSTRING} $ADDRESS
done < ${COUNTRY}.zone

# Confirm
ipset list ${BSTRING} |head -n 20

上記であればCOUNTRY変数のところの文字を

cn→中国

ru→ロシア

kr→韓国

kp→北朝鮮

などに変えれば、それぞれのBLACKLISTがipsetに登録できます。

2文字の国コードは

IPdeny IP country blocks

を見てください。

自分がやりたいことは一応これでできました。あとは細かい点をもう少し調整します。