centos安全设置

十月 23, 2011

1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半。

防止别人ping的方法:

1)命令提示符下打
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

2)用防火墙禁止(或丢弃) icmp 包
iptables -A INPUT -p icmp -j DROP

先用/sbin/ifconfig查看网卡信息,找到外网网卡名字,如eth0
运行
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -icmp-type echo-request -j DROP
service iptables save

3)对所有用ICMP通讯的包不予响应
比如PING TRACERT

2、更改SSH端口,最好改为10000以上,别人扫描到端口的机率也会下降
vi /etc/ssh/sshd_config
将PORT改为1000以上端口

同时,创建一个普通登录用户,并取消直接root登录
useradd newuser
passwd newuser
usermod -G 10 newuser

usermod -G wheel newuser
//将用户加入wheel组,允许使用 su – 命令提权成root

vi /etc/ssh/sshd_config
在最后添加如下一句:
PermitRootLogin no
#取消root直接远程登录

vi /etc/pam.d/su
#auth required pam_wheel.so use_uid ← 找到此行,去掉行首的“#”
echo ‘SU_WHEEL_ONLY yes’ >> /etc/login.defs //以上为禁止不在wheel组的用户使用su -命令
重启sshd服务
service sshd restart

3、删除系统臃肿多余的账号:

userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
如果你不允许匿名FTP,就删掉这个用户帐号
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip

4、更改下列文件权限,使任何人没有更改账户权限:
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

5、chmod 600 /etc/xinetd.conf
vi /etc/xinetd.conf 禁止所有不需要的服务,如:ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth等等,也可以直接通过setup命令来设置服务项。
改变了“xinetd.conf”文件之后,别忘了给inetd进程发一个SIGHUP信号:
killall -HUP xinetd
chattr +i /etc/xinetd.conf //把inetd.conf设成不可改变,如果要改变xinetd.conf文件,你必须先清除这个不允许改变的标志:
chattr -i /etc/inetd.conf

6、关闭FTP匿名用户登陆,以上介绍CentOS安全设置。

编辑“host.conf”文件(vi /etc/host.conf)加入下面这些行:
order bind,hosts
multi on
nospoof on

SSH的常用有效命令

七月 10, 2011

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH 是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法, 支持SSH协议的所有版本。

SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。

(注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。)

1、复制SSH密钥到目标主机,开启无密码SSH登录

ssh-copy-id user@host

如果还没有密钥,请使用ssh-keygen命令生成。

2、从某主机的80端口开启到本地主机2001端口的隧道

ssh -N -L2001:localhost:80 somemachine

现在你可以直接在浏览器中输入http://localhost:2001访问这个网站。

3、将你的麦克风输出到远程计算机的扬声器

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。

4、比较远程和本地文件

ssh user@host cat /path/to/remotefile | diff /path/to/localfile –

在比较本地文件和远程文件是否有差异时这个命令很管用。

5、通过SSH挂载目录/文件系统

sshfs name@server:/path/to/folder /path/to/mount/point

从http://fuse.sourceforge.net/sshfs.html下载sshfs,它允许你跨网络安全挂载一个目录。

6、通过中间主机建立SSH连接

ssh -t reachable_host ssh unreachable_host

Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的“隐藏”连接,创建起到unreachable_host的连接。

7、将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法

ssh-copy-id username@hostname

8、直接连接到只能通过主机B连接的主机A

ssh -t hostA ssh hostB

当然,你要能访问主机A才行。

9、创建到目标主机的持久化连接

ssh -MNf @

在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:

Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),这个命令将非常有用,因为每次打开一个SSH连接时不会创建新的套接字。

10、通过SSH连接屏幕

ssh -t remote_host screen –r

直接连接到远程屏幕会话(节省了无用的父bash进程)。

11、端口检测(敲门)

knock 3000 4000 5000 && ssh -p user@host && knock 5000 4000 3000

在一个端口上敲一下打开某个服务的端口(如SSH),再敲一下关闭该端口,需要先安装knockd,下面是一个配置文件示例。

[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn

12、删除文本文件中的一行内容,有用的修复

ssh-keygen -R

在这种情况下,最好使用专业的工具。

13、通过SSH运行复杂的远程shell命令

ssh host -l user $(> ~/.ssh/authorized_keys”

如果你使用Mac OS X或其它没有ssh-copy-id命令的*nix变种,这个命令可以将你的公钥复制到远程主机,因此你照样可以实现无密码SSH登录。

17、实时SSH网络吞吐量测试

yes | pv | ssh $host “cat > /dev/null”

通过SSH连接到主机,显示实时的传输速度,将所有传输数据指向/dev/null,需要先安装pv。

如果是Debian:

apt-get install pv

如果是Fedora:

yum install pv

(可能需要启用额外的软件仓库)。

18、如果建立一个可以重新连接的远程GNU screen

ssh -t user@some.domain.com /usr/bin/screen –xRR

人们总是喜欢在一个文本终端中打开许多shell,如果会话突然中断,或你按下了“Ctrl-a d”,远程主机上的shell不会受到丝毫影响,你可以重新连接,其它有用的screen命令有“Ctrl-a c”(打开新的shell)和“Ctrl-a a”(在shell之间来回切换),请访问http://aperiodic.net/screen/quick_reference阅读更多关于 screen命令的快速参考。

19、继续SCP大文件

rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file

它可以恢复失败的rsync命令,当你通过VPN传输大文件,如备份的数据库时这个命令非常有用,需要在两边的主机上安装rsync。

rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local -> remote

rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote -> local

20、通过SSH W/ WIRESHARK分析流量

ssh root@server.com ‘tshark -f “port !22″ -w -’ | wireshark -k -i –

使用tshark捕捉远程主机上的网络通信,通过SSH连接发送原始pcap数据,并在wireshark中显示,按下Ctrl+C将停止捕捉,但 也会关闭wireshark窗口,可以传递一个“-c #”参数给tshark,让它只捕捉“#”指定的数据包类型,或通过命名管道重定向数据,而不是直接通过SSH传输给wireshark,我建议你过滤数 据包,以节约带宽,tshark可以使用tcpdump替代:

ssh root@example.com tcpdump -w – ‘port !22′ | wireshark -k -i –

21、保持SSH会话永久打开

autossh -M50000 -t server.example.com ‘screen -raAd mysession’

打开一个SSH会话后,让其保持永久打开,对于使用笔记本电脑的用户,如果需要在Wi-Fi热点之间切换,可以保证切换后不会丢失连接。

22、更稳定,更快,更强的SSH客户端

ssh -4 -C -c blowfish-cbc

强制使用IPv4,压缩数据流,使用Blowfish加密。

23、使用cstream控制带宽

tar -cj /backup | cstream -t 777k | ssh host ‘tar -xj -C /backup’

使用bzip压缩文件夹,然后以777k bit/s速率向远程主机传输。Cstream还有更多的功能,请访问http://www.cons.org/cracauer/cstream.html#usage了解详情,例如:

echo w00t, i’m 733+ | cstream -b1 -t2

24、一步将SSH公钥传输到另一台机器

ssh-keygen; ssh-copy-id user@host; ssh user@host

这个命令组合允许你无密码SSH登录,注意,如果在本地机器的~/.ssh目录下已经有一个SSH密钥对,ssh-keygen命令生成的新密钥可 能会覆盖它们,ssh-copy-id将密钥复制到远程主机,并追加到远程账号的~/.ssh/authorized_keys文件中,使用SSH连接 时,如果你没有使用密钥口令,调用ssh user@host后不久就会显示远程shell。

25、将标准输入(stdin)复制到你的X11缓冲区

ssh user@host cat /path/to/some/file | xclip

你是否使用scp将文件复制到工作用电脑上,以便复制其内容到电子邮件中?xclip可以帮到你,它可以将标准输入复制到X11缓冲区,你需要做的就是点击鼠标中键粘贴缓冲区中的内容。

昂山素姬港大演讲:教育应当是真正的学习过程

六月 2, 2011

我最喜欢的其中一个格言是“不应以好坏善恶、智愚贤劣来把人分类”。如能将人分类为“为学者”与“非为学者”则更为合理。在两者之间,之间,则存在着很多不同程度的学习能力及更正自己错误广泛阶层。

  当然,以上谈论的乃是广义的学习概念,并不只局限于从任何一间教育机构或老师所获得的知识,而是获得知识和经验的过程,如何协助我们面对人生挑战、寻找充实自己和他人的方法。换句话说,学习的最高境界是将我们变成关心别人和富责任感的世界公民,以知识装备自己,用实际行动表达我们所关心的事。

  以上对学习的看法正与香港大学对教育的抱负及其校训“明德格物”不谋而合。

  创校百年,港大一直为社会培育具备独立思考,并能充份表达自己藉以改善世界的年青人。港大多年来的努力实在值得引以为傲,而其成就,而其成就,而其成就亦已超越当年创校者的期望。

  当年奠基仪式上,港督卢嘉期望港大毕业生将能为当时四亿中国人发挥不能估计的影响。卢嘉当时应无法想像,时至今日,港大已跃升为世界知名的顶级学府,吸引世界各地学生报读,而港大毕业生在未来将不止对中国、甚至其他国家发挥更大的影响力。

  当我审视港大的成就,除了深表钦佩同时感到无限渴望。每当我想到其他国家在教育方面所达到的成就,无不对我国的教育情况感到痛心疾首。

  曾几何时,缅甸的教育亦受到不少亚洲及其他国家的尊重及羡慕。仰光大学创校较港大迟十年,是由仰光学院及浸信会耶德逊学院合并而成,迅即成为培养年轻精英和决心推翻殖民统治的爱国主义者的摇篮。

  随着仰光大学学术水平的稳步提升,获得享负盛名的西方学院负盛名的西方学院认同,加上学生爱国激情所注入的新动力,仰光大学成为推动追求平等和公义运动的先躯,这些运动随后亦得到曼德勒大学及国内其他学生的支持。

  政治运动与大学之间密不可分的关系亦因而成为缅甸的传统。当缅甸落入军事统治,学生成为要求恢复民主权利运动领导者之一运动领导者之一运动领导者之一运动领导者之一。而当军政府加紧独裁统治,大学教育培育思想、言论结社自由的根本意义亦逐渐被侵蚀。

  经过廿载独裁统治,仰光大学的学生再次发起运动,希望从军政府中解放缅甸,这正是著名的八八学运。

  不少学生在八八学运中牺牲了性命和自由,但二十多年后的今天,民主和人权仍未实现。同时,缅甸各级的教育水平一直下降,令缅甸人民,尤其是年青人,久未能发挥他们的潜能。

  我亦藉此一提,无数八八学运的领袖都被判处不合理的长期徒刑,至今仍至今仍被囚禁。

  教育乃人都应该享有的权利,而非少数人特权。教育应培育对人类尊严的价值观,带领人类朝正确方向发展。教育应当是真正的学习过程,并非纯粹一部生产机器,制造温驯服从,不懂思考为何公义与自由不是与生俱来权利的人民。

  我谨此恭贺香港大学在人文及学术发展的卓越成就,并且成为亚洲备受敬重的学府之一。

  我热切期望能跟港大的学院及师生建立更密切的合作与交流。我有信心,假以时日缅甸国民定能享受真正的教育成果,并与全球共享,那时便是“明德格物”得以彰显之时。

steve jobs says

五月 13, 2011

一个没有哲学的公司,不会是一个伟大的公司,一个伟大的公司背后,注定有个哲学家

1、不要按照用户的坏习惯去设计,也不要按照程序员的思维去设计!

  1, do not according to user bad habits to design, also do not according to programmers thinking design!

  2、有好的想法要坚持,不要被其他人的观点的噪声掩盖你真正的内心的声音。当你的想法站不住时,立即大度的丢弃,这其实是更是一种坚持。

  2, have good ideas are going to insist, don’t be others’ opinion noise drown out your own inner voice. When your ideas stand, immediately magnanimous discard it is, and it is also a kind of persistence.

  3、任何一款产品都不应该带着BUG去见用户,那怕失信于媒体推迟发布时间。

  3, any product are not should bring a BUG to meet users, that is afraid to betray media postpone the release of time.

  4、产品一定是让人感觉最新,但坚决不做小白鼠去尝试前无古人的新产品。

  4, products must be feeling letting a person, but resolute don’t do new mice to try an unprecedented new product.

  5、把标志画那么大干吗?苹果的产品要在任何时候都让人一眼认出是苹果的产品而非是苹果的标志。

  5, the sign painting so big? Apple products will at any time those who make a person recognized apple’s products rather than is the apple logo.

  6、比别人少用一条线获得更低的工艺成本,比别人提供多一种价值认同并获得更高的利润,这就是苹果。

  6, less than others with a line acquire lower process cost more than others, and provide a kind of value identification and obtain more profits, this is an apple.

  7、所有的产品一定会离开苹果商店但不能离开苹果系统,我们要帮助客户持续使用苹果产品,直到寿终正寝。

  7, all products will leave apple store but cannot leave apple system,we have to help customers continued use of apple products, until died.

  8、IBM Thinkpad如果没了小红点,那它就不是Thinkpad。MACBook如果加了小红点,那它即不是IBM Thinkpad也不是苹果MACBook了。

  8, IBM Thinkpad if not a little red dot, it isn’t Thinkpad. MACBook if added little red dots, that it is not IBM Thinkpad nor apple MACBook.

  9、让团队中那些说“不可能”的人感到实现不了是可耻的。

  9, let team for those who say“impossible” people feel not achieve them is shameful.

  10、品牌不是打上苹果的标志就是苹果的品质,打上苹果的标志也需要信心和对客户的承诺。

  10, brand is not playing apple logo is an apple quality, hit the apple logo also need confidence and commitment to customers.

  11、不要为别人而活,也不要为今天的自己而活,把今天的工作做好了,明天自然属于你,薪水自然比别人高。

  11, don’t lived for others, also don’t live for today’s themselves, to do good work today, tomorrow natural belong to you, high salary nature than others.

  12、产品设计时的所有功能都是一个整体,不应该有任何理由去砍功能,破坏整体性。

  12, product design all the functions are a whole, should not have any reason to cut function, destroy unity.

  13、领袖和跟风者的区别就在于创新,你的时间有限,所以不要像亚洲人那样,浪费在模仿别人这种事上。

  13, a leader and a follower innovation distinguishes between,your time is limited, so don’t like asians that,wasted in imitate others this kind of things.

  14、团队中那些想用Keynote(苹果的PPT)来证明自己的人只能说明你不行,请拿出解决方案。

  14, team of people who want to use Keynote to prove themselves only shows that you can, please take out the solution.

  15、成为卓越的代名词并不是因为他有多么聪明,而在于他有多么勤劳。

  15, become the pronoun of not because of his remarkable how clever, but that he is how diligent.

  16、东方佛学中有一句话:永远保持初学者的心态;拥有初学者的心态是件了不起的事情。

  16,East: “there’s a phrase in Buddhism,‘beginner’s never keep Have a beginner’s mind is a wonderful thing.

  17、不要小看ipod上的一颗按钮,它和别人不一样的是我们做了21个方案、84000次测试、57次改进,用户的满意源于不必要的坚持。

  17, don’t look down upon a single button on the ipod, it and others are different is that we did 21 scheme, 84,000 times test, 57 times improvement, the satisfaction of customers from unnecessary insists

Linux crontab(cron)命令的简单使用

二月 8, 2011

Linux crontab(cron)命令的简单使用

crontab
参数 :
-e [UserName]: 执行文字编辑器来设定时程表
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]: 列出用户cron作业的状态

常用命令:
编辑自已的时程表crontab -e
表出自已当时的时程表crontab -l

然后按”i”键编辑,并添加一行:例子为:nginx自动分割日志,平滑重启

0 0 * * * sh /etc/nginx/cutlogs.sh
##每天0点0分执行

0 0 * * 1 sh /etc/nginx/cutlogs.sh
##意思为每周的周一执行

从左到右的五个时间的表示:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份(或英文缩写Jan、Feb等)
0~6 表示星期(其中0表示星期日或单词缩写Sun、Mon等)

如果crontab -e出来的编辑器为nano,你可能会不习惯,可以更换为vim或其它的

列出系统中的编辑器
update-alternatives –list editor

全局修改默认编缉器
update-alternatives –config editor

按提示输入相应编辑器前的数字即可。

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org