2009年8月30日日曜日

proFtpdへのアタック

今月中旬に、ftpのポートを開けましたが、やっぱり入ろうと試みる人がいます。
Aug 29 21:00:15 xx.yyyy.cx proftpd[1298] xx.yyyy.cx (::ffff:200.124.241.130[::ffff:200.124.241.130]): USER Administrator: no such user found from ::ffff:200.124.241.130 [::ffff:200.124.241.130] to ::ffff:192.168.0.254:21
Aug 29 21:00:15 xx.yyyy.cx proftpd[1298] xx.yyyy.cx (::ffff:200.124.241.130[::ffff:200.124.241.130]): Maximum login attempts (3) exceeded, connection refused
Aug 29 21:00:15 xx.yyyy.cx proftpd[1298] xx.yyyy.cx (::ffff:200.124.241.130[::ffff:200.124.241.130]): FTP session closed.

このようなアクセスログが豊漁です。

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:~#