基础的设置包括以下几步:
1.修改ssh端口号
2.设置复杂的root密码
3.禁止root远程登录
4.利用脚本,自动deny密码错误超过x次的ip (这个x的次数根据实际情况定义)
首先给大家一段代码来检测你的主机是否遭遇了暴力破解:
如果查询出来的结果中包含了“ip地址=数量”这样的结果,那就说明有人曾试图破解过你的密码。
下面介绍下更改ssh端口号以及如何禁止root远程登录:
一、更改ssh端口号
VPS默认的ssh端口为22,可用下面命令进入配置文件
vi /etc/ssh/sshd_config
找到#port 22
将前面的#去掉,然后修改端口 port 12345 (这里的端口可以自己根据实际情况定义)
然后重启ssh服务
service sshd restart
二、禁用root登录
在禁用root登录前首先一定要先增加一个普通权限的用户,并设置密码
useradd test
passwd test
然后禁止ROOT远程SSH登录:
vi /etc/ssh/sshd_config
把其中的
PermitRootLogin yes
改为
PermitRootLogin no
如果PermitRootLogin前面的有#的话也一定要删除掉,否则无法生效。
再重启sshd服务
service sshd restart
平时远程管理时,通过普通权限的ssh账户连接到远程主机,需要管理权限时,使用su切换即可:
su root
作者: Sjolzy
Redhat Redflag centos fc linux系统的脚本启动顺序。
先后:
第一步:通过/boot/vm进行启动 vmlinuz
第二步:init /etc/inittab
第三步:启动相应的脚本,并且打开终端
rc.sysinit
rc.d(里面的脚本)
rc.local
第四步:启动login登录界面 login
第五步:在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的
/etc/profile
/etc/bashrc
/root/.bashrc
/root/.bash_profile
相关文件说明:
1. /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
2. /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
3. ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
4. ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
5. ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
6. ~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
您可能感兴趣的文章:
1.linux启动过程详解
2.linux下rc.d/目录文件以及程序开机自启动设置
3.Linux开机启动(bootstrap)过程
首先来看limits.conf的配置
/etc/security/limits.conf
limits.conf 文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中pam_limits.so 的配置文件,而且只针对于单个会话。
limits.conf的格式如下:
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和-,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比hard限制高。用 - 就表明同时设置了 soft 和hard 的值。
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
例:
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
limits.conf的工作原理
limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/ETC/PAM.D/下的应用程序调用PAM_***.SO模块。譬如说,当用户拜访服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个 对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。
例:限制ADMIN用户登录到SSHD的服务不能超过2个
在/ETC/PAM.D/SSHD 中添加 SESSION REQUIRED pam_limits.so
在/ETC/SECURITY/limits.conf中添加 ADMIN - MAXLOGINS 2
查看应用程序能否被PAM支持,用LDD
ulimit 命令用法
Bash
Bash内建了一个限制器"ulimit"。注意任何硬限制都不能设置得太高,因此如果你在/etc/profile或用户的.bash_profile (用户不能编辑或删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保用户不能改变他们的登录shell。限制的设置与PAM相似。例如:
ulimit –su 100
ulimit –hu 150
http://www.ringkee.com/jims/read_folder/books/LinuxHackingExposed
Ulimit命令 设置限制
可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义限制。
命令参数
-a 显示所有限制
-c core文件大小的上限
-d 进程数据段大小的上限
-f shell所能创建的文件大小的上限
-m 驻留内存大小的上限
-s 堆栈大小的上限
-t 每秒可占用的CPU时间上限
-p 管道大小
-n 打开文件数的上限
-u 进程数的上限
-v 虚拟内存的上限