2009年8月22日土曜日

自宅鯖のFTP

先日、友人が福島からきて一緒に旅行をしました。旅行先の写真を交換するために、自宅の鯖にFTPを設置しました。光ルータにポートを通して、鯖にPRO-FTPを入れて・・・。
で、困難もなくpasiveモードで通信できました。

ポートをまた開けたので、素人管理者だし、クラックに気をつけねば・・・。

2009年8月5日水曜日

ISP プロバイダ

今は、asahiネットに加入しています。で、グローバルIPがなかなか変化しないので、NTTから貸与されている光モデムの電源を切って、付け直しました。IPアドレスは、しっかり変わっていました。

私の場合、これはこれで有りがたい。IPアドレスが変わると、生IPでポートスキャンしている輩から逃れやすくなる可能性が高いからです。

先日のサーバーにcronで実行させている、自宅のIP変更チェックプログラムですが、きちんと反映していました。サブドメインをieServerProjectとDynamicDns.orgと2つ設定していますが、DynamicDns.orgの方が早く動的IPが設定させていました。

2009年8月2日日曜日

今週の不正アクセス

mail.logの記録です。
Jul 28 06:26:26 oh postfix/smtpd[16704]: NOQUEUE: reject: RCPT from unknown[77.232.1.125]: 554 5.7.1 : Relay access denied; from= to= proto=SMTP helo=<220.157.149.125>
Jul 30 17:22:44 oh postfix/smtpd[30541]: NOQUEUE: reject: RCPT from 122-124-158-166.dynamic.hinet.net[122.124.158.166]: 554 5.7.1 : Relay access denied; from= to= proto=SMTP helo=<220.157.149.125>
Jul 31 04:34:45 oh postfix/smtpd[31463]: NOQUEUE: reject: RCPT from 219-84-63-22-adsl-tpe.dynamic.so-net.net.tw[219.84.63.22]: 554 5.7.1 : Relay access denied; from= to= proto=SMTP helo=<220.157.149.125>
Aug 2 03:14:57 oh postfix/smtpd[14945]: NOQUEUE: reject: RCPT from 123-204-203-171.adsl.dynamic.seed.net.tw[123.204.203.171]: 554 5.7.1 : Relay access denied; from= to= proto=SMTP helo=<220.157.149.125>
220.157.149.125の人が、繰り返しアタックしています(^^;)。

apache2のエラーログ
[Sun Jul 26 08:30:06 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/phpmyadmin
[Sun Jul 26 08:30:07 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/pma
[Sun Jul 26 08:30:08 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/admin
[Sun Jul 26 08:30:08 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/dbadmin
[Sun Jul 26 08:30:09 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/mysql
[Sun Jul 26 08:30:09 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/php-my-admin
[Sun Jul 26 08:30:10 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/myadmin
[Sun Jul 26 08:30:10 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/PHPMYADMIN
[Sun Jul 26 08:30:10 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/phpMyAdmin
[Sun Jul 26 08:30:11 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/p
[Sun Jul 26 11:06:01 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/phpmyadmin
[Sun Jul 26 11:06:06 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/pma
[Sun Jul 26 11:06:06 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/admin
[Sun Jul 26 11:06:07 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/dbadmin
[Sun Jul 26 11:06:07 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/mysql
[Sun Jul 26 11:06:11 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/php-my-admin
[Sun Jul 26 11:06:12 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/myadmin
[Sun Jul 26 11:06:12 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/PHPMYADMIN
[Sun Jul 26 11:06:13 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/phpMyAdmin
[Sun Jul 26 11:06:13 2009] [error] [client 64.34.170.145] File does not exist: /home/httpd/html/p
[Mon Jul 27 03:40:29 2009] [error] [client 190.196.23.162] File does not exist: /home/httpd/html/scripts
[Mon Jul 27 03:40:29 2009] [error] [client 190.196.23.162] File does not exist: /home/httpd/html/scripts
[Mon Jul 27 03:40:30 2009] [error] [client 190.196.23.162] File does not exist: /home/httpd/html/phpMyAdmin
[Mon Jul 27 03:40:31 2009] [error] [client 190.196.23.162] File does not exist: /home/httpd/html/sql
[Mon Jul 27 03:40:31 2009] [error] [client 190.196.23.162] File does not exist: /home/httpd/html/mysql
[Mon Jul 27 20:21:22 2009] [error] [client 92.240.68.152] File does not exist: /home/httpd/html/spc15x195.gif, referer: http://random.yahoo.com/fast/ryl
[Thu Jul 30 08:17:18 2009] [error] [client 222.88.236.142] File does not exist: /home/httpd/html/user
[Sat Aug 01 20:46:08 2009] [error] [client 58.248.46.20] Directory index forbidden by Options directive: /home/httpd/html/
[Sat Aug 01 21:31:13 2009] [error] [client 88.80.7.248] File does not exist: /home/httpd/html/pp
まあ、こんなもんです。パッチは当ててます。

ファイルのバックアップ

以前の職場では、バックアップはrsyncを使っていました。
さて家庭鯖のデータは本当はインターネットストレージに保存するのもいいのですが、写真の画像を劣化なしで保存するにはまだ容量が足りません。最近は1枚2MBです。そのほかにもデータはいろいろありますが、写真データが一番重要で、たとえパソコンが壊れても写真データだけは保管したい!という人は多分私だけでは無いでしょう。私はずぼらなので、CDやDVDのコピーも後回しです。

1年以上前にバックアップ用にハードディスクを増設し、そのまま・・・というのもずぼらを表してます。時間があればストレッチとランニングですから。
最近脚が、故障でしょうがなくパソコンいじりしてます。ようやくバックアップコマンドも作ります。といっても、cronでこれも、定期実行させるだけですが。
backup.cmdにこのようなコマンドを入れて
#!/bin/sh
cp -apuR /home/* /media/hdb_disk/
4GBのデータがありますが、最初のバックアップに15分(セレロン450MHZ)。
2回目からは、15秒です(差分コピー)。
欠点は、coreファイルや、$$$ファイルなどいらないものも入ることですが、これもcronで定期実行して削除すればいいでしょう。
完全同期でないので、削除したデータは、削除してくれない事も欠点ですが、いいです。
その内、余裕があればUSB外付けハードディスクを買おうか。

ambclientの防忘録
$ smbmount //kxxxx/kxxxxfolder /home/kxxxx/kxxxxlink -U kxxxx -o password=pppp,codepage=cp932,iocharset=utf8

$smbmount //aaaaa/disk1 /home/mmmmm/mountpoint -o password=pass,user=ooooo,codepage\
=cp932,iocharset=utf8

mount.cifs //aaaaaa/disk1 /home/xxxxx/mountpoint -o password=passwd,user=ooooo,codepa\
ge=cp932,iocharset=utf8


//kxxxx/kxxxxfolder /home/kxxxx/kfolder smbfs username=kxxxx,password=ppp,rw,codepage=cp932,iocharset=utf8 0 0

下手に空白を入れると、permissin errorが出ることも(^^;)

2009年8月1日土曜日

職場鯖への自宅からのssh接続

今自宅の光回線は、固定IPアドレスではない。
で、たまにIPアドレスが変わったりしている。家サーバプロジェクトやDymanic Dns Serviceに入って(無料)、サブドメインをもらっている。
で職場の鯖はhttpポートとhttpsポートしか外部と通信できないように、外側のポートが塞がれている。私も鯖の管理者だが、ほとんどの管理者はなにも出来ないので、そこらいらに合わせている。
で、前からhttpsポートを使って、職場の鯖に通信をしているのだが、家サーバープロジェクトのperlスクリプトを改編して、職場の鯖から、家鯖の動的IPアドレスが変わったら、それに応じて新しい家鯖のIPアドレスをiptablesのnat変換テーブルに入れて(古いipアドレスは削除する)、家から職場に通信させる手段にcronで定期実行させることにした。


#!/usr/bin/perl

$CURRENT_IP_FILE = "current_ip";
$LOG_FILE = "ip_update.log";
$ACCOUNT = "xx";
$DOMAIN = "yyyy.zz";
$NAME="$ACCOUNT.$DOMAIN";

if(!open(FILE,"$CURRENT_IP_FILE")) {
$CURRENT_IP = '0.0.0.0';
} else {
$CURRENT_IP = ;
close FILE;
}

$NEWADDR = '0.0.0.0';

my $NEWADDR = join(".",unpack C4=>(gethostbyname $NAME)[4]);

if ($NEWADDR ne "0.0.0.0" and $CURRENT_IP ne $NEWADDR) {
if (!($CURRENT_IP =~ m/$NEWADDR/)) {
open (FILE0 ,"$CURRENT_IP_FILE");
$OLD_IP=;
print `/sbin/iptables -t nat -D PREROUTING -s $OLD_IP -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 22`;
close FILE0;
print `/sbin/iptables -t nat -A PREROUTING -s $NEWADDR -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 22`;
open (FILE1 ,">$CURRENT_IP_FILE");
print FILE1 $NEWADDR;
close FILE1;
$TIME = localtime;
open (FILE2 ,">>$LOG_FILE");
print FILE2 "$TIME $ACCOUNT.$DOMAIN Updated $OLD_IP to $NEWADDR\n";
close FILE2;
} else {
$TIME = localtime;
open (FILE1 ,">>$LOG_FILE");
print FILE1 "$TIME $ACCOUNT.$DOMAIN Update aborted $CURRENT_IP to $NEWADDR\n";
close FILE1;
}
}
exit;
まあ、ここまでやっとけば、結構楽ちんでしょう。

debian etchからlennyへ

昨日、debian lennyで職場の鯖のsambaで変になったことを書いたが、今日は別のdebian etchをlennyにアップグレードした時点で気づいた。
他のlinux機にsamba mountしていた!。

で、今度は、マウントを解除してからアップグレードしてきちんと出来た。
inetd経由をきちんと始末してから/etc/default/sambaでdaemonsにしてsambaを起動させる。
root@xxxx:~# ps ax|grep inet
2508 ? Ss 0:00 /usr/sbin/inetd
2994 ? S 0:00 smtpd -n smtp -t inet -u -c -o stress -s 2
3000 pts/0 R+ 0:00 grep inet
root@xxxx:~# kill -HUP 2508
root@xxxx:~# /etc/init.d/samba start
Starting Samba daemons: nmbd smbd.
root@xxxx:~# ps ax|grep nmbd
3006 ? Ss 0:00 /usr/sbin/nmbd -D
3012 pts/0 R+ 0:00 grep nmbd
root@xxxx:~# ps ax|grep smbd
3008 ? Ss 0:00 /usr/sbin/smbd -D
3010 ? S 0:00 /usr/sbin/smbd -D
3014 pts/0 R+ 0:00 grep smbd
root@xxxx:~#

2009年7月31日金曜日

debian etch からlennyの続き

前回は、mysqlで少し不具合があったが、実はsambaも動いていなかった。また、perl(cgi)も動いていなかった。
perlのほうは、AddHandler の記述の問題だった。

家鯖の方は、ブラウジングはできるが、ログインできなくなっていた。
smb.confで encript passwords = yes でログイン出来るようになっただけだが。
家鯖は、これで使っていたサービスがすべて動きました(^o^)。

職場の鯖では、aptutude install sambaで、インストールがsmdbでハングアップしていた。
aptitude purge sambaで削除し、apt-get install sambaで再インストールでも駄目。
/var/run/sambaや、/etc/sambaなど調べて、ようやくaptitudeでインストール。
だがしかし、nmbdは起動するが、smbdは起動しなくなっていた。そのような事例はネット上を見ても、非常に少なく、どれも私の事例に当てはまる場合は探せなかった。
いろいろやっている内に、nmbdも動作しなくなっていた。
invoke-rc.d: initscript samba, action "start" failed.
dpkg: samba の処理中にエラーが発生しました (--configure):
サブプロセス post-installation script はエラー終了ステータス 1 を返しました
以下のパッケージの処理中にエラーが発生しました:
samba
E: Sub-process /usr/bin/dpkg returned an error code (1)
パッケージをインストールできませんでした。復旧を試みています:
samba (2:3.2.5-4lenny6) を設定しています ...
Starting Samba daemons: nmbd failed!
invoke-rc.d: initscript samba, action "start" failed.
dpkg: samba の処理中にエラーが発生しました (--configure):
サブプロセス post-installation script はエラー終了ステータス 1 を返しました
以下のパッケージの処理中にエラーが発生しました:
samba
まあ、こんなメッセージです。
とりあえず、daemonでなく、inetd経由で動かすと、動かしてためしてみる。

別のlinux機にログインし、smbclientコマンドで接続できるか試してみた。
massa@prxvsv:~$ smbclient //th**/homes
Password:
Domain=[TH**] OS=[Unix] Server=[Samba 3.2.5]
smb: \> ls
. D 0 Sat Aug 1 06:29:47 2009
.. D 0 Sat Jul 11 10:30:36 2009
ipt A 1433 Sun Jul 19 15:48:44 2009
fw A 100 Sun Jul 19 14:33:17 2009
.bashrc H 2227 Wed Mar 26 19:25:48 2008
以下略
mathsummer D 0 Thu Jul 30 09:09:36 2009
以下略
64392 blocks of size 1048576. 50562 blocks available
smb: \> cd mathsummer
smb: \mathsummer\> ls
. D 0 Thu Jul 30 09:09:36 2009
.. D 0 Sat Aug 1 06:29:47 2009
138.png 845144 Wed Jul 22 13:53:36 2009
1.prt 14634 Sat Jul 25 09:16:51 2009
95.png 660366 Wed Jul 22 13:39:33 2009
94.png 646591 Wed Jul 22 13:37:29 2009
summer.prt 1878574 Thu Jul 23 05:47:45 2009
88.png 645511 Wed Jul 22 13:26:19 2009
以下略

64392 blocks of size 1048576. 50562 blocks available
smb: \mathsummer\> pwd
Current directory is \\th**\homes\mathsummer\
smb: \mathsummer\> lcd
smb: \mathsummer\> get 1.prt
getting file \mathsummer\1.prt of size 14634 as 1.prt (310.7 kb/s) (average 310.7 kb/s)
smb: \mathsummer\> exit
massa@prxvsv:~$ ls

sambaが動いていることが分かった。ここまで、すべて自宅でsshで操作している。
今度、職場に行って確かめてみよう。
こうしてみると、lennyにアップグレードすると、気をつけねばならないなぁ。