ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2015年11月10日火曜日

owncloud パーミッションエラー

PCのメモを整理していたら出てきたコマンドを転記。

たしかowncloudのデータを別のサーバに移した時か何かにパーミッションエラーが出て泣きそうになった際に実行したコマンド。
現象再現したら詳細を追記しようと思い、備忘録的に書き残すことにする。

php /var/www/owncloud/console.php files:scan --all

2015年7月8日水曜日

mod_owaでORA-06512

DBのリストをHTP.PRINTで出力して遊んでいたらバッファーが小さいって以下のエラーが。

PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "SYS.HTP"

出力する文字の数に制限があるのかなと思ったが、以下のパラメータをmod_owa.confに書き加える事で回避できた。

OwaCharsize 4

マルチバイトの文字を扱う場合にバッファが溢れるってことなのかな?デフォルトでは1がセットされているらしい。

2015年7月1日水曜日

iptablesでブルートフォースアタック対策

同一IPアドレスから大量にSSHでアクセスして認証突破しようとするアホがいる。認証方式的に拒否する方法でセキュリティが担保できるかもだが、都度ポートにアクセスされるのはかなわないのでiptablesで拒否する事に。
一秒館に3回もアクセスするものをはじくサンプル。

iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m hashlimit --hashlimit-name t_sshd --hashlimit 3/minute --hashlimit-burst 3 --hashlimit-mode srcip --hashlimit-htable-expire 60000 -j ACCEPT

iptables -A INPUT -p tcp --syn -m state --state NEW --dport 22 -j DROP

2015年5月19日火曜日

アクセスログから接続IPのアクセス数を集計したい

cat access_log | cut -d' ' -f1 | sort | uniq -c | sort

2015年4月23日木曜日

Oracle Walletの情報から秘密鍵を取り出す

OracleのWebサーバからApacheに載せ替える用事があって、既存環境がOracle Walletだったのでどうやって秘密鍵取り出すんやと思ったので調査。 既存環境にあるewallet.p12ファイルに以下のコマンドうてば取り出せる。

openssl pkcs12 -in ewallet.p12 -nocerts -nodes -out privatekey.pem

2015年3月24日火曜日

SFTPのChroot化

今までFTPでファイル転送を行って頂いていたのだけれども、
暗号化せずのやり取りだし、SFTPをやってみる事にした。
以下はCentOS5.5でやった時の備忘録

まずSFTPはOpenSSHを利用して、SSHの接続として処理される。
のでSSHでログインしないユーザ、SFTPのみの利用のユーザを設定し、
特定ディレクトリより上位にいけないようにCHROOT化の設定をした。

1. SFTP専用ユーザグループの作成
特定ディレクトリ"hoge"にアクセスするSSH専用ユーザのグループ“hoge”を追加し、
ログインシェルのないユーザをそのグループに所属させる。
これにより、SSHでのコンソールログインを抑制する。
# grouadd hoge
# useradd ユーザ名 -g hoge -s /sbin/nologin -M

2.OpenSSHのインストール
CentOS5.5の標準でインストールされるOpenssh4.3と古いので
OpenSSH をソースからダウンロード(4.4以降にchrootの機能がサポートされる)
# cd /usr/local/src
# wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.3p1.tar.gz
# tar xvzf openssh-5.3p1.tar.gz
# cd openssh-5.3p1
# ./configure --sysconfdir=/etc/ssh
# make
# yum erase openssh
# make install
# cp contrib/redhat/sshd.init /etc/init.d/sshd

3.起動スクリプトの編集(/etc/init.d/sshd)
ソースからインストールしたスクリプトではパスが異なるなど問題があるので
以下を修正。
KEYGEN=/usr/local/bin/ssh-keygen
SSHD=/usr/local/sbin/sshd
$SSHD $OPTIONS && success || failure

またyumからの削除により、chkconfigから削除されているので、
手動で再度追加。
chkconfig --add sshd
chkconfig --level sshd

SSHDのサービスを起動して正常動作を確認する。
/etc/init.d/sshd start


4. SFTP専用ユーザのCHROOT化設定 (/var/www/html/hoge)
SFTP専用ユーザのグループ“hoge”を指定して、“/var/www/html/hoge”へCHROOT化する。
/etc/ssh/sshd_configを以下のように修正。
・書き換え
Subsystem sftp /usr/libexec/openssh/sftp-server
 ⇒ 
Subsystem sftp internal-sftp

・追加
Match Group hoge
ChrootDirectory /var/www/html
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

※/hoge配下のディレクトリは自由に作成したいとの依頼があったため、
 chroot化したのは/hogeより上位の階層とした。
 (/hogeをchrootすると、root以外がディレクトリを作成できないため)

上記設定変更後にSSHDのサービスを再起動する。
/etc/init.d/sshd restart

さらにCHROOTするフォルダのオーナーをrootにし、パーミッションを755にする。
chown root:root /var/www/html
chmod 755 /var/www/html

そしてCHROOTしたフォルダ配下のディレクトリにSFTP専用ユーザグループの
書き込み権限を与える。
cd /var/www/html/
chown -R ユーザ名:hoge *
chmod -R 775 *

大筋でこんな感じ。

2015年3月13日金曜日

bashで文字列操作

# echo $HOME
/root
# echo ${HOME:2:2} ← 先頭から3文字目(0から数えて)を起点に2文字抜き出す。
oo
# echo ${HOME/oo/e}  ← 「oo」を「e」に置き換え。※「//」で完全一致
/ret

2015年2月5日木曜日

このLinuxは32ビット版だっけ?64ビット版だっけ?

忘れた頃に思いだすのでコマンドを記録。

# uname -a

i386が32ビット、X86_64が64ビットだったと思う。

2013年8月19日月曜日

tail -f を一定期間だけ実行したい

アクセスログを定期的に切り出して、アクセスが多いURLを調べるためにtail -f を切り出したかったのだけど良い方法が思いつかなかった。 そしたらネット上の賢者様がtailコマンドに指定のPIDを監視して、なくなったら止まるオプションが(linuxには)あると教えてくださったのでメモ。

sleep 10 & tail -f --pid ${!} /var/log/messages

上記コマンドで10秒間のtail -f の結果を出力できる。

2012年3月7日水曜日

Cent6で追加したNICのインターフェース番号を変更

VMware上のCent6でNICを作り直した際にインターフェース番号がインクリメントされてしまった。
そりゃそうなんだけど、NICが1枚だけなのでeth0にしたいな。

と思って調べてみた結果が以下の手順。自分用の手順なので全く
人に理解できない記載なのですみません。元気な時に直します。

①「/etc/udev/rules.d/70-persistent-net.rules」をviエディタ等で開く。
 そちらがeth?の番号とNICのMACアドレスの対応が記載されているので、
 追加された方のMACをeth0の行に書き換えて、新しい方を消す。

②再起動して完了

2012年2月3日金曜日

Linuxでpcap形式データ保存

tcpdump -n -i eth0 -s 0 -w dumpfile.cap