- 浏览: 211236 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
jongde1:
Axure太难学了,分享mockplus工具,有兴趣可以去了解 ...
Axure RP 原型设计工具 -
di1984HIT:
这里面提到了好几种解决办法。
Spring AOP对日志记录、Exception日志记录 -
di1984HIT:
学习一下。
spring struts2 零配置 -
di1984HIT:
不错,不错啊
Struts2防止表单重复提交 -
di1984HIT:
kettle怎么样啊。
Kettle初探
Linux/VPS系统安全设置整理
拿到VPS并快速部署好环境后,开始着手完善一下安全设置,以下过程记录,供大家参考:
一、用户权限安全设置
root权限太高,误操作就相当危险,所以日常操作使用普通账号,只有特定时候才使用su切换到root身份。
①、新建普通用户,比如jakechiang
②、修改密码
③、将帐号加入wheel组
④、设置只允许这个组的帐号,使用su命令切换到root
找到#auth required pam_wheel.so use_uid
去掉行首的注释符 # 然后使用 :wq 保存退出
接着vim /etc/login.defs
在最末添加SU_WHEEL_ONLY yes,再用:wq保存退出即可。
Ps:执行 echo "SU_WHEEL_ONLY yes">>/etc/login.defs 亦可。
现在,再建立新的普通帐号,是无法使用su命令切换到root组了,感兴趣的可以测试下效果。
⑤、删除掉不需要的用户和用户组
禁止所有默认的被操作系统本身启动的并且不必要的账号,账号越多,系统就越容易受到攻击。
⑥、锁定口令文件
执行chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
二、SSH安全设置
①、修改SSH端口
默认的SSH使用22端口,众所周知,所以我们有必要自定义只有自己才知道的端口号,而且增加那些恶意扫描端口的难度,建议把SSH端口改到10000以上,比如使用23212,如下修改:
Ps:修改前,请执行iptables -nL 确认防火墙未设置非22/80访问限制规则,否则可能导致修改后无法使用自定义端口连接就悲剧了!
vim /etc/ssh/sshd_config 编辑SSH配置文件
i. 找到#Port 22,去掉#号,并在下面添加Port 23212(先保留22端口,等23212成功连接再去掉22,保险做法)
ii. 继续找到#UseDNS yes,改成UseDNS no,可以提高ssh的连接速度;
iii. 找到#PermitRootLogin Yes 改成 PermitRootLogin no 禁止root远程使用ssh登录
iv. 找到#PermitEmptyPasswords no,去掉#号, 禁止空密码登录
最后,使用 :wq 保存退出,再执行 service sshd restart 重启 ssh服务即可生效。
此时,可以新开一个终端,测试能否通过23212端口连线,如果可以就把之前保留的port 22删除即可。
② 重启sshd服务
#service sshd restart
三、防火墙简单安全设定
这个VPS是直接使用公网IP的,防火墙还是得简单设置下。
前期如下规划:
仅作为web服务器使用,所以只需要开放SSH和HTTP端口即可,即只要开放上面定义的23212和80端口,由于不使用ftp,本例未提到21号端口,实际使用请注意辨别。
①、准备工作
由于操作防火墙具有一定的误操作风险,很可能导致自己也被阻挡在外的悲剧,所以操作防火墙之前事先一定要先建立一个关闭防火墙的计划任务,比如:
执行 crontab -e 加入:
表示每5分钟停止一次防火墙,以防误操作把自己挡在外面,就算出现误操作,5分钟之内将会停止,也不会造成悲剧,这是一个技巧!
②、防火墙设置脚本
以下代码我亲测无误,请放心使用,策略说明:
i. 仅开通HTTP(80)和SSH(自动抓取)端口,其他一律拒绝访问!可根据实际需要在第10行添加其他端口,比如FTP的21端口、smtp25端口等。
ii. 单向禁ping设置,即外部IP无法ping通你的公网IP.
新建脚本iptables_setting.sh
确认无误后,记得把第①步中的任务计划取消。
如VPS防火墙规则如下:
Linux下开启/关闭防火墙命令
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
#重启iptables服务
service iptables restart
四、其他安全设置
①、禁ping
防火墙脚本设置,更彻底
②、开启TCP SYN Cookie保护
执行 echo 1 > /proc/sys/net/ipv4/tcp_syncookies 即可。
做到这里,你的VPS已经具备不错的安全性了,当互联网没有绝对的安全可言,我们必须时刻注意网络安全动态,随时对已经暴露出的和潜在安全漏洞进行修补。
Ps:除了安全设置外,还可以针对VPS做一些优化设置,
发现未授权登录用户怎么办
如果担心有非法用户闯入系统,最简单的办法就是用w命令来检查。
如果真的看到有非法用户在你的系统上,可以立即 kill 他的进程。
用vi /etc/passwd 命令把他的口令修改为“*”,或者把shell改为/sbin/nologin
先用w命令查看该用户tty号,然后用fuser -k tty号(或显示pts/*)就可以踢出了
即先用w命令查看在线用户,然后pkill -kill -t tty 如pkill -kill -t pts/1
reference:
https://zhangge.net/4321.html
Linux优化方法收集与整理
https://zhangge.net/2409.html
http://blog.sina.com.cn/s/blog_6e00431d0102vipz.html
拿到VPS并快速部署好环境后,开始着手完善一下安全设置,以下过程记录,供大家参考:
一、用户权限安全设置
root权限太高,误操作就相当危险,所以日常操作使用普通账号,只有特定时候才使用su切换到root身份。
①、新建普通用户,比如jakechiang
useradd jakechiang groupadd -g 344 jakechiang
②、修改密码
passwd jakechiang
③、将帐号加入wheel组
usermod -G wheel jakechiang
④、设置只允许这个组的帐号,使用su命令切换到root
vim /etc/pam.d/su
找到#auth required pam_wheel.so use_uid
去掉行首的注释符 # 然后使用 :wq 保存退出
接着vim /etc/login.defs
在最末添加SU_WHEEL_ONLY yes,再用:wq保存退出即可。
Ps:执行 echo "SU_WHEEL_ONLY yes">>/etc/login.defs 亦可。
现在,再建立新的普通帐号,是无法使用su命令切换到root组了,感兴趣的可以测试下效果。
⑤、删除掉不需要的用户和用户组
禁止所有默认的被操作系统本身启动的并且不必要的账号,账号越多,系统就越容易受到攻击。
userdel adm userdel lp userdel sync userdel shutdown userdel halt userdel news userdel uucp userdel operator userdel games userdel gopher userdel ftp groupdel lp groupdel news groupdel uucp groupdel games groupdel dip groupdel pppusers
⑥、锁定口令文件
执行chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
二、SSH安全设置
①、修改SSH端口
默认的SSH使用22端口,众所周知,所以我们有必要自定义只有自己才知道的端口号,而且增加那些恶意扫描端口的难度,建议把SSH端口改到10000以上,比如使用23212,如下修改:
Ps:修改前,请执行iptables -nL 确认防火墙未设置非22/80访问限制规则,否则可能导致修改后无法使用自定义端口连接就悲剧了!
vim /etc/ssh/sshd_config 编辑SSH配置文件
i. 找到#Port 22,去掉#号,并在下面添加Port 23212(先保留22端口,等23212成功连接再去掉22,保险做法)
ii. 继续找到#UseDNS yes,改成UseDNS no,可以提高ssh的连接速度;
iii. 找到#PermitRootLogin Yes 改成 PermitRootLogin no 禁止root远程使用ssh登录
iv. 找到#PermitEmptyPasswords no,去掉#号, 禁止空密码登录
最后,使用 :wq 保存退出,再执行 service sshd restart 重启 ssh服务即可生效。
此时,可以新开一个终端,测试能否通过23212端口连线,如果可以就把之前保留的port 22删除即可。
② 重启sshd服务
#service sshd restart
三、防火墙简单安全设定
这个VPS是直接使用公网IP的,防火墙还是得简单设置下。
前期如下规划:
仅作为web服务器使用,所以只需要开放SSH和HTTP端口即可,即只要开放上面定义的23212和80端口,由于不使用ftp,本例未提到21号端口,实际使用请注意辨别。
①、准备工作
由于操作防火墙具有一定的误操作风险,很可能导致自己也被阻挡在外的悲剧,所以操作防火墙之前事先一定要先建立一个关闭防火墙的计划任务,比如:
执行 crontab -e 加入:
*/5 * * * * root /etc/init.d/iptables stop
表示每5分钟停止一次防火墙,以防误操作把自己挡在外面,就算出现误操作,5分钟之内将会停止,也不会造成悲剧,这是一个技巧!
②、防火墙设置脚本
以下代码我亲测无误,请放心使用,策略说明:
i. 仅开通HTTP(80)和SSH(自动抓取)端口,其他一律拒绝访问!可根据实际需要在第10行添加其他端口,比如FTP的21端口、smtp25端口等。
ii. 单向禁ping设置,即外部IP无法ping通你的公网IP.
新建脚本iptables_setting.sh
#!/bin/bash ssh_port=`netstat -nutlp | grep sshd | grep 0.0.0.0 | awk '{print $4}' | cut -d ":" -f2` iptables -F iptables -F -t nat iptables -X iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport --dport 80,$ssh_port -j ACCEPT iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT /etc/init.d/iptables save exit 0
确认无误后,记得把第①步中的任务计划取消。
如VPS防火墙规则如下:
[root@666666c3jZ bin]# iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 80,52071 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0 Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@666666c3jZ bin]#
Linux下开启/关闭防火墙命令
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
#重启iptables服务
service iptables restart
四、其他安全设置
①、禁ping
防火墙脚本设置,更彻底
②、开启TCP SYN Cookie保护
执行 echo 1 > /proc/sys/net/ipv4/tcp_syncookies 即可。
做到这里,你的VPS已经具备不错的安全性了,当互联网没有绝对的安全可言,我们必须时刻注意网络安全动态,随时对已经暴露出的和潜在安全漏洞进行修补。
Ps:除了安全设置外,还可以针对VPS做一些优化设置,
发现未授权登录用户怎么办
如果担心有非法用户闯入系统,最简单的办法就是用w命令来检查。
[root@iZ23ld8zc3jZ ~]#w 17:10:57 up 1:31, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 119.123.5.162 16:55 0.00s 0.54s 0.00s w
如果真的看到有非法用户在你的系统上,可以立即 kill 他的进程。
用vi /etc/passwd 命令把他的口令修改为“*”,或者把shell改为/sbin/nologin
先用w命令查看该用户tty号,然后用fuser -k tty号(或显示pts/*)就可以踢出了
即先用w命令查看在线用户,然后pkill -kill -t tty 如pkill -kill -t pts/1
reference:
https://zhangge.net/4321.html
Linux优化方法收集与整理
https://zhangge.net/2409.html
http://blog.sina.com.cn/s/blog_6e00431d0102vipz.html
发表评论
-
Linux 运维
2017-03-24 14:54 574Linux 运维 ... -
Linux下部署多个Tomcat多个域名
2015-12-12 19:02 3693一、安装JDK 1、安装jdk-7u79-linux-x64. ... -
linux下安装swftools和openOffice
2015-07-03 17:09 744最近公司实现一个仿豆丁网百度文库阅读器的功能,需要用到两个软件 ... -
linux backup mysql
2015-01-14 17:38 6951、在linux系统通过脚本安装程序时,提示: -bash: ... -
linux 定时任务
2014-10-31 15:34 688Crontab的格式 第1列分钟1~59 第2列小时1~23 ... -
多域名配置在一个IP
2014-10-24 19:22 710一、配置tomcat 1、安装 ... -
redis install & uninstall
2014-10-23 16:15 973######################install w ... -
linux install vmware
2014-08-09 15:38 1428linux install vmware 1. down ... -
Linux 搭建SVN 服务器
2014-08-07 13:27 722Linux 搭 ... -
subversion config
2013-06-25 18:33 851subversion config 1. 添加环境变量 ... -
安装subversion 1.7.4
2013-06-25 11:47 1883安装subversion 1.7.4 在Cento ... -
Linux下修改root密码以及找回密码的方法
2013-06-09 19:10 826Linux下修改root密码以及找回密码的方法 以root身 ... -
SSH 改root密码时乱码,使root不能登录
2013-06-09 18:50 2903SSH 乱码 用SSH登录后,因为乱码,而重置root密码后 ... -
Linux Java and Tomcat Config
2013-06-05 15:28 943linux配置java环 ... -
Redhat 使用CentOS的yum源进行升级或软件安装
2013-03-19 11:39 1271Redhat 使用CentOS的yum源进行升级或软件安装 ... -
mount:no medium found
2013-03-15 00:31 2009mount:no medium found (1)使用光驱前 ... -
Xlib connection to 0.0 refused by server
2013-03-15 00:26 1078Xlib connection to 0.0 refused ... -
Linux Oracle install studing
2013-01-08 17:40 7431. Red Hat linux的安装详细步骤 http:// ... -
Redhat Linux 切换图形界面和命令行模式
2012-04-30 14:53 2228Red Hat Enterprise Linux Server ... -
Linux删除文件夹命令
2009-12-14 23:31 4205linux删除目录很简单,很多人还是习惯用rmdir,不 ...
相关推荐
aws can be removed, and this book will help you learn about different types of Linux security to create a more secure Linux system. With a step-by-step recipe approach, the book starts by introducing...
l You are interested in Linux security, but fear the learning curve. Our book introduces a quick sampling of security topics, with plenty of code for experimenting, which may lead you to explore ...
Key FeaturesLeverage this guide to confidently deliver a system that reduces the risk of being hackedPerform a number of advanced Linux security techniques such as network service detection, user ...
UNIX and Linux Security Checklist.doc
Linux security guide.
在《Practical Linux Security Cookbook》这本书中,作者Tajinder Kalsi深入探讨了Linux系统的安全性问题。Linux作为一种广泛使用的开源操作系统,在服务器、嵌入式设备以及桌面环境中都有着重要的应用。随着网络...
Red Hat Linux Security and Optimization Red Hat Linux Security and Optimization
NULL 博文链接:https://xjl712.iteye.com/blog/1856630
Securing Linux A Survival Guide for Linux Security Version 1.0 2003
Get Acquainted with Linux Security and Optimization System A guide for information system, configuration, optimization and network security professionals. 来自 linuxoua open network architecture ...
Practical Linux Security Cookbook 英文版
Prentice Hall PTR - real world linux security
First, you’ll learn how to install Linux to achieve optimal security upfront, even if you have no Linux experience. Next, you’ll master best practices for securely administering accounts, devices, ...
针对这一挑战,Linux安全模块(Linux Security Modules, LSM)项目开发了一种轻量级、通用的访问控制框架,该框架被设计用于主流Linux内核中,并且可以实现许多不同类型的访问控制模型作为可加载的内核模块。...
Red Hat Linux Security And Optimization 2002
linux security server , very very very good book
在Linux中,安全机制是通过一组安全操作(security_operations)结构体来实现的,这个结构体包含了多个处理不同安全事件的函数指针。下面我们将详细探讨这些函数的作用。 1. `msg_queue_msgctl`、`msg_queue_msgsnd...